From 810970b016443c0ba0c4e81430f2465a67f388f3 Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Tue, 3 Sep 2024 12:43:49 -0400 Subject: [PATCH 01/32] fix: Fixed an issue where `410 Gone` redirects returned a generic browser error rather than a custom-defined Craft template ([#11](https://github.com/nystudio107/craft-retour/issues/311)) --- src/services/Redirects.php | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/services/Redirects.php b/src/services/Redirects.php index 100dad03..6fb943f3 100644 --- a/src/services/Redirects.php +++ b/src/services/Redirects.php @@ -864,6 +864,18 @@ public function doRedirect(string $fullUrl, string $pathOnly, ?array $redirect): ); // Increment the stats Retour::$plugin->statistics->incrementStatistics($url, true); + // Sanitize the URL + $dest = UrlHelper::sanitizeUrl($dest); + // Optionally set the no-cache headers + if (Retour::$settings->setNoCacheHeaders && $response instanceof WebResponse) { + $response->setNoCacheHeaders(); + } + // Add any additional headers (existing ones will be replaced) + if (!empty(Retour::$settings->additionalHeaders)) { + foreach (Retour::$settings->additionalHeaders as $additionalHeader) { + $response->headers->set($additionalHeader['name'], $additionalHeader['value']); + } + } // Handle a Retour return status > 400 to render the actual error template if ($status >= 400) { Retour::$currentException->statusCode = $status; @@ -871,24 +883,14 @@ public function doRedirect(string $fullUrl, string $pathOnly, ?array $redirect): $errorHandler->exception = Retour::$currentException; try { $response = Craft::$app->runAction('templates/render-error'); + $response->setStatusCode($status); + $response->send(); } catch (InvalidRouteException $e) { Craft::error($e->getMessage(), __METHOD__); } catch (\yii\console\Exception $e) { Craft::error($e->getMessage(), __METHOD__); } } - // Sanitize the URL - $dest = UrlHelper::sanitizeUrl($dest); - // Optionally set the no-cache headers - if (Retour::$settings->setNoCacheHeaders && $response instanceof WebResponse) { - $response->setNoCacheHeaders(); - } - // Add any additional headers (existing ones will be replaced) - if (!empty(Retour::$settings->additionalHeaders)) { - foreach (Retour::$settings->additionalHeaders as $additionalHeader) { - $response->headers->set($additionalHeader['name'], $additionalHeader['value']); - } - } // Redirect the request away; $response->redirect($dest, $status)->send(); try { From 5ef81a9247505d1f891c35a8d584853ce39fd707 Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Tue, 3 Sep 2024 12:44:38 -0400 Subject: [PATCH 02/32] chore: Version 5.0.4 --- CHANGELOG.md | 4 ++++ composer.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6429397b..e0f82da6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Retour Changelog +## 5.0.4 - UNRELEASED +### Fixed +* Fixed an issue where `410 Gone` redirects returned a generic browser error rather than a custom-defined Craft template ([#11](https://github.com/nystudio107/craft-retour/issues/311)) + ## 5.0.3 - 2024.08.19 ### Fixed * Fixed an issue where the "File Not Found URL" link could be wrong when clicked on in some multi-site setups ([#310](https://github.com/nystudio107/craft-retour/issues/310)) diff --git a/composer.json b/composer.json index c44cfe54..9b948229 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "nystudio107/craft-retour", "description": "Retour allows you to intelligently redirect legacy URLs, so that you don't lose SEO value when rebuilding & restructuring a website", "type": "craft-plugin", - "version": "5.0.3", + "version": "5.0.4", "keywords": [ "craftcms", "craft-plugin", From 06395ece1dd1a53025fe35633ef1852b89024cda Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Tue, 10 Sep 2024 16:35:08 -0400 Subject: [PATCH 03/32] fix: Fixed an issue where an exception could be thrown if a Site had no `baseUrl` defined --- src/helpers/UrlHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/UrlHelper.php b/src/helpers/UrlHelper.php index 3f03a17c..9b8c9bfe 100644 --- a/src/helpers/UrlHelper.php +++ b/src/helpers/UrlHelper.php @@ -51,7 +51,7 @@ public static function combineQueryStringsFromUrls(...$urls): string * @param string $path * @return string */ - public static function mergeUrlWithPath(string $url, string $path): string + public static function mergeUrlWithPath(string $url = '', string $path = ''): string { $overlap = 0; $urlOffset = strlen($url); From 87840e49ff890da8858eae181e1369970485ab4d Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Tue, 10 Sep 2024 16:35:53 -0400 Subject: [PATCH 04/32] chore: Version 5.0.4 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0f82da6..3162a495 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## 5.0.4 - UNRELEASED ### Fixed * Fixed an issue where `410 Gone` redirects returned a generic browser error rather than a custom-defined Craft template ([#11](https://github.com/nystudio107/craft-retour/issues/311)) +* Fixed an issue where an exception could be thrown if a Site had no `baseUrl` defined ## 5.0.3 - 2024.08.19 ### Fixed From 928b05fa429d966fafdfa335e5a409499cc49569 Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Thu, 12 Sep 2024 14:33:36 -0400 Subject: [PATCH 05/32] refactor: Retour now strips site path prefixes from incoming 404 URL paths, such that redirects will work as expected (any Site sub-path prefix is ignored) ([#288](https://github.com/nystudio107/craft-retour/issues/288)) --- src/helpers/UrlHelper.php | 38 +++++++++++++++++++++++++++++++++++--- src/services/Redirects.php | 8 +++++--- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/helpers/UrlHelper.php b/src/helpers/UrlHelper.php index 9b8c9bfe..771b5638 100644 --- a/src/helpers/UrlHelper.php +++ b/src/helpers/UrlHelper.php @@ -11,6 +11,7 @@ namespace nystudio107\retour\helpers; +use craft\errors\SiteNotFoundException; use craft\helpers\UrlHelper as CraftUrlHelper; /** @@ -45,15 +46,46 @@ public static function combineQueryStringsFromUrls(...$urls): string } /** - * Merge the $url and $path together, combining any overlapping path segments + * Strip out any site-defined sub-path from the incoming $path + * e.g. if the Site's baseUrl is set to https://example.com/es and $path is /es/blog + * this function will return /blog * - * @param string $url * @param string $path * @return string */ - public static function mergeUrlWithPath(string $url = '', string $path = ''): string + public static function stripSitePathPrefix(string $path): string + { + try { + $baseSiteUrl = self::baseSiteUrl(); + } catch (SiteNotFoundException $e) { + $baseSiteUrl = ''; + } + $sitePath = parse_url($baseSiteUrl, PHP_URL_PATH); + if (!empty($sitePath)) { + // Normalizes a URI path by trimming leading/ trailing slashes and removing double slashes + $sitePath = '/' . preg_replace('/\/\/+/', '/', trim($sitePath, '/')); + } + // Strip the $sitePath from the incoming $path + if (str_starts_with($path, $sitePath)) { + $path = substr($path, strlen($sitePath)); + $path = '/' . preg_replace('/\/\/+/', '/', trim($path, '/')); + } + + return $path; + } + + /** + * Merge the $url and $path together, combining any overlapping path segments + * + * @param ?string $url + * @param ?string $path + * @return string + */ + public static function mergeUrlWithPath(?string $url, ?string $path): string { $overlap = 0; + $url = $url ?? ''; + $path = $path ?? ''; $urlOffset = strlen($url); $pathLength = strlen($path); $pathOffset = 0; diff --git a/src/services/Redirects.php b/src/services/Redirects.php index 6fb943f3..1e9cd21a 100644 --- a/src/services/Redirects.php +++ b/src/services/Redirects.php @@ -221,13 +221,15 @@ public function handle404(): void $pathOnly = ''; $fullUrl = ''; } + // Stash the $pathOnly for use when incrementing the statistics + $originalPathOnly = $pathOnly; + // Strip out any site-defined baseUrl path prefixes + $pathOnly = UrlHelper::stripSitePathPrefix($pathOnly); // Strip the query string if `alwaysStripQueryString` is set if (Retour::$settings->alwaysStripQueryString) { $fullUrl = UrlHelper::stripQueryString($fullUrl); $pathOnly = UrlHelper::stripQueryString($pathOnly); } - // Stash the $pathOnly for use when incrementing the statistics - $originalPathOnly = $pathOnly; Craft::info( Craft::t( 'retour', @@ -826,7 +828,7 @@ public function doRedirect(string $fullUrl, string $pathOnly, ?array $redirect): } $dest = $redirect['redirectDestUrl']; // If this isn't a full URL, make it one based on the appropriate site - if (!UrlHelper::isFullUrl($dest)) { + if (!UrlHelper::isAbsoluteUrl($dest)) { try { $siteId = $redirect['siteId'] ?? null; if ($siteId !== null) { From 801df2d427afed01d343b1998fd94ca05a41181b Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Thu, 12 Sep 2024 14:34:17 -0400 Subject: [PATCH 06/32] chore: Version 4.1.20 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3162a495..112b2a83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # Retour Changelog ## 5.0.4 - UNRELEASED +### Changed +* Retour now strips site path prefixes from incoming 404 URL paths, such that redirects will work as expected (any Site sub-path prefix is ignored) ([#288](https://github.com/nystudio107/craft-retour/issues/288)) + ### Fixed * Fixed an issue where `410 Gone` redirects returned a generic browser error rather than a custom-defined Craft template ([#11](https://github.com/nystudio107/craft-retour/issues/311)) * Fixed an issue where an exception could be thrown if a Site had no `baseUrl` defined From 84afc7af78564a13b8eb02a4e7ddcc01c74a978b Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Thu, 12 Sep 2024 14:43:39 -0400 Subject: [PATCH 07/32] refactor: Check for absolute URLs, not full URLs --- src/services/Redirects.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/Redirects.php b/src/services/Redirects.php index 1e9cd21a..62c8186e 100644 --- a/src/services/Redirects.php +++ b/src/services/Redirects.php @@ -827,7 +827,7 @@ public function doRedirect(string $fullUrl, string $pathOnly, ?array $redirect): break; } $dest = $redirect['redirectDestUrl']; - // If this isn't a full URL, make it one based on the appropriate site + // If this isn't an absolute URL, make it one based on the appropriate site if (!UrlHelper::isAbsoluteUrl($dest)) { try { $siteId = $redirect['siteId'] ?? null; From adc650e1c32c45851406ece458ff381e2d399760 Mon Sep 17 00:00:00 2001 From: Andrew Welch Date: Thu, 12 Sep 2024 14:44:18 -0400 Subject: [PATCH 08/32] chore: Updated deps --- buildchain/package-lock.json | 280 ++--- docs/package-lock.json | 975 ++++++++++++++---- ...oard-arO7X85D.js => dashboard--4c4omta.js} | 4 +- .../dist/assets/dashboard--4c4omta.js.gz | Bin 0 -> 5779 bytes ...7X85D.js.map => dashboard--4c4omta.js.map} | 2 +- .../dist/assets/dashboard--4c4omta.js.map.gz | Bin 0 -> 10065 bytes .../dist/assets/dashboard-arO7X85D.js.gz | Bin 5782 -> 0 bytes .../dist/assets/dashboard-arO7X85D.js.map.gz | Bin 10067 -> 0 bytes .../dist/assets/vue-apexcharts-Bqp5DSZb.js | 801 -------------- .../dist/assets/vue-apexcharts-Bqp5DSZb.js.gz | Bin 154383 -> 0 bytes .../assets/vue-apexcharts-Bqp5DSZb.js.map | 1 - .../assets/vue-apexcharts-Bqp5DSZb.js.map.gz | Bin 296613 -> 0 bytes .../dist/assets/vue-apexcharts-Nop2JhTm.js | 801 ++++++++++++++ .../dist/assets/vue-apexcharts-Nop2JhTm.js.gz | Bin 0 -> 155441 bytes .../assets/vue-apexcharts-Nop2JhTm.js.map | 1 + .../assets/vue-apexcharts-Nop2JhTm.js.map.gz | Bin 0 -> 298643 bytes ...{widget-DNFe3Srq.js => widget-B0Swf_04.js} | 4 +- .../assets/dist/assets/widget-B0Swf_04.js.gz | Bin 0 -> 667 bytes ...DNFe3Srq.js.map => widget-B0Swf_04.js.map} | 2 +- .../dist/assets/widget-B0Swf_04.js.map.gz | Bin 0 -> 1403 bytes .../assets/dist/assets/widget-DNFe3Srq.js.gz | Bin 668 -> 0 bytes .../dist/assets/widget-DNFe3Srq.js.map.gz | Bin 1403 -> 0 bytes src/web/assets/dist/manifest.json | 12 +- src/web/assets/dist/manifest.json.gz | Bin 493 -> 495 bytes src/web/assets/dist/stats.html | 2 +- 25 files changed, 1701 insertions(+), 1184 deletions(-) rename src/web/assets/dist/assets/{dashboard-arO7X85D.js => dashboard--4c4omta.js} (99%) create mode 100644 src/web/assets/dist/assets/dashboard--4c4omta.js.gz rename src/web/assets/dist/assets/{dashboard-arO7X85D.js.map => dashboard--4c4omta.js.map} (99%) create mode 100644 src/web/assets/dist/assets/dashboard--4c4omta.js.map.gz delete mode 100644 src/web/assets/dist/assets/dashboard-arO7X85D.js.gz delete mode 100644 src/web/assets/dist/assets/dashboard-arO7X85D.js.map.gz delete mode 100644 src/web/assets/dist/assets/vue-apexcharts-Bqp5DSZb.js delete mode 100644 src/web/assets/dist/assets/vue-apexcharts-Bqp5DSZb.js.gz delete mode 100644 src/web/assets/dist/assets/vue-apexcharts-Bqp5DSZb.js.map delete mode 100644 src/web/assets/dist/assets/vue-apexcharts-Bqp5DSZb.js.map.gz create mode 100644 src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js create mode 100644 src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.gz create mode 100644 src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map create mode 100644 src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map.gz rename src/web/assets/dist/assets/{widget-DNFe3Srq.js => widget-B0Swf_04.js} (90%) create mode 100644 src/web/assets/dist/assets/widget-B0Swf_04.js.gz rename src/web/assets/dist/assets/{widget-DNFe3Srq.js.map => widget-B0Swf_04.js.map} (98%) create mode 100644 src/web/assets/dist/assets/widget-B0Swf_04.js.map.gz delete mode 100644 src/web/assets/dist/assets/widget-DNFe3Srq.js.gz delete mode 100644 src/web/assets/dist/assets/widget-DNFe3Srq.js.map.gz diff --git a/buildchain/package-lock.json b/buildchain/package-lock.json index c9f2cc80..0ea73bc2 100644 --- a/buildchain/package-lock.json +++ b/buildchain/package-lock.json @@ -190,12 +190,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.2" + "@babel/types": "^7.25.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -205,9 +205,9 @@ } }, "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.8", @@ -791,9 +791,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -992,9 +992,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz", + "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==", "cpu": [ "arm" ], @@ -1006,9 +1006,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz", + "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==", "cpu": [ "arm64" ], @@ -1020,9 +1020,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", - "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz", + "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==", "cpu": [ "arm64" ], @@ -1034,9 +1034,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz", + "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==", "cpu": [ "x64" ], @@ -1048,9 +1048,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz", + "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==", "cpu": [ "arm" ], @@ -1062,9 +1062,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz", + "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==", "cpu": [ "arm" ], @@ -1076,9 +1076,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", - "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz", + "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==", "cpu": [ "arm64" ], @@ -1090,9 +1090,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz", + "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==", "cpu": [ "arm64" ], @@ -1104,9 +1104,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz", + "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==", "cpu": [ "ppc64" ], @@ -1118,9 +1118,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz", + "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==", "cpu": [ "riscv64" ], @@ -1132,9 +1132,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz", + "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==", "cpu": [ "s390x" ], @@ -1146,9 +1146,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", - "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz", + "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==", "cpu": [ "x64" ], @@ -1160,9 +1160,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz", + "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==", "cpu": [ "x64" ], @@ -1174,9 +1174,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz", + "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==", "cpu": [ "arm64" ], @@ -1188,9 +1188,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz", + "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==", "cpu": [ "ia32" ], @@ -1202,9 +1202,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz", + "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==", "cpu": [ "x64" ], @@ -1216,9 +1216,9 @@ ] }, "node_modules/@types/eslint": { - "version": "8.56.11", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", - "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", "dev": true, "license": "MIT", "dependencies": { @@ -1248,9 +1248,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.16.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz", - "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==", + "version": "20.16.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", + "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", "dev": true, "license": "MIT", "dependencies": { @@ -1613,9 +1613,9 @@ } }, "node_modules/apexcharts": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.52.0.tgz", - "integrity": "sha512-7dg0ADKs8AA89iYMZMe2sFDG0XK5PfqllKV9N+i3hKHm3vEtdhwz8AlXGm+/b0nJ6jKiaXsqci5LfVxNhtB+dA==", + "version": "3.53.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.53.0.tgz", + "integrity": "sha512-QESZHZY3w9LPQ64PGh1gEdfjYjJ5Jp+Dfy0D/CLjsLOPTpXzdxwlNMqRj+vPbTcP0nAHgjWv1maDqcEq6u5olw==", "license": "MIT", "dependencies": { "@yr/monotone-cubic-spline": "^1.0.3", @@ -1716,9 +1716,9 @@ } }, "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -1858,9 +1858,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001651", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", - "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", "dev": true, "funding": [ { @@ -2066,13 +2066,13 @@ "license": "MIT" }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2263,9 +2263,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.11", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.11.tgz", - "integrity": "sha512-R1CccCDYqndR25CaXFd6hp/u9RaaMcftMkphmvuepXr5b1vfLkRml6aWVeBhXJ7rbevHkKEMJtz8XqPf7ffmew==", + "version": "1.5.20", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.20.tgz", + "integrity": "sha512-74mdl6Fs1HHzK9SUX4CKFxAtAe3nUns48y79TskHNAG6fGOlLfyKA4j855x+0b5u8rWJIrlaG9tcTPstMlwjIw==", "dev": true, "license": "ISC" }, @@ -2347,9 +2347,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -2744,9 +2744,9 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -3220,9 +3220,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3624,9 +3624,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { @@ -3710,9 +3710,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, @@ -4028,9 +4028,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "license": "ISC" }, "node_modules/picomatch": { @@ -4067,9 +4067,9 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", "funding": [ { "type": "opencollective", @@ -4199,9 +4199,9 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "dev": true, "license": "ISC", "bin": { @@ -4643,9 +4643,9 @@ } }, "node_modules/rollup": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", - "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz", + "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==", "dev": true, "license": "MIT", "dependencies": { @@ -4659,22 +4659,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.0", - "@rollup/rollup-android-arm64": "4.21.0", - "@rollup/rollup-darwin-arm64": "4.21.0", - "@rollup/rollup-darwin-x64": "4.21.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", - "@rollup/rollup-linux-arm-musleabihf": "4.21.0", - "@rollup/rollup-linux-arm64-gnu": "4.21.0", - "@rollup/rollup-linux-arm64-musl": "4.21.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", - "@rollup/rollup-linux-riscv64-gnu": "4.21.0", - "@rollup/rollup-linux-s390x-gnu": "4.21.0", - "@rollup/rollup-linux-x64-gnu": "4.21.0", - "@rollup/rollup-linux-x64-musl": "4.21.0", - "@rollup/rollup-win32-arm64-msvc": "4.21.0", - "@rollup/rollup-win32-ia32-msvc": "4.21.0", - "@rollup/rollup-win32-x64-msvc": "4.21.0", + "@rollup/rollup-android-arm-eabi": "4.21.3", + "@rollup/rollup-android-arm64": "4.21.3", + "@rollup/rollup-darwin-arm64": "4.21.3", + "@rollup/rollup-darwin-x64": "4.21.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.3", + "@rollup/rollup-linux-arm-musleabihf": "4.21.3", + "@rollup/rollup-linux-arm64-gnu": "4.21.3", + "@rollup/rollup-linux-arm64-musl": "4.21.3", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3", + "@rollup/rollup-linux-riscv64-gnu": "4.21.3", + "@rollup/rollup-linux-s390x-gnu": "4.21.3", + "@rollup/rollup-linux-x64-gnu": "4.21.3", + "@rollup/rollup-linux-x64-musl": "4.21.3", + "@rollup/rollup-win32-arm64-msvc": "4.21.3", + "@rollup/rollup-win32-ia32-msvc": "4.21.3", + "@rollup/rollup-win32-x64-msvc": "4.21.3", "fsevents": "~2.3.2" } }, @@ -4817,9 +4817,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -4863,9 +4863,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", "dev": true, "license": "CC0-1.0" }, @@ -5380,9 +5380,9 @@ "license": "MIT" }, "node_modules/tailwindcss": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", - "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.11.tgz", + "integrity": "sha512-qhEuBcLemjSJk5ajccN9xJFtM/h0AVCPaA6C92jNP+M2J8kX+eMJHI7R2HFKUvvAsMpcfLILMCFYSeDwpMmlUg==", "dev": true, "license": "MIT", "dependencies": { @@ -5526,9 +5526,9 @@ } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -5624,15 +5624,15 @@ } }, "node_modules/vite": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz", - "integrity": "sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.4.tgz", + "integrity": "sha512-RHFCkULitycHVTtelJ6jQLd+KSAAzOgEYorV32R2q++M6COBjKJR6BxqClwp5sf0XaBDjVMuJ9wnNfyAJwjMkA==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.41", - "rollup": "^4.13.0" + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { "vite": "bin/vite.js" diff --git a/docs/package-lock.json b/docs/package-lock.json index bdb0f991..9cfd02f8 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -168,9 +168,9 @@ } }, "node_modules/@algolia/client-common": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.0.2.tgz", - "integrity": "sha512-wXZn4Ne+oFr1vaJuT2El5cbobm4sUgYqWiiWyy4QDr8AIoUfROtCkV7YhwZLzmZRBfn6ptPB5MB8ely7iFZXnw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.4.1.tgz", + "integrity": "sha512-IffPD+CETiR8YJMVC1lcjnhETLpJ2L0ORZCbbRvwo/S11D1j/keR7AqKVMn4TseRJCfjmBFOcFrC+m4sXjyQWA==", "dev": true, "license": "MIT", "peer": true, @@ -202,16 +202,17 @@ } }, "node_modules/@algolia/client-search": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.0.2.tgz", - "integrity": "sha512-dOAekvG7S85n1x3Nibc1UUADQCZpFXP7m/bYoxzIQe2+bGKAPa2zQ4s9E1H+qIDiWa7EzhVfwGlSxRi9S2SeVg==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.4.1.tgz", + "integrity": "sha512-nCgWY2p0tZgBqJKmA5E6B3VW+7uqxi1Orf88zNWOihJBRFeOV932pzG4vGrX9l0+p0o/vJabYxuomO35rEt5dw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@algolia/client-common": "5.0.2", - "@algolia/requester-browser-xhr": "5.0.2", - "@algolia/requester-node-http": "5.0.2" + "@algolia/client-common": "5.4.1", + "@algolia/requester-browser-xhr": "5.4.1", + "@algolia/requester-fetch": "5.4.1", + "@algolia/requester-node-http": "5.4.1" }, "engines": { "node": ">= 14.0.0" @@ -298,14 +299,14 @@ } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.0.2.tgz", - "integrity": "sha512-GrLWa9jo+tqnieXtpdUMM6NHZV/bDbAJ8uBgyDF5PpaKtk44/3vQk8LVcKQsT3/nnVb/5T+AprNbJmIjsVaRqA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.4.1.tgz", + "integrity": "sha512-J6+YfU+maR0nIbsYRHoq0UpneilX97hrZzPuuvSoBojQmPo8PeCXKGeT/F0D8uFI6G4CMTKEPGmQYrC9IpCbcQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@algolia/client-common": "5.0.2" + "@algolia/client-common": "5.4.1" }, "engines": { "node": ">= 14.0.0" @@ -318,15 +319,29 @@ "dev": true, "license": "MIT" }, + "node_modules/@algolia/requester-fetch": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.4.1.tgz", + "integrity": "sha512-AO/C1pqqpIS8p2IsfM5x92S+UBKkcIen5dHfMEh1rnV0ArWDreeqrtxMD2A+6AjQVwYeZNy56w7o7PVIm6mc8g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.4.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@algolia/requester-node-http": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.0.2.tgz", - "integrity": "sha512-6Kt1MQcdCyefs//ie3JtcDo/73QRwHoA1JX4J5t1yZp0W3J3o1QPb6mueFswJ+nHg+cVbSpbsL2xamtZ/rjj7w==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.4.1.tgz", + "integrity": "sha512-2Y3vffc91egwFxz0SjXFEH4q8nvlNJHcz+0//NaWItRU68AvD+3aI/j66STPjkLQOC0Ku6ckA9ChhbOVfrv+Uw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@algolia/client-common": "5.0.2" + "@algolia/client-common": "5.4.1" }, "engines": { "node": ">= 14.0.0" @@ -389,13 +404,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.2" + "@babel/types": "^7.25.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -405,9 +420,9 @@ } }, "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, "license": "MIT", "dependencies": { @@ -869,9 +884,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz", + "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==", "cpu": [ "arm" ], @@ -883,9 +898,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz", + "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==", "cpu": [ "arm64" ], @@ -897,9 +912,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", - "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz", + "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==", "cpu": [ "arm64" ], @@ -911,9 +926,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz", + "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==", "cpu": [ "x64" ], @@ -925,9 +940,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz", + "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==", "cpu": [ "arm" ], @@ -939,9 +954,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz", + "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==", "cpu": [ "arm" ], @@ -953,9 +968,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", - "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz", + "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==", "cpu": [ "arm64" ], @@ -967,9 +982,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz", + "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==", "cpu": [ "arm64" ], @@ -981,9 +996,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz", + "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==", "cpu": [ "ppc64" ], @@ -995,9 +1010,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz", + "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==", "cpu": [ "riscv64" ], @@ -1009,9 +1024,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz", + "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==", "cpu": [ "s390x" ], @@ -1023,9 +1038,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", - "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz", + "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==", "cpu": [ "x64" ], @@ -1037,9 +1052,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz", + "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==", "cpu": [ "x64" ], @@ -1051,9 +1066,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz", + "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==", "cpu": [ "arm64" ], @@ -1065,9 +1080,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz", + "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==", "cpu": [ "ia32" ], @@ -1079,9 +1094,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz", + "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==", "cpu": [ "x64" ], @@ -1093,25 +1108,70 @@ ] }, "node_modules/@shikijs/core": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.14.1.tgz", - "integrity": "sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==", + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.17.4.tgz", + "integrity": "sha512-d2RqLWGJDPGThosjMs472B+NLVRUbQSAez/UV9d9rKE/zLbSmPQ73me308ofPSALKwUv2RkuX8umkIdl97boig==", "dev": true, "license": "MIT", "dependencies": { - "@types/hast": "^3.0.4" + "@shikijs/engine-javascript": "1.17.4", + "@shikijs/engine-oniguruma": "1.17.4", + "@shikijs/types": "1.17.4", + "@shikijs/vscode-textmate": "^9.2.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.2" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.17.4.tgz", + "integrity": "sha512-qWulwA32cbvVxdthAB1w4DIeXn2+HC1Q5rO0KChnVkFA9xzmy2VH1W3CvmMGEyXo0GjQerovhREcxZh1FlgJ1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.17.4", + "oniguruma-to-js": "0.4.0" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.17.4.tgz", + "integrity": "sha512-7yLBEwkwrr3zYF17tJk56SXHl+0GIMeb0dSKW9jxOsYPfjIU+19nHogURpr5r9Ey03m73i3pj2cthqj5Ui8MNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.17.4", + "@shikijs/vscode-textmate": "^9.2.2" } }, "node_modules/@shikijs/transformers": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.14.1.tgz", - "integrity": "sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==", + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.17.4.tgz", + "integrity": "sha512-WdCcVx9EPXNi8x6ZWGC129IoboFHBzoeHuXrbxLP1L8cK8ApCh9QSawACj+8PxDFX6p5yzWJ/GUpPvmfv/lS3w==", "dev": true, "license": "MIT", "dependencies": { - "shiki": "1.14.1" + "shiki": "1.17.4" } }, + "node_modules/@shikijs/types": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.17.4.tgz", + "integrity": "sha512-gh2PuD5wmqVlWWIyCpLpmVyl0PuN8IEBc86Mvj89g6LiEsqFOsCCdvk6znd0spRu+0y78aP0PA8mQV58RA3igA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^9.2.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.2.2.tgz", + "integrity": "sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==", + "dev": true, + "license": "MIT" + }, "node_modules/@textlint-rule/textlint-rule-no-unmatched-pair": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@textlint-rule/textlint-rule-no-unmatched-pair/-/textlint-rule-no-unmatched-pair-1.0.9.tgz", @@ -1430,9 +1490,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.16.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz", - "integrity": "sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==", + "version": "20.16.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", + "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", "dev": true, "license": "MIT", "dependencies": { @@ -1453,10 +1513,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, "node_modules/@vitejs/plugin-vue": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz", - "integrity": "sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.3.tgz", + "integrity": "sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==", "dev": true, "license": "MIT", "engines": { @@ -1468,77 +1535,77 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.38.tgz", - "integrity": "sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.4.tgz", + "integrity": "sha512-oNwn+BAt3n9dK9uAYvI+XGlutwuTq/wfj4xCBaZCqwwVIGtD7D6ViihEbyYZrDHIHTDE3Q6oL3/hqmAyFEy9DQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.38", + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.4", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz", - "integrity": "sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.4.tgz", + "integrity": "sha512-yP9RRs4BDLOLfldn6ah+AGCNovGjMbL9uHvhDHf5wan4dAHLnFGOkqtfE7PPe4HTXIqE7l/NILdYw53bo1C8jw==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-core": "3.5.4", + "@vue/shared": "3.5.4" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz", - "integrity": "sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.4.tgz", + "integrity": "sha512-P+yiPhL+NYH7m0ZgCq7AQR2q7OIE+mpAEgtkqEeH9oHSdIRvUO+4X6MPvblJIWcoe4YC5a2Gdf/RsoyP8FFiPQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/compiler-core": "3.4.38", - "@vue/compiler-dom": "3.4.38", - "@vue/compiler-ssr": "3.4.38", - "@vue/shared": "3.4.38", + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.4", + "@vue/compiler-dom": "3.5.4", + "@vue/compiler-ssr": "3.5.4", + "@vue/shared": "3.5.4", "estree-walker": "^2.0.2", - "magic-string": "^0.30.10", - "postcss": "^8.4.40", + "magic-string": "^0.30.11", + "postcss": "^8.4.44", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz", - "integrity": "sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.4.tgz", + "integrity": "sha512-acESdTXsxPnYr2C4Blv0ggx5zIFMgOzZmYU2UgvIff9POdRGbRNBHRyzHAnizcItvpgerSKQbllUc9USp3V7eg==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-dom": "3.5.4", + "@vue/shared": "3.5.4" } }, "node_modules/@vue/devtools-api": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.3.8.tgz", - "integrity": "sha512-NURFwmxz4WukFU54IHgyGI2KSejdgHG5JC4xTcWmTWEBIc8aelj9fBy4qsboObGHFp3JIdRxxANO9s2wZA/pVQ==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.4.5.tgz", + "integrity": "sha512-PX9uXirHOY2P99kb1cP3DxWZojFW3acNMqd+l4i5nKcqY59trXTOfwDZXt2Qifu0OU1izAQb76Ur6NPVldF2KQ==", "dev": true, "license": "MIT", "dependencies": { - "@vue/devtools-kit": "^7.3.8" + "@vue/devtools-kit": "^7.4.5" } }, "node_modules/@vue/devtools-kit": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.3.8.tgz", - "integrity": "sha512-HYy3MQP1nZ6GbE4vrgJ/UB+MvZnhYmEwCa/UafrEpdpwa+jNCkz1ZdUrC5I7LpkH1ShREEV2/pZlAQdBj+ncLQ==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.4.5.tgz", + "integrity": "sha512-Uuki4Z6Bc/ExvtlPkeDNGSAe4580R+HPcVABfTE9TF7BTz3Nntk7vxIRUyWblZkUEcB/x+wn2uofyt5i2LaUew==", "dev": true, "license": "MIT", "dependencies": { - "@vue/devtools-shared": "^7.3.8", + "@vue/devtools-shared": "^7.4.5", "birpc": "^0.2.17", "hookable": "^5.5.3", "mitt": "^3.0.1", @@ -1548,9 +1615,9 @@ } }, "node_modules/@vue/devtools-shared": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.3.8.tgz", - "integrity": "sha512-1NiJbn7Yp47nPDWhFZyEKpB2+5/+7JYv8IQnU0ccMrgslPR2dL7u1DIyI7mLqy4HN1ll36gQy0k8GqBYSFgZJw==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.4.5.tgz", + "integrity": "sha512-2XgUOkL/7QDmyYI9J7cm+rz/qBhcGv+W5+i1fhwdQ0HQ1RowhdK66F0QBuJSz/5k12opJY8eN6m03/XZMs7imQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1558,70 +1625,70 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.38.tgz", - "integrity": "sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.4.tgz", + "integrity": "sha512-HKKbEuP7tYSGCq4e4nK6ZW6l5hyG66OUetefBp4budUyjvAYsnQDf+bgFzg2RAgnH0CInyqXwD9y47jwJEHrQw==", "dev": true, "license": "MIT", "dependencies": { - "@vue/shared": "3.4.38" + "@vue/shared": "3.5.4" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.38.tgz", - "integrity": "sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.4.tgz", + "integrity": "sha512-f3ek2sTA0AFu0n+w+kCtz567Euqqa3eHewvo4klwS7mWfSj/A+UmYTwsnUFo35KeyAFY60JgrCGvEBsu1n/3LA==", "dev": true, "license": "MIT", "dependencies": { - "@vue/reactivity": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/reactivity": "3.5.4", + "@vue/shared": "3.5.4" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz", - "integrity": "sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.4.tgz", + "integrity": "sha512-ofyc0w6rbD5KtjhP1i9hGOKdxGpvmuB1jprP7Djlj0X7R5J/oLwuNuE98GJ8WW31Hu2VxQHtk/LYTAlW8xrJdw==", "dev": true, "license": "MIT", "dependencies": { - "@vue/reactivity": "3.4.38", - "@vue/runtime-core": "3.4.38", - "@vue/shared": "3.4.38", + "@vue/reactivity": "3.5.4", + "@vue/runtime-core": "3.5.4", + "@vue/shared": "3.5.4", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.38.tgz", - "integrity": "sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.4.tgz", + "integrity": "sha512-FbjV6DJLgKRetMYFBA1UXCroCiED/Ckr53/ba9wivyd7D/Xw9fpo0T6zXzCnxQwyvkyrL7y6plgYhWhNjGxY5g==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-ssr": "3.5.4", + "@vue/shared": "3.5.4" }, "peerDependencies": { - "vue": "3.4.38" + "vue": "3.5.4" } }, "node_modules/@vue/shared": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.38.tgz", - "integrity": "sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.4.tgz", + "integrity": "sha512-L2MCDD8l7yC62Te5UUyPVpmexhL9ipVnYRw9CsWfm/BGRL5FwDX4a25bcJ/OJSD3+Hx+k/a8LDKcG2AFdJV3BA==", "dev": true, "license": "MIT" }, "node_modules/@vueuse/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.0.1.tgz", - "integrity": "sha512-YTrekI18WwEyP3h168Fir94G/HNC27wvXJI21Alm0sPOwvhihfkrvHIe+5PNJq+MpgWdRcsjvE/38JaoKrgZhQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.0.3.tgz", + "integrity": "sha512-RENlh64+SYA9XMExmmH1a3TPqeIuJBNNB/63GT35MZI+zpru3oMRUA6cEFr9HmGqEgUisurwGwnIieF6qu3aXw==", "dev": true, "license": "MIT", "dependencies": { "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "11.0.1", - "@vueuse/shared": "11.0.1", + "@vueuse/metadata": "11.0.3", + "@vueuse/shared": "11.0.3", "vue-demi": ">=0.14.10" }, "funding": { @@ -1656,14 +1723,14 @@ } }, "node_modules/@vueuse/integrations": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-11.0.1.tgz", - "integrity": "sha512-V/FQTS/aiV6RTFXOj8cXgqhtNJBvxvbHeLElOUR7N7F3Kr0btS+dkymLB54mFd0Or6uEGpgwwb41cs/q2/rdOg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-11.0.3.tgz", + "integrity": "sha512-w6CDisaxs19S5Fd+NPPLFaA3GoX5gxuxrbTTBu0EYap7oH13w75L6C/+7e9mcoF9akhcR6GyYajwVMQEjdapJg==", "dev": true, "license": "MIT", "dependencies": { - "@vueuse/core": "11.0.1", - "@vueuse/shared": "11.0.1", + "@vueuse/core": "11.0.3", + "@vueuse/shared": "11.0.3", "vue-demi": ">=0.14.10" }, "funding": { @@ -1750,9 +1817,9 @@ } }, "node_modules/@vueuse/metadata": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.0.1.tgz", - "integrity": "sha512-dTFvuHFAjLYOiSd+t9Sk7xUiuL6jbfay/eX+g+jaipXXlwKur2VCqBCZX+jfu+2vROUGcUsdn3fJR9KkpadIOg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.0.3.tgz", + "integrity": "sha512-+FtbO4SD5WpsOcQTcC0hAhNlOid6QNLzqedtquTtQ+CRNBoAt9GuV07c6KNHK1wCmlq8DFPwgiLF2rXwgSHX5Q==", "dev": true, "license": "MIT", "funding": { @@ -1760,9 +1827,9 @@ } }, "node_modules/@vueuse/shared": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.0.1.tgz", - "integrity": "sha512-eAPf5CQB3HR0S76HqrhjBqFYstZfiHWZq8xF9EQmobGBkrhPfErJEhr8aMNQMqd6MkENIx2pblIEfJGlHpClug==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.0.3.tgz", + "integrity": "sha512-0rY2m6HS5t27n/Vp5cTDsKTlNnimCqsbh/fmT2LgE+aaU42EMfXo8+bNX91W9I7DDmxfuACXMmrd7d79JxkqWA==", "dev": true, "license": "MIT", "dependencies": { @@ -2103,6 +2170,17 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", @@ -2162,6 +2240,17 @@ "dev": true, "license": "MIT" }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2273,13 +2362,13 @@ } }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2333,6 +2422,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -2721,9 +2834,9 @@ "license": "ISC" }, "node_modules/focus-trap": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", - "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.0.tgz", + "integrity": "sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3005,6 +3118,73 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-to-html": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.2.tgz", + "integrity": "sha512-RP5wNpj5nm1Z8cloDv4Sl4RS8jH5HYa0v93YB6Wb4poEzgMo/dAAL0KcT4974dCjcNG5pkLqTImeFHHCwwfY3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/hast-util-to-html/node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-html/node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hookable": { "version": "5.5.3", "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", @@ -3019,6 +3199,17 @@ "dev": true, "license": "ISC" }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/humannames": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/humannames/-/humannames-1.0.5.tgz", @@ -3161,9 +3352,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3712,6 +3903,134 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-hast/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/mdast-util-to-hast/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-to-markdown": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", @@ -3877,6 +4196,100 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3935,9 +4348,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, @@ -4039,6 +4452,19 @@ "wrappy": "1" } }, + "node_modules/oniguruma-to-js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.0.tgz", + "integrity": "sha512-GwNFPQygkpDjO9MOr54Rqi01dGS+h9VAS//Qxz9lTN5B09CxqiIc7rydvdV+Ex2Z8Vk+zqfHH7hU6ePn8uf+Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "regex": "^4.3.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -4189,9 +4615,9 @@ "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true, "license": "ISC" }, @@ -4246,9 +4672,9 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", "dev": true, "funding": [ { @@ -4295,6 +4721,17 @@ "node": ">= 0.8.0" } }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/rc-config-loader": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.3.tgz", @@ -4450,6 +4887,13 @@ "node": ">= 6" } }, + "node_modules/regex": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.2.tgz", + "integrity": "sha512-kK/AA3A9K6q2js89+VMymcboLOlF5lZRCYJv3gzszXFHBr6kO6qLGzbm+UIugBEV8SMMKCTR59txoY6ctRHYVw==", + "dev": true, + "license": "MIT" + }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -4588,9 +5032,9 @@ } }, "node_modules/rollup": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", - "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz", + "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==", "dev": true, "license": "MIT", "dependencies": { @@ -4604,22 +5048,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.0", - "@rollup/rollup-android-arm64": "4.21.0", - "@rollup/rollup-darwin-arm64": "4.21.0", - "@rollup/rollup-darwin-x64": "4.21.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", - "@rollup/rollup-linux-arm-musleabihf": "4.21.0", - "@rollup/rollup-linux-arm64-gnu": "4.21.0", - "@rollup/rollup-linux-arm64-musl": "4.21.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", - "@rollup/rollup-linux-riscv64-gnu": "4.21.0", - "@rollup/rollup-linux-s390x-gnu": "4.21.0", - "@rollup/rollup-linux-x64-gnu": "4.21.0", - "@rollup/rollup-linux-x64-musl": "4.21.0", - "@rollup/rollup-win32-arm64-msvc": "4.21.0", - "@rollup/rollup-win32-ia32-msvc": "4.21.0", - "@rollup/rollup-win32-x64-msvc": "4.21.0", + "@rollup/rollup-android-arm-eabi": "4.21.3", + "@rollup/rollup-android-arm64": "4.21.3", + "@rollup/rollup-darwin-arm64": "4.21.3", + "@rollup/rollup-darwin-x64": "4.21.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.3", + "@rollup/rollup-linux-arm-musleabihf": "4.21.3", + "@rollup/rollup-linux-arm64-gnu": "4.21.3", + "@rollup/rollup-linux-arm64-musl": "4.21.3", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3", + "@rollup/rollup-linux-riscv64-gnu": "4.21.3", + "@rollup/rollup-linux-s390x-gnu": "4.21.3", + "@rollup/rollup-linux-x64-gnu": "4.21.3", + "@rollup/rollup-linux-x64-musl": "4.21.3", + "@rollup/rollup-win32-arm64-msvc": "4.21.3", + "@rollup/rollup-win32-ia32-msvc": "4.21.3", + "@rollup/rollup-win32-x64-msvc": "4.21.3", "fsevents": "~2.3.2" } }, @@ -4682,9 +5126,9 @@ } }, "node_modules/search-insights": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.16.3.tgz", - "integrity": "sha512-hSHy/s4Zk2xibhj9XTCACB+1PqS+CaJxepGNBhKc/OsHRpqvHAUAm5+uZ6kJJbGXn0pb3XqekHjg6JAqPExzqg==", + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz", + "integrity": "sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==", "dev": true, "license": "MIT", "peer": true @@ -4750,13 +5194,17 @@ } }, "node_modules/shiki": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.14.1.tgz", - "integrity": "sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==", + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.17.4.tgz", + "integrity": "sha512-cuezOGFn2AA9b+ItofDOB6/ap3AosrgV7Wqxeo9c5L4Df0+HtiGt0WlBrM4gtWK5cR96+5Ef17syu4FDL9/Acg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/core": "1.14.1", + "@shikijs/core": "1.17.4", + "@shikijs/engine-javascript": "1.17.4", + "@shikijs/engine-oniguruma": "1.17.4", + "@shikijs/types": "1.17.4", + "@shikijs/vscode-textmate": "^9.2.2", "@types/hast": "^3.0.4" } }, @@ -4798,15 +5246,26 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -4837,9 +5296,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", "dev": true, "license": "CC0-1.0" }, @@ -4950,6 +5409,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-entities/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -5449,6 +5934,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", @@ -5670,6 +6166,27 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, "node_modules/unist-util-stringify-position": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", @@ -5801,15 +6318,15 @@ } }, "node_modules/vite": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz", - "integrity": "sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.4.tgz", + "integrity": "sha512-RHFCkULitycHVTtelJ6jQLd+KSAAzOgEYorV32R2q++M6COBjKJR6BxqClwp5sf0XaBDjVMuJ9wnNfyAJwjMkA==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.41", - "rollup": "^4.13.0" + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { "vite": "bin/vite.js" @@ -5861,9 +6378,9 @@ } }, "node_modules/vitepress": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.3.3.tgz", - "integrity": "sha512-6UzEw/wZ41S/CATby7ea7UlffvRER/uekxgN6hbEvSys9ukmLOKsz87Ehq9yOx1Rwiw+Sj97yjpivP8w1sUmng==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.3.4.tgz", + "integrity": "sha512-I1/F6OW1xl3kW4PaIMC6snxjWgf3qfziq2aqsDoFc/Gt41WbcRv++z8zjw8qGRIJ+I4bUW7ZcKFDHHN/jkH9DQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5901,17 +6418,17 @@ } }, "node_modules/vue": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz", - "integrity": "sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.4.tgz", + "integrity": "sha512-3yAj2gkmiY+i7+22A1PWM+kjOVXjU74UPINcTiN7grIVPyFFI0lpGwHlV/4xydDmobaBn7/xmi+YG8HeSlCTcg==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.4.38", - "@vue/compiler-sfc": "3.4.38", - "@vue/runtime-dom": "3.4.38", - "@vue/server-renderer": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-dom": "3.5.4", + "@vue/compiler-sfc": "3.5.4", + "@vue/runtime-dom": "3.5.4", + "@vue/server-renderer": "3.5.4", + "@vue/shared": "3.5.4" }, "peerDependencies": { "typescript": "*" diff --git a/src/web/assets/dist/assets/dashboard-arO7X85D.js b/src/web/assets/dist/assets/dashboard--4c4omta.js similarity index 99% rename from src/web/assets/dist/assets/dashboard-arO7X85D.js rename to src/web/assets/dist/assets/dashboard--4c4omta.js index c1ff2555..9c4218d8 100644 --- a/src/web/assets/dist/assets/dashboard-arO7X85D.js +++ b/src/web/assets/dist/assets/dashboard--4c4omta.js @@ -1,4 +1,4 @@ -import{V as P,a as S,b as $,c as k,s as I,p as x,_ as F}from"./purify.es-Xo6LZ5T9.js";import{c as T,g as H,n as p}from"./_plugin-vue2_normalizer-DeOsZA-U.js";import{A as D,a as M}from"./vue-apexcharts-Bqp5DSZb.js";var y={exports:{}};(function(e,t){(function(i,r){e.exports=r()})(T,function(){return function(i){function r(n){if(h[n])return h[n].exports;var o=h[n]={i:n,l:!1,exports:{}};return i[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}var h={};return r.m=i,r.c=h,r.d=function(n,o,f){r.o(n,o)||Object.defineProperty(n,o,{configurable:!1,enumerable:!0,get:f})},r.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(o,"a",o),o},r.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)},r.p="",r(r.s=0)}([function(i,r,h){Object.defineProperty(r,"__esModule",{value:!0});var n=h(1);h.d(r,"Confetti",function(){return n.a}),r.default={install:function(o,f){this.installed||(this.installed=!0,o.prototype.$confetti=new n.a(f))}}},function(i,r,h){function n(s,a){if(!(s instanceof a))throw new TypeError("Cannot call a class as a function")}var o=h(2),f=function(){function s(a,c){for(var l=0;l0&&arguments[0]!==void 0?arguments[0]:{};this.particles=new o.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:a.shape||"circle",colors:{opts:a.colors||["DodgerBlue","OliveDrab","Gold","pink","SlateBlue","lightblue","Violet","PaleGreen","SteelBlue","SandyBrown","Chocolate","Crimson"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:"createContext",value:function(){this.canvas=document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.canvas.style.display="block",this.canvas.style.position="fixed",this.canvas.style.pointerEvents="none",this.canvas.style.top=0,this.canvas.style.width="100vw",this.canvas.style.height="100vh",this.canvas.id="confetti-canvas",document.querySelector("body").appendChild(this.canvas)}},{key:"start",value:function(a){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(a),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener("resize",this.onResizeCallback)}},{key:"stop",value:function(){this.particlesPerFrame=0,window.removeEventListener("resize",this.onResizeCallback)}},{key:"remove",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:"updateDimensions",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:"mainLoop",value:function(a){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(a/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push(new o.a().setup(this.opts))}}]),s}();r.a=u},function(i,r,h){function n(u,s){if(!(u instanceof s))throw new TypeError("Cannot call a class as a function")}var o=function(){function u(s,a){for(var c=0;c1&&arguments[1]!==void 0?arguments[1]:s+(s=0);return Math.random()*(a-s)+s|0}},{key:"rand",value:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s+(s=0);return Math.random()*(a-s)+s}},{key:"update",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:"drawCircle",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:"drawRect",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:"drawHeart",value:function(){var s=this,a=function(c,l,d,m,v,g){s.ctx.bezierCurveTo(c/s.r*2,l/s.r*2,d/s.r*2,m/s.r*2,v/s.r*2,g/s.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),a(75,37,70,25,50,25),a(20,25,20,62.5,20,62.5),a(20,80,40,102,75,120),a(110,102,130,80,130,62.5),a(130,62.5,130,25,100,25),a(85,25,75,37,75,40),this.ctx.fill()}},{key:"draw",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),this.shape==="circle"?this.drawCircle():this.shape==="rect"?this.drawRect():this.shape==="heart"&&this.drawHeart()}}]),u}();r.a=f}])})})(y);var R=y.exports;const U=H(R),w=window.Vue;w.use(U);const A=w.extend({mounted:function(){this.$confetti.start({shape:"rect",colors:["DodgerBlue","OliveDrab","Gold","pink","SlateBlue","lightblue","Violet","PaleGreen","SteelBlue","SandyBrown","Chocolate","Crimson"]}),setTimeout(()=>{this.$confetti.stop()},5e3)},methods:{}});var V=function(){var t=this,i=t._self._c;return t._self._setupProxy,i("main")},L=[],N=p(A,V,L,!1,null,null);const O=N.exports,z=e=>e.map(function(t){return Math.max.apply(null,t)}),B=e=>({baseURL:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),E=(e,t,i,r)=>{e.get(t,{params:i}).then(h=>{r&&r(h.data)}).catch(h=>{console.error(h)})},W={components:{apexcharts:D},props:{title:{type:String,default:""},subTitle:{type:String,default:""},range:{type:String,default:""},siteId:{type:Number,default:0},refreshIntervalSecs:{type:Number,default:3},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-dashboard",type:"area",height:160,sparkline:{enabled:!0}},colors:["#008FFB","#DCE6EC"],stroke:{curve:"straight",width:3},fill:{opacity:.2,gradient:{enabled:!0}},xaxis:{type:"category",labels:{show:!1,minHeight:"20px"},crosshairs:{width:1}},yaxis:{min:0},title:{text:this.title,offsetX:0,style:{fontSize:"24px",cssClass:"apexcharts-yaxis-title"}},subtitle:{text:this.subTitle,offsetX:0,style:{fontSize:"14px",cssClass:"apexcharts-yaxis-title"}}},series:[{name:"empty",data:[0]}]}},created(){this.getSeriesData()},mounted(){this.refreshIntervalSecs&&setInterval(()=>{this.getSeriesData()},this.refreshIntervalSecs*1e3)},methods:{getSeriesData:async function(){const e=M.create(B(this.apiUrl));await E(e,"",{range:this.range,siteId:this.siteId},t=>{if(t[0]!==void 0){const i=Math.round(z([t[0].data])[0]+1.5);this.chartOptions={...this.chartOptions,yaxis:{min:0,max:i,labels:{show:!1,minHeight:"20px"}},xaxis:{categories:t[0].labels,type:"category",labels:{show:!1,minHeight:"20px"},crosshairs:{width:1}},labels:t[0].labels},this.series=t}})}}};var j=function(){var t=this,i=t._self._c;return i("apexcharts",{attrs:{width:"100%",height:"200px",type:"area",options:t.chartOptions,series:t.series}})},q=[],G=p(W,j,q,!1,null,null);const X=G.exports,K=[{name:"__checkbox",titleClass:"center aligned",dataClass:"center aligned"},{name:"__component:file-not-found-url",sortField:"redirectSrcUrl",title:Craft.t("retour","404 File Not Found URL"),titleClass:"center vuetable-th-redirectSrcUrl",dataClass:"center vuetable-td-redirectSrcUrl"},{name:"referrerUrl",sortField:"referrerUrl",title:Craft.t("retour","Last Referrer URL"),titleClass:"center",dataClass:"center",callback:"urlFormatter"},{name:"remoteIp",sortField:"remoteIp",title:Craft.t("retour","Remote IP"),titleClass:"center",dataClass:"center",callback:"ipFormatter"},{name:"hitCount",sortField:"hitCount",title:Craft.t("retour","Hits"),titleClass:"text-right",dataClass:"text-right"},{name:"hitLastTime",sortField:"hitLastTime",title:Craft.t("retour","Last Hit"),titleClass:"center",dataClass:"center"},{name:"handledByRetour",sortField:"handledByRetour",title:Craft.t("retour","Handled"),titleClass:"text-center",dataClass:"text-center",callback:"boolFormatter"},{name:"addLink",sortField:"addLink",title:"",titleClass:"text-center",dataClass:"text-center",callback:"addUrlFormatter"}],J={props:{rowData:{type:Object,required:!0},rowIndex:{type:Number,default:0}},computed:{linkHref:function(){let e=this.rowData.redirectSrcUrlFull;return typeof e>"u"||e===""?"":(!new RegExp("^(?:[a-z]+:)?//","i").test(e)&&!e.includes("$")&&(e=Craft.getSiteUrl(e)),e)},linkTitle:function(){let e="";return e+="User Agent: "+this.rowData.userAgent+` +import{V as P,a as S,b as $,c as k,s as I,p as x,_ as F}from"./purify.es-Xo6LZ5T9.js";import{c as T,g as H,n as p}from"./_plugin-vue2_normalizer-DeOsZA-U.js";import{A as D,a as M}from"./vue-apexcharts-Nop2JhTm.js";var y={exports:{}};(function(e,t){(function(i,r){e.exports=r()})(T,function(){return function(i){function r(n){if(h[n])return h[n].exports;var o=h[n]={i:n,l:!1,exports:{}};return i[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}var h={};return r.m=i,r.c=h,r.d=function(n,o,f){r.o(n,o)||Object.defineProperty(n,o,{configurable:!1,enumerable:!0,get:f})},r.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(o,"a",o),o},r.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)},r.p="",r(r.s=0)}([function(i,r,h){Object.defineProperty(r,"__esModule",{value:!0});var n=h(1);h.d(r,"Confetti",function(){return n.a}),r.default={install:function(o,f){this.installed||(this.installed=!0,o.prototype.$confetti=new n.a(f))}}},function(i,r,h){function n(s,a){if(!(s instanceof a))throw new TypeError("Cannot call a class as a function")}var o=h(2),f=function(){function s(a,c){for(var l=0;l0&&arguments[0]!==void 0?arguments[0]:{};this.particles=new o.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:a.shape||"circle",colors:{opts:a.colors||["DodgerBlue","OliveDrab","Gold","pink","SlateBlue","lightblue","Violet","PaleGreen","SteelBlue","SandyBrown","Chocolate","Crimson"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:"createContext",value:function(){this.canvas=document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.canvas.style.display="block",this.canvas.style.position="fixed",this.canvas.style.pointerEvents="none",this.canvas.style.top=0,this.canvas.style.width="100vw",this.canvas.style.height="100vh",this.canvas.id="confetti-canvas",document.querySelector("body").appendChild(this.canvas)}},{key:"start",value:function(a){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(a),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener("resize",this.onResizeCallback)}},{key:"stop",value:function(){this.particlesPerFrame=0,window.removeEventListener("resize",this.onResizeCallback)}},{key:"remove",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:"updateDimensions",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:"mainLoop",value:function(a){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(a/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push(new o.a().setup(this.opts))}}]),s}();r.a=u},function(i,r,h){function n(u,s){if(!(u instanceof s))throw new TypeError("Cannot call a class as a function")}var o=function(){function u(s,a){for(var c=0;c1&&arguments[1]!==void 0?arguments[1]:s+(s=0);return Math.random()*(a-s)+s|0}},{key:"rand",value:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s+(s=0);return Math.random()*(a-s)+s}},{key:"update",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:"drawCircle",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:"drawRect",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:"drawHeart",value:function(){var s=this,a=function(c,l,d,m,v,g){s.ctx.bezierCurveTo(c/s.r*2,l/s.r*2,d/s.r*2,m/s.r*2,v/s.r*2,g/s.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),a(75,37,70,25,50,25),a(20,25,20,62.5,20,62.5),a(20,80,40,102,75,120),a(110,102,130,80,130,62.5),a(130,62.5,130,25,100,25),a(85,25,75,37,75,40),this.ctx.fill()}},{key:"draw",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),this.shape==="circle"?this.drawCircle():this.shape==="rect"?this.drawRect():this.shape==="heart"&&this.drawHeart()}}]),u}();r.a=f}])})})(y);var R=y.exports;const U=H(R),w=window.Vue;w.use(U);const A=w.extend({mounted:function(){this.$confetti.start({shape:"rect",colors:["DodgerBlue","OliveDrab","Gold","pink","SlateBlue","lightblue","Violet","PaleGreen","SteelBlue","SandyBrown","Chocolate","Crimson"]}),setTimeout(()=>{this.$confetti.stop()},5e3)},methods:{}});var V=function(){var t=this,i=t._self._c;return t._self._setupProxy,i("main")},L=[],N=p(A,V,L,!1,null,null);const O=N.exports,z=e=>e.map(function(t){return Math.max.apply(null,t)}),B=e=>({baseURL:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),E=(e,t,i,r)=>{e.get(t,{params:i}).then(h=>{r&&r(h.data)}).catch(h=>{console.error(h)})},W={components:{apexcharts:D},props:{title:{type:String,default:""},subTitle:{type:String,default:""},range:{type:String,default:""},siteId:{type:Number,default:0},refreshIntervalSecs:{type:Number,default:3},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-dashboard",type:"area",height:160,sparkline:{enabled:!0}},colors:["#008FFB","#DCE6EC"],stroke:{curve:"straight",width:3},fill:{opacity:.2,gradient:{enabled:!0}},xaxis:{type:"category",labels:{show:!1,minHeight:"20px"},crosshairs:{width:1}},yaxis:{min:0},title:{text:this.title,offsetX:0,style:{fontSize:"24px",cssClass:"apexcharts-yaxis-title"}},subtitle:{text:this.subTitle,offsetX:0,style:{fontSize:"14px",cssClass:"apexcharts-yaxis-title"}}},series:[{name:"empty",data:[0]}]}},created(){this.getSeriesData()},mounted(){this.refreshIntervalSecs&&setInterval(()=>{this.getSeriesData()},this.refreshIntervalSecs*1e3)},methods:{getSeriesData:async function(){const e=M.create(B(this.apiUrl));await E(e,"",{range:this.range,siteId:this.siteId},t=>{if(t[0]!==void 0){const i=Math.round(z([t[0].data])[0]+1.5);this.chartOptions={...this.chartOptions,yaxis:{min:0,max:i,labels:{show:!1,minHeight:"20px"}},xaxis:{categories:t[0].labels,type:"category",labels:{show:!1,minHeight:"20px"},crosshairs:{width:1}},labels:t[0].labels},this.series=t}})}}};var j=function(){var t=this,i=t._self._c;return i("apexcharts",{attrs:{width:"100%",height:"200px",type:"area",options:t.chartOptions,series:t.series}})},q=[],G=p(W,j,q,!1,null,null);const X=G.exports,K=[{name:"__checkbox",titleClass:"center aligned",dataClass:"center aligned"},{name:"__component:file-not-found-url",sortField:"redirectSrcUrl",title:Craft.t("retour","404 File Not Found URL"),titleClass:"center vuetable-th-redirectSrcUrl",dataClass:"center vuetable-td-redirectSrcUrl"},{name:"referrerUrl",sortField:"referrerUrl",title:Craft.t("retour","Last Referrer URL"),titleClass:"center",dataClass:"center",callback:"urlFormatter"},{name:"remoteIp",sortField:"remoteIp",title:Craft.t("retour","Remote IP"),titleClass:"center",dataClass:"center",callback:"ipFormatter"},{name:"hitCount",sortField:"hitCount",title:Craft.t("retour","Hits"),titleClass:"text-right",dataClass:"text-right"},{name:"hitLastTime",sortField:"hitLastTime",title:Craft.t("retour","Last Hit"),titleClass:"center",dataClass:"center"},{name:"handledByRetour",sortField:"handledByRetour",title:Craft.t("retour","Handled"),titleClass:"text-center",dataClass:"text-center",callback:"boolFormatter"},{name:"addLink",sortField:"addLink",title:"",titleClass:"text-center",dataClass:"text-center",callback:"addUrlFormatter"}],J={props:{rowData:{type:Object,required:!0},rowIndex:{type:Number,default:0}},computed:{linkHref:function(){let e=this.rowData.redirectSrcUrlFull;return typeof e>"u"||e===""?"":(!new RegExp("^(?:[a-z]+:)?//","i").test(e)&&!e.includes("$")&&(e=Craft.getSiteUrl(e)),e)},linkTitle:function(){let e="";return e+="User Agent: "+this.rowData.userAgent+` `,e+="Message: "+this.rowData.exceptionMessage+` @@ -15,4 +15,4 @@ import{V as P,a as S,b as $,c as k,s as I,p as x,_ as F}from"./purify.es-Xo6LZ5T `},addUrlFormatter(e){return e===""?"":` `}}};var st=function(){var t=this,i=t._self._c;return i("div",[i("div",{directives:[{name:"show",rawName:"v-show",value:t.numSelected!==0,expression:"numSelected !== 0"}]},[i("form",{attrs:{"accept-charset":"UTF-8",method:"post"}},[i("input",{attrs:{name:t.csrfTokenName,type:"hidden"},domProps:{value:t.csrfTokenValue}}),t._l(t.selectedIds,function(r){return i("input",{key:r,attrs:{name:"statisticIds[]",type:"hidden"},domProps:{value:r}})}),i("label",{staticClass:"text-gray-600"},[t._v(t._s(t.numSelected)+" "),t.numSelected===1?i("span",[t._v(t._s(t.stringStatistic))]):t._e(),t.numSelected!==1?i("span",[t._v(t._s(t.stringStatistics))]):t._e(),t._v(":")]),i("div",{staticClass:"btngroup inline"},[i("div",{staticClass:"ml-2 btn menubtn",attrs:{"data-icon":"settings"}}),i("div",{staticClass:"menu",attrs:{"data-align":"right"}},[i("ul",[i("li",[i("a",{staticClass:"formsubmit",attrs:{"data-action":"retour/statistics/delete-statistics"}},[t._v(t._s(t.stringDelete))])])])])])],2)]),i("vuetable-filter-bar",{directives:[{name:"show",rawName:"v-show",value:t.numSelected===0,expression:"numSelected === 0"}],attrs:{"initial-filter-text":t.filterText}}),i("div",{staticClass:"vuetable-pagination clearafter"},[i("vuetable-pagination-info",{ref:"paginationInfoTop"}),i("div",{staticClass:"floated left pl-3 pt-3 text-gray-600"},[i("div",{staticClass:"select"},[i("select",{directives:[{name:"model",rawName:"v-model",value:t.retourHandled,expression:"retourHandled"}],staticClass:"fieldtoggle",attrs:{"data-target-prefix":"retour-handled-",name:"retourHandled"},on:{change:function(r){var h=Array.prototype.filter.call(r.target.options,function(n){return n.selected}).map(function(n){var o="_value"in n?n._value:n.value;return o});t.retourHandled=r.target.multiple?h:h[0]}}},[i("option",{attrs:{selected:"",value:"all"}},[t._v(" All ")]),i("option",{attrs:{value:"handled"}},[t._v(" Handled ")]),i("option",{attrs:{value:"nothandled"}},[t._v(" Not Handled ")])])])]),i("vuetable-pagination",{ref:"paginationTop",on:{"vuetable-pagination:change-page":t.onChangePage}}),i("div",{staticClass:"floated left vuetable-pagination-info py-3"},[i("div",{staticClass:"inline pl-3 text-gray-600"},[t._v(" "+t._s(t.stringPerPage)+" ")]),i("div",{staticClass:"inline pl-3 text-gray-600"},[i("div",{staticClass:"select"},[i("select",{directives:[{name:"model",rawName:"v-model",value:t.perPage,expression:"perPage"}],staticClass:"fieldtoggle",attrs:{"data-target-prefix":"per-page-",name:"perPage"},on:{change:function(r){var h=Array.prototype.filter.call(r.target.options,function(n){return n.selected}).map(function(n){var o="_value"in n?n._value:n.value;return o});t.perPage=r.target.multiple?h:h[0]}}},[i("option",{attrs:{selected:"",value:"20"}},[t._v(" 20 ")]),i("option",{attrs:{value:"50"}},[t._v(" 50 ")]),i("option",{attrs:{value:"100"}},[t._v(" 100 ")]),i("option",{attrs:{value:"500"}},[t._v(" 500 ")])])])])])],1),i("vuetable",{ref:"vuetable",attrs:{"api-url":t.apiUrl,"append-params":t.moreParams,css:t.css,fields:t.fields,"per-page":t.perPage,"sort-order":t.sortOrder},on:{"vuetable:pagination-data":t.onPaginationData}}),i("div",{staticClass:"vuetable-pagination clearafter"},[i("vuetable-pagination-info",{ref:"paginationInfo"}),i("vuetable-pagination",{ref:"pagination",on:{"vuetable-pagination:change-page":t.onChangePage}})],1)],1)},at=[],nt=p(it,st,at,!1,null,null);const rt=nt.exports,b=window.Vue;b.use(F);new b({el:"#cp-nav-content",components:{ConfettiParty:O,DashboardChart:X,DashboardTable:rt},data:{},mounted(){this.$events.$on("refresh-table",e=>this.onTableRefresh(e))},methods:{onTableRefresh(e){b.nextTick(()=>e.refresh())}}}); -//# sourceMappingURL=dashboard-arO7X85D.js.map +//# sourceMappingURL=dashboard--4c4omta.js.map diff --git a/src/web/assets/dist/assets/dashboard--4c4omta.js.gz b/src/web/assets/dist/assets/dashboard--4c4omta.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..52eae7e9dead42b26cd6da0be1bb74af5382c7eb GIT binary patch literal 5779 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 RFCDXQ{u>QQZ|bf{003rnH@N@+ literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/dashboard-arO7X85D.js.map b/src/web/assets/dist/assets/dashboard--4c4omta.js.map similarity index 99% rename from src/web/assets/dist/assets/dashboard-arO7X85D.js.map rename to src/web/assets/dist/assets/dashboard--4c4omta.js.map index e8742baa..a69aea65 100644 --- a/src/web/assets/dist/assets/dashboard-arO7X85D.js.map +++ b/src/web/assets/dist/assets/dashboard--4c4omta.js.map @@ -1 +1 @@ -{"version":3,"file":"dashboard-arO7X85D.js","sources":["../../../../../buildchain/node_modules/vue-confetti/dist/vue-confetti.js","../../../../../buildchain/src/vue/ConfettiParty.vue","../../../../../buildchain/src/vue/DashboardChart.vue","../../../../../buildchain/src/vue/DashboardFieldDefs.js","../../../../../buildchain/src/vue/FileNotFoundUrl.vue","../../../../../buildchain/src/vue/DashboardTable.vue","../../../../../buildchain/src/js/Dashboard.js"],"sourcesContent":["!function(t,i){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define([],i):\"object\"==typeof exports?exports[\"vue-confetti\"]=i():t[\"vue-confetti\"]=i()}(this,function(){return function(t){function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}var e={};return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p=\"\",i(i.s=0)}([function(t,i,e){\"use strict\";Object.defineProperty(i,\"__esModule\",{value:!0});var n=e(1);e.d(i,\"Confetti\",function(){return n.a}),i.default={install:function(t,i){this.installed||(this.installed=!0,t.prototype.$confetti=new n.a(i))}}},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=e(2),a=function(){function t(t,i){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{};this.particles=new s.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:t.shape||\"circle\",colors:{opts:t.colors||[\"DodgerBlue\",\"OliveDrab\",\"Gold\",\"pink\",\"SlateBlue\",\"lightblue\",\"Violet\",\"PaleGreen\",\"SteelBlue\",\"SandyBrown\",\"Chocolate\",\"Crimson\"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:\"createContext\",value:function(){this.canvas=document.createElement(\"canvas\"),this.ctx=this.canvas.getContext(\"2d\"),this.canvas.style.display=\"block\",this.canvas.style.position=\"fixed\",this.canvas.style.pointerEvents=\"none\",this.canvas.style.top=0,this.canvas.style.width=\"100vw\",this.canvas.style.height=\"100vh\",this.canvas.id=\"confetti-canvas\",document.querySelector(\"body\").appendChild(this.canvas)}},{key:\"start\",value:function(t){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(t),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener(\"resize\",this.onResizeCallback)}},{key:\"stop\",value:function(){this.particlesPerFrame=0,window.removeEventListener(\"resize\",this.onResizeCallback)}},{key:\"remove\",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:\"updateDimensions\",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:\"mainLoop\",value:function(t){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(t/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push((new s.a).setup(this.opts))}}]),t}();i.a=o},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=function(){function t(t,i){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t|0}},{key:\"rand\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t}},{key:\"update\",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:\"drawCircle\",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:\"drawRect\",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:\"drawHeart\",value:function(){var t=this,i=function(i,e,n,s,a,o){t.ctx.bezierCurveTo(i/t.r*2,e/t.r*2,n/t.r*2,s/t.r*2,a/t.r*2,o/t.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),i(75,37,70,25,50,25),i(20,25,20,62.5,20,62.5),i(20,80,40,102,75,120),i(110,102,130,80,130,62.5),i(130,62.5,130,25,100,25),i(85,25,75,37,75,40),this.ctx.fill()}},{key:\"draw\",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),\"circle\"===this.shape?this.drawCircle():\"rect\"===this.shape?this.drawRect():\"heart\"===this.shape&&this.drawHeart()}}]),t}();i.a=a}])});","\n\n\n","\n\n\n","// Field definitions for DashboardTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:file-not-found-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', '404 File Not Found URL'),\n titleClass: 'center vuetable-th-redirectSrcUrl',\n dataClass: 'center vuetable-td-redirectSrcUrl',\n },\n {\n name: 'referrerUrl',\n sortField: 'referrerUrl',\n title: Craft.t('retour', 'Last Referrer URL'),\n titleClass: 'center',\n dataClass: 'center',\n callback: 'urlFormatter'\n },\n {\n name: 'remoteIp',\n sortField: 'remoteIp',\n title: Craft.t('retour', 'Remote IP'),\n titleClass: 'center',\n dataClass: 'center',\n callback: 'ipFormatter'\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: 'handledByRetour',\n sortField: 'handledByRetour',\n title: Craft.t('retour', 'Handled'),\n titleClass: 'text-center',\n dataClass: 'text-center',\n callback: 'boolFormatter'\n },\n {\n name: 'addLink',\n sortField: 'addLink',\n title: '',\n titleClass: 'text-center',\n dataClass: 'text-center',\n callback: 'addUrlFormatter'\n }\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport ConfettiParty from '@/vue/ConfettiParty.vue';\nimport DashboardChart from '@/vue/DashboardChart.vue';\nimport DashboardTable from '@/vue/DashboardTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n ConfettiParty,\n DashboardChart,\n DashboardTable,\n },\n data: {},\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n\n"],"names":["t","i","module","this","e","s","n","a","o","r","h","c","Vue","VueConfetti","_sfc_main","largestNumber","mainArray","subArray","configureApi","url","queryApi","api","uri","params","callback","result","error","ApexCharts","chartsAPI","Axios","data","largest","FieldDefs","title","FileNotFoundUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","value","DOMPurify","VueEvents","ConfettiParty","DashboardChart","DashboardTable","vuetable"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"dashboard--4c4omta.js","sources":["../../../../../buildchain/node_modules/vue-confetti/dist/vue-confetti.js","../../../../../buildchain/src/vue/ConfettiParty.vue","../../../../../buildchain/src/vue/DashboardChart.vue","../../../../../buildchain/src/vue/DashboardFieldDefs.js","../../../../../buildchain/src/vue/FileNotFoundUrl.vue","../../../../../buildchain/src/vue/DashboardTable.vue","../../../../../buildchain/src/js/Dashboard.js"],"sourcesContent":["!function(t,i){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define([],i):\"object\"==typeof exports?exports[\"vue-confetti\"]=i():t[\"vue-confetti\"]=i()}(this,function(){return function(t){function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}var e={};return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p=\"\",i(i.s=0)}([function(t,i,e){\"use strict\";Object.defineProperty(i,\"__esModule\",{value:!0});var n=e(1);e.d(i,\"Confetti\",function(){return n.a}),i.default={install:function(t,i){this.installed||(this.installed=!0,t.prototype.$confetti=new n.a(i))}}},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=e(2),a=function(){function t(t,i){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{};this.particles=new s.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:t.shape||\"circle\",colors:{opts:t.colors||[\"DodgerBlue\",\"OliveDrab\",\"Gold\",\"pink\",\"SlateBlue\",\"lightblue\",\"Violet\",\"PaleGreen\",\"SteelBlue\",\"SandyBrown\",\"Chocolate\",\"Crimson\"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:\"createContext\",value:function(){this.canvas=document.createElement(\"canvas\"),this.ctx=this.canvas.getContext(\"2d\"),this.canvas.style.display=\"block\",this.canvas.style.position=\"fixed\",this.canvas.style.pointerEvents=\"none\",this.canvas.style.top=0,this.canvas.style.width=\"100vw\",this.canvas.style.height=\"100vh\",this.canvas.id=\"confetti-canvas\",document.querySelector(\"body\").appendChild(this.canvas)}},{key:\"start\",value:function(t){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(t),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener(\"resize\",this.onResizeCallback)}},{key:\"stop\",value:function(){this.particlesPerFrame=0,window.removeEventListener(\"resize\",this.onResizeCallback)}},{key:\"remove\",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:\"updateDimensions\",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:\"mainLoop\",value:function(t){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(t/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push((new s.a).setup(this.opts))}}]),t}();i.a=o},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=function(){function t(t,i){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t|0}},{key:\"rand\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t}},{key:\"update\",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:\"drawCircle\",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:\"drawRect\",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:\"drawHeart\",value:function(){var t=this,i=function(i,e,n,s,a,o){t.ctx.bezierCurveTo(i/t.r*2,e/t.r*2,n/t.r*2,s/t.r*2,a/t.r*2,o/t.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),i(75,37,70,25,50,25),i(20,25,20,62.5,20,62.5),i(20,80,40,102,75,120),i(110,102,130,80,130,62.5),i(130,62.5,130,25,100,25),i(85,25,75,37,75,40),this.ctx.fill()}},{key:\"draw\",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),\"circle\"===this.shape?this.drawCircle():\"rect\"===this.shape?this.drawRect():\"heart\"===this.shape&&this.drawHeart()}}]),t}();i.a=a}])});","\n\n\n","\n\n\n","// Field definitions for DashboardTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:file-not-found-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', '404 File Not Found URL'),\n titleClass: 'center vuetable-th-redirectSrcUrl',\n dataClass: 'center vuetable-td-redirectSrcUrl',\n },\n {\n name: 'referrerUrl',\n sortField: 'referrerUrl',\n title: Craft.t('retour', 'Last Referrer URL'),\n titleClass: 'center',\n dataClass: 'center',\n callback: 'urlFormatter'\n },\n {\n name: 'remoteIp',\n sortField: 'remoteIp',\n title: Craft.t('retour', 'Remote IP'),\n titleClass: 'center',\n dataClass: 'center',\n callback: 'ipFormatter'\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: 'handledByRetour',\n sortField: 'handledByRetour',\n title: Craft.t('retour', 'Handled'),\n titleClass: 'text-center',\n dataClass: 'text-center',\n callback: 'boolFormatter'\n },\n {\n name: 'addLink',\n sortField: 'addLink',\n title: '',\n titleClass: 'text-center',\n dataClass: 'text-center',\n callback: 'addUrlFormatter'\n }\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport ConfettiParty from '@/vue/ConfettiParty.vue';\nimport DashboardChart from '@/vue/DashboardChart.vue';\nimport DashboardTable from '@/vue/DashboardTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n ConfettiParty,\n DashboardChart,\n DashboardTable,\n },\n data: {},\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n\n"],"names":["t","i","module","this","e","s","n","a","o","r","h","c","Vue","VueConfetti","_sfc_main","largestNumber","mainArray","subArray","configureApi","url","queryApi","api","uri","params","callback","result","error","ApexCharts","chartsAPI","Axios","data","largest","FieldDefs","title","FileNotFoundUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","value","DOMPurify","VueEvents","ConfettiParty","DashboardChart","DashboardTable","vuetable"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/src/web/assets/dist/assets/dashboard--4c4omta.js.map.gz b/src/web/assets/dist/assets/dashboard--4c4omta.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..87a87bac2a33c38a4689a2ff59db65495e3daa62 GIT binary patch literal 10065 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 literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/dashboard-arO7X85D.js.gz b/src/web/assets/dist/assets/dashboard-arO7X85D.js.gz deleted file mode 100644 index 3f7ad526d65687224da9a305846ab62df9511ae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5782 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 diff --git a/src/web/assets/dist/assets/dashboard-arO7X85D.js.map.gz b/src/web/assets/dist/assets/dashboard-arO7X85D.js.map.gz deleted file mode 100644 index 9316ca8e3168313840ce3825299ba18f037130b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10067 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 pPS=>{const M=Ca.call(S);return w[M]||(w[M]=M.slice(8,-1).toLowerCase())})(Object.create(null)),Pe=w=>(w=w.toLowerCase(),S=>nt(S)===w),ot=w=>S=>typeof S===w,{isArray:Be}=Array,Ze=ot("undefined");function La(w){return w!==null&&!Ze(w)&&w.constructor!==null&&!Ze(w.constructor)&&ke(w.constructor.isBuffer)&&w.constructor.isBuffer(w)}const bi=Pe("ArrayBuffer");function Pa(w){let S;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?S=ArrayBuffer.isView(w):S=w&&w.buffer&&bi(w.buffer),S}const Ma=ot("string"),ke=ot("function"),mi=ot("number"),lt=w=>w!==null&&typeof w=="object",Ea=w=>w===!0||w===!1,it=w=>{if(nt(w)!=="object")return!1;const S=It(w);return(S===null||S===Object.prototype||Object.getPrototypeOf(S)===null)&&!(Symbol.toStringTag in w)&&!(Symbol.iterator in w)},Ta=Pe("Date"),Ia=Pe("File"),Ra=Pe("Blob"),za=Pe("FileList"),Xa=w=>lt(w)&&ke(w.pipe),Oa=w=>{let S;return w&&(typeof FormData=="function"&&w instanceof FormData||ke(w.append)&&((S=nt(w))==="formdata"||S==="object"&&ke(w.toString)&&w.toString()==="[object FormData]"))},Fa=Pe("URLSearchParams"),[Ya,Da,Na,Ha]=["ReadableStream","Request","Response","Headers"].map(Pe),Ba=w=>w.trim?w.trim():w.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function $e(w,S,{allOwnKeys:M=!1}={}){if(w===null||typeof w>"u")return;let L,R;if(typeof w!="object"&&(w=[w]),Be(w))for(L=0,R=w.length;L0;)if(R=M[L],S===R.toLowerCase())return R;return null}const Oe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,yi=w=>!Ze(w)&&w!==Oe;function St(){const{caseless:w}=yi(this)&&this||{},S={},M=(L,R)=>{const T=w&&vi(S,R)||R;it(S[T])&&it(L)?S[T]=St(S[T],L):it(L)?S[T]=St({},L):Be(L)?S[T]=L.slice():S[T]=L};for(let L=0,R=arguments.length;L($e(S,(R,T)=>{M&&ke(R)?w[T]=xi(R,M):w[T]=R},{allOwnKeys:L}),w),Ga=w=>(w.charCodeAt(0)===65279&&(w=w.slice(1)),w),Va=(w,S,M,L)=>{w.prototype=Object.create(S.prototype,L),w.prototype.constructor=w,Object.defineProperty(w,"super",{value:S.prototype}),M&&Object.assign(w.prototype,M)},_a=(w,S,M,L)=>{let R,T,O;const z={};if(S=S||{},w==null)return S;do{for(R=Object.getOwnPropertyNames(w),T=R.length;T-- >0;)O=R[T],(!L||L(O,w,S))&&!z[O]&&(S[O]=w[O],z[O]=!0);w=M!==!1&&It(w)}while(w&&(!M||M(w,S))&&w!==Object.prototype);return S},ja=(w,S,M)=>{w=String(w),(M===void 0||M>w.length)&&(M=w.length),M-=S.length;const L=w.indexOf(S,M);return L!==-1&&L===M},Ua=w=>{if(!w)return null;if(Be(w))return w;let S=w.length;if(!mi(S))return null;const M=new Array(S);for(;S-- >0;)M[S]=w[S];return M},qa=(w=>S=>w&&S instanceof w)(typeof Uint8Array<"u"&&It(Uint8Array)),Za=(w,S)=>{const L=(w&&w[Symbol.iterator]).call(w);let R;for(;(R=L.next())&&!R.done;){const T=R.value;S.call(w,T[0],T[1])}},$a=(w,S)=>{let M;const L=[];for(;(M=w.exec(S))!==null;)L.push(M);return L},Ja=Pe("HTMLFormElement"),Ka=w=>w.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(M,L,R){return L.toUpperCase()+R}),ei=(({hasOwnProperty:w})=>(S,M)=>w.call(S,M))(Object.prototype),Qa=Pe("RegExp"),wi=(w,S)=>{const M=Object.getOwnPropertyDescriptors(w),L={};$e(M,(R,T)=>{let O;(O=S(R,T,w))!==!1&&(L[T]=O||R)}),Object.defineProperties(w,L)},es=w=>{wi(w,(S,M)=>{if(ke(w)&&["arguments","caller","callee"].indexOf(M)!==-1)return!1;const L=w[M];if(ke(L)){if(S.enumerable=!1,"writable"in S){S.writable=!1;return}S.set||(S.set=()=>{throw Error("Can not rewrite read-only method '"+M+"'")})}})},ts=(w,S)=>{const M={},L=R=>{R.forEach(T=>{M[T]=!0})};return Be(w)?L(w):L(String(w).split(S)),M},is=()=>{},as=(w,S)=>w!=null&&Number.isFinite(w=+w)?w:S,yt="abcdefghijklmnopqrstuvwxyz",ti="0123456789",Ai={DIGIT:ti,ALPHA:yt,ALPHA_DIGIT:yt+yt.toUpperCase()+ti},ss=(w=16,S=Ai.ALPHA_DIGIT)=>{let M="";const{length:L}=S;for(;w--;)M+=S[Math.random()*L|0];return M};function rs(w){return!!(w&&ke(w.append)&&w[Symbol.toStringTag]==="FormData"&&w[Symbol.iterator])}const ns=w=>{const S=new Array(10),M=(L,R)=>{if(lt(L)){if(S.indexOf(L)>=0)return;if(!("toJSON"in L)){S[R]=L;const T=Be(L)?[]:{};return $e(L,(O,z)=>{const D=M(O,R+1);!Ze(D)&&(T[z]=D)}),S[R]=void 0,T}}return L};return M(w,0)},os=Pe("AsyncFunction"),ls=w=>w&&(lt(w)||ke(w))&&ke(w.then)&&ke(w.catch),ki=((w,S)=>w?setImmediate:S?((M,L)=>(Oe.addEventListener("message",({source:R,data:T})=>{R===Oe&&T===M&&L.length&&L.shift()()},!1),R=>{L.push(R),Oe.postMessage(M,"*")}))(`axios@${Math.random()}`,[]):M=>setTimeout(M))(typeof setImmediate=="function",ke(Oe.postMessage)),hs=typeof queueMicrotask<"u"?queueMicrotask.bind(Oe):typeof process<"u"&&process.nextTick||ki,N={isArray:Be,isArrayBuffer:bi,isBuffer:La,isFormData:Oa,isArrayBufferView:Pa,isString:Ma,isNumber:mi,isBoolean:Ea,isObject:lt,isPlainObject:it,isReadableStream:Ya,isRequest:Da,isResponse:Na,isHeaders:Ha,isUndefined:Ze,isDate:Ta,isFile:Ia,isBlob:Ra,isRegExp:Qa,isFunction:ke,isStream:Xa,isURLSearchParams:Fa,isTypedArray:qa,isFileList:za,forEach:$e,merge:St,extend:Wa,trim:Ba,stripBOM:Ga,inherits:Va,toFlatObject:_a,kindOf:nt,kindOfTest:Pe,endsWith:ja,toArray:Ua,forEachEntry:Za,matchAll:$a,isHTMLForm:Ja,hasOwnProperty:ei,hasOwnProp:ei,reduceDescriptors:wi,freezeMethods:es,toObjectSet:ts,toCamelCase:Ka,noop:is,toFiniteNumber:as,findKey:vi,global:Oe,isContextDefined:yi,ALPHABET:Ai,generateString:ss,isSpecCompliantForm:rs,toJSONObject:ns,isAsyncFn:os,isThenable:ls,setImmediate:ki,asap:hs};function te(w,S,M,L,R){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=w,this.name="AxiosError",S&&(this.code=S),M&&(this.config=M),L&&(this.request=L),R&&(this.response=R)}N.inherits(te,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:N.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Si=te.prototype,Ci={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(w=>{Ci[w]={value:w}});Object.defineProperties(te,Ci);Object.defineProperty(Si,"isAxiosError",{value:!0});te.from=(w,S,M,L,R,T)=>{const O=Object.create(Si);return N.toFlatObject(w,O,function(D){return D!==Error.prototype},z=>z!=="isAxiosError"),te.call(O,w.message,S,M,L,R),O.cause=w,O.name=w.name,T&&Object.assign(O,T),O};const cs=null;function Ct(w){return N.isPlainObject(w)||N.isArray(w)}function Li(w){return N.endsWith(w,"[]")?w.slice(0,-2):w}function ii(w,S,M){return w?w.concat(S).map(function(R,T){return R=Li(R),!M&&T?"["+R+"]":R}).join(M?".":""):S}function ds(w){return N.isArray(w)&&!w.some(Ct)}const us=N.toFlatObject(N,{},null,function(S){return/^is[A-Z]/.test(S)});function ht(w,S,M){if(!N.isObject(w))throw new TypeError("target must be an object");S=S||new FormData,M=N.toFlatObject(M,{metaTokens:!0,dots:!1,indexes:!1},!1,function($,q){return!N.isUndefined(q[$])});const L=M.metaTokens,R=M.visitor||V,T=M.dots,O=M.indexes,D=(M.Blob||typeof Blob<"u"&&Blob)&&N.isSpecCompliantForm(S);if(!N.isFunction(R))throw new TypeError("visitor must be a function");function G(J){if(J===null)return"";if(N.isDate(J))return J.toISOString();if(!D&&N.isBlob(J))throw new te("Blob is not supported. Use a Buffer instead.");return N.isArrayBuffer(J)||N.isTypedArray(J)?D&&typeof Blob=="function"?new Blob([J]):Buffer.from(J):J}function V(J,$,q){let xe=J;if(J&&!q&&typeof J=="object"){if(N.endsWith($,"{}"))$=L?$:$.slice(0,-2),J=JSON.stringify(J);else if(N.isArray(J)&&ds(J)||(N.isFileList(J)||N.endsWith($,"[]"))&&(xe=N.toArray(J)))return $=Li($),xe.forEach(function(ie,ce){!(N.isUndefined(ie)||ie===null)&&S.append(O===!0?ii([$],ce,T):O===null?$:$+"[]",G(ie))}),!1}return Ct(J)?!0:(S.append(ii(q,$,T),G(J)),!1)}const U=[],ae=Object.assign(us,{defaultVisitor:V,convertValue:G,isVisitable:Ct});function le(J,$){if(!N.isUndefined(J)){if(U.indexOf(J)!==-1)throw Error("Circular reference detected in "+$.join("."));U.push(J),N.forEach(J,function(xe,X){(!(N.isUndefined(xe)||xe===null)&&R.call(S,xe,N.isString(X)?X.trim():X,$,ae))===!0&&le(xe,$?$.concat(X):[X])}),U.pop()}}if(!N.isObject(w))throw new TypeError("data must be an object");return le(w),S}function ai(w){const S={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(w).replace(/[!'()~]|%20|%00/g,function(L){return S[L]})}function Rt(w,S){this._pairs=[],w&&ht(w,this,S)}const Pi=Rt.prototype;Pi.append=function(S,M){this._pairs.push([S,M])};Pi.toString=function(S){const M=S?function(L){return S.call(this,L,ai)}:ai;return this._pairs.map(function(R){return M(R[0])+"="+M(R[1])},"").join("&")};function gs(w){return encodeURIComponent(w).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Mi(w,S,M){if(!S)return w;const L=M&&M.encode||gs,R=M&&M.serialize;let T;if(R?T=R(S,M):T=N.isURLSearchParams(S)?S.toString():new Rt(S,M).toString(L),T){const O=w.indexOf("#");O!==-1&&(w=w.slice(0,O)),w+=(w.indexOf("?")===-1?"?":"&")+T}return w}class si{constructor(){this.handlers=[]}use(S,M,L){return this.handlers.push({fulfilled:S,rejected:M,synchronous:L?L.synchronous:!1,runWhen:L?L.runWhen:null}),this.handlers.length-1}eject(S){this.handlers[S]&&(this.handlers[S]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(S){N.forEach(this.handlers,function(L){L!==null&&S(L)})}}const Ei={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},fs=typeof URLSearchParams<"u"?URLSearchParams:Rt,ps=typeof FormData<"u"?FormData:null,xs=typeof Blob<"u"?Blob:null,bs={isBrowser:!0,classes:{URLSearchParams:fs,FormData:ps,Blob:xs},protocols:["http","https","file","blob","url","data"]},zt=typeof window<"u"&&typeof document<"u",ms=(w=>zt&&["ReactNative","NativeScript","NS"].indexOf(w)<0)(typeof navigator<"u"&&navigator.product),vs=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ys=zt&&window.location.href||"http://localhost",ws=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:zt,hasStandardBrowserEnv:ms,hasStandardBrowserWebWorkerEnv:vs,origin:ys},Symbol.toStringTag,{value:"Module"})),Le={...ws,...bs};function As(w,S){return ht(w,new Le.classes.URLSearchParams,Object.assign({visitor:function(M,L,R,T){return Le.isNode&&N.isBuffer(M)?(this.append(L,M.toString("base64")),!1):T.defaultVisitor.apply(this,arguments)}},S))}function ks(w){return N.matchAll(/\w+|\[(\w*)]/g,w).map(S=>S[0]==="[]"?"":S[1]||S[0])}function Ss(w){const S={},M=Object.keys(w);let L;const R=M.length;let T;for(L=0;L=M.length;return O=!O&&N.isArray(R)?R.length:O,D?(N.hasOwnProp(R,O)?R[O]=[R[O],L]:R[O]=L,!z):((!R[O]||!N.isObject(R[O]))&&(R[O]=[]),S(M,L,R[O],T)&&N.isArray(R[O])&&(R[O]=Ss(R[O])),!z)}if(N.isFormData(w)&&N.isFunction(w.entries)){const M={};return N.forEachEntry(w,(L,R)=>{S(ks(L),R,M,0)}),M}return null}function Cs(w,S,M){if(N.isString(w))try{return(S||JSON.parse)(w),N.trim(w)}catch(L){if(L.name!=="SyntaxError")throw L}return(M||JSON.stringify)(w)}const Je={transitional:Ei,adapter:["xhr","http","fetch"],transformRequest:[function(S,M){const L=M.getContentType()||"",R=L.indexOf("application/json")>-1,T=N.isObject(S);if(T&&N.isHTMLForm(S)&&(S=new FormData(S)),N.isFormData(S))return R?JSON.stringify(Ti(S)):S;if(N.isArrayBuffer(S)||N.isBuffer(S)||N.isStream(S)||N.isFile(S)||N.isBlob(S)||N.isReadableStream(S))return S;if(N.isArrayBufferView(S))return S.buffer;if(N.isURLSearchParams(S))return M.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),S.toString();let z;if(T){if(L.indexOf("application/x-www-form-urlencoded")>-1)return As(S,this.formSerializer).toString();if((z=N.isFileList(S))||L.indexOf("multipart/form-data")>-1){const D=this.env&&this.env.FormData;return ht(z?{"files[]":S}:S,D&&new D,this.formSerializer)}}return T||R?(M.setContentType("application/json",!1),Cs(S)):S}],transformResponse:[function(S){const M=this.transitional||Je.transitional,L=M&&M.forcedJSONParsing,R=this.responseType==="json";if(N.isResponse(S)||N.isReadableStream(S))return S;if(S&&N.isString(S)&&(L&&!this.responseType||R)){const O=!(M&&M.silentJSONParsing)&&R;try{return JSON.parse(S)}catch(z){if(O)throw z.name==="SyntaxError"?te.from(z,te.ERR_BAD_RESPONSE,this,null,this.response):z}}return S}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Le.classes.FormData,Blob:Le.classes.Blob},validateStatus:function(S){return S>=200&&S<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};N.forEach(["delete","get","head","post","put","patch"],w=>{Je.headers[w]={}});const Ls=N.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ps=w=>{const S={};let M,L,R;return w&&w.split(` -`).forEach(function(O){R=O.indexOf(":"),M=O.substring(0,R).trim().toLowerCase(),L=O.substring(R+1).trim(),!(!M||S[M]&&Ls[M])&&(M==="set-cookie"?S[M]?S[M].push(L):S[M]=[L]:S[M]=S[M]?S[M]+", "+L:L)}),S},ri=Symbol("internals");function qe(w){return w&&String(w).trim().toLowerCase()}function at(w){return w===!1||w==null?w:N.isArray(w)?w.map(at):String(w)}function Ms(w){const S=Object.create(null),M=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let L;for(;L=M.exec(w);)S[L[1]]=L[2];return S}const Es=w=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(w.trim());function wt(w,S,M,L,R){if(N.isFunction(L))return L.call(this,S,M);if(R&&(S=M),!!N.isString(S)){if(N.isString(L))return S.indexOf(L)!==-1;if(N.isRegExp(L))return L.test(S)}}function Ts(w){return w.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(S,M,L)=>M.toUpperCase()+L)}function Is(w,S){const M=N.toCamelCase(" "+S);["get","set","has"].forEach(L=>{Object.defineProperty(w,L+M,{value:function(R,T,O){return this[L].call(this,S,R,T,O)},configurable:!0})})}class we{constructor(S){S&&this.set(S)}set(S,M,L){const R=this;function T(z,D,G){const V=qe(D);if(!V)throw new Error("header name must be a non-empty string");const U=N.findKey(R,V);(!U||R[U]===void 0||G===!0||G===void 0&&R[U]!==!1)&&(R[U||D]=at(z))}const O=(z,D)=>N.forEach(z,(G,V)=>T(G,V,D));if(N.isPlainObject(S)||S instanceof this.constructor)O(S,M);else if(N.isString(S)&&(S=S.trim())&&!Es(S))O(Ps(S),M);else if(N.isHeaders(S))for(const[z,D]of S.entries())T(D,z,L);else S!=null&&T(M,S,L);return this}get(S,M){if(S=qe(S),S){const L=N.findKey(this,S);if(L){const R=this[L];if(!M)return R;if(M===!0)return Ms(R);if(N.isFunction(M))return M.call(this,R,L);if(N.isRegExp(M))return M.exec(R);throw new TypeError("parser must be boolean|regexp|function")}}}has(S,M){if(S=qe(S),S){const L=N.findKey(this,S);return!!(L&&this[L]!==void 0&&(!M||wt(this,this[L],L,M)))}return!1}delete(S,M){const L=this;let R=!1;function T(O){if(O=qe(O),O){const z=N.findKey(L,O);z&&(!M||wt(L,L[z],z,M))&&(delete L[z],R=!0)}}return N.isArray(S)?S.forEach(T):T(S),R}clear(S){const M=Object.keys(this);let L=M.length,R=!1;for(;L--;){const T=M[L];(!S||wt(this,this[T],T,S,!0))&&(delete this[T],R=!0)}return R}normalize(S){const M=this,L={};return N.forEach(this,(R,T)=>{const O=N.findKey(L,T);if(O){M[O]=at(R),delete M[T];return}const z=S?Ts(T):String(T).trim();z!==T&&delete M[T],M[z]=at(R),L[z]=!0}),this}concat(...S){return this.constructor.concat(this,...S)}toJSON(S){const M=Object.create(null);return N.forEach(this,(L,R)=>{L!=null&&L!==!1&&(M[R]=S&&N.isArray(L)?L.join(", "):L)}),M}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([S,M])=>S+": "+M).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(S){return S instanceof this?S:new this(S)}static concat(S,...M){const L=new this(S);return M.forEach(R=>L.set(R)),L}static accessor(S){const L=(this[ri]=this[ri]={accessors:{}}).accessors,R=this.prototype;function T(O){const z=qe(O);L[z]||(Is(R,O),L[z]=!0)}return N.isArray(S)?S.forEach(T):T(S),this}}we.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);N.reduceDescriptors(we.prototype,({value:w},S)=>{let M=S[0].toUpperCase()+S.slice(1);return{get:()=>w,set(L){this[M]=L}}});N.freezeMethods(we);function At(w,S){const M=this||Je,L=S||M,R=we.from(L.headers);let T=L.data;return N.forEach(w,function(z){T=z.call(M,T,R.normalize(),S?S.status:void 0)}),R.normalize(),T}function Ii(w){return!!(w&&w.__CANCEL__)}function We(w,S,M){te.call(this,w??"canceled",te.ERR_CANCELED,S,M),this.name="CanceledError"}N.inherits(We,te,{__CANCEL__:!0});function Ri(w,S,M){const L=M.config.validateStatus;!M.status||!L||L(M.status)?w(M):S(new te("Request failed with status code "+M.status,[te.ERR_BAD_REQUEST,te.ERR_BAD_RESPONSE][Math.floor(M.status/100)-4],M.config,M.request,M))}function Rs(w){const S=/^([-+\w]{1,25})(:?\/\/|:)/.exec(w);return S&&S[1]||""}function zs(w,S){w=w||10;const M=new Array(w),L=new Array(w);let R=0,T=0,O;return S=S!==void 0?S:1e3,function(D){const G=Date.now(),V=L[T];O||(O=G),M[R]=D,L[R]=G;let U=T,ae=0;for(;U!==R;)ae+=M[U++],U=U%w;if(R=(R+1)%w,R===T&&(T=(T+1)%w),G-O{M=V,R=null,T&&(clearTimeout(T),T=null),w.apply(null,G)};return[(...G)=>{const V=Date.now(),U=V-M;U>=L?O(G,V):(R=G,T||(T=setTimeout(()=>{T=null,O(R)},L-U)))},()=>R&&O(R)]}const st=(w,S,M=3)=>{let L=0;const R=zs(50,250);return Xs(T=>{const O=T.loaded,z=T.lengthComputable?T.total:void 0,D=O-L,G=R(D),V=O<=z;L=O;const U={loaded:O,total:z,progress:z?O/z:void 0,bytes:D,rate:G||void 0,estimated:G&&z&&V?(z-O)/G:void 0,event:T,lengthComputable:z!=null,[S?"download":"upload"]:!0};w(U)},M)},ni=(w,S)=>{const M=w!=null;return[L=>S[0]({lengthComputable:M,total:w,loaded:L}),S[1]]},oi=w=>(...S)=>N.asap(()=>w(...S)),Os=Le.hasStandardBrowserEnv?function(){const S=/(msie|trident)/i.test(navigator.userAgent),M=document.createElement("a");let L;function R(T){let O=T;return S&&(M.setAttribute("href",O),O=M.href),M.setAttribute("href",O),{href:M.href,protocol:M.protocol?M.protocol.replace(/:$/,""):"",host:M.host,search:M.search?M.search.replace(/^\?/,""):"",hash:M.hash?M.hash.replace(/^#/,""):"",hostname:M.hostname,port:M.port,pathname:M.pathname.charAt(0)==="/"?M.pathname:"/"+M.pathname}}return L=R(window.location.href),function(O){const z=N.isString(O)?R(O):O;return z.protocol===L.protocol&&z.host===L.host}}():function(){return function(){return!0}}(),Fs=Le.hasStandardBrowserEnv?{write(w,S,M,L,R,T){const O=[w+"="+encodeURIComponent(S)];N.isNumber(M)&&O.push("expires="+new Date(M).toGMTString()),N.isString(L)&&O.push("path="+L),N.isString(R)&&O.push("domain="+R),T===!0&&O.push("secure"),document.cookie=O.join("; ")},read(w){const S=document.cookie.match(new RegExp("(^|;\\s*)("+w+")=([^;]*)"));return S?decodeURIComponent(S[3]):null},remove(w){this.write(w,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Ys(w){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(w)}function Ds(w,S){return S?w.replace(/\/?\/$/,"")+"/"+S.replace(/^\/+/,""):w}function zi(w,S){return w&&!Ys(S)?Ds(w,S):S}const li=w=>w instanceof we?{...w}:w;function Ye(w,S){S=S||{};const M={};function L(G,V,U){return N.isPlainObject(G)&&N.isPlainObject(V)?N.merge.call({caseless:U},G,V):N.isPlainObject(V)?N.merge({},V):N.isArray(V)?V.slice():V}function R(G,V,U){if(N.isUndefined(V)){if(!N.isUndefined(G))return L(void 0,G,U)}else return L(G,V,U)}function T(G,V){if(!N.isUndefined(V))return L(void 0,V)}function O(G,V){if(N.isUndefined(V)){if(!N.isUndefined(G))return L(void 0,G)}else return L(void 0,V)}function z(G,V,U){if(U in S)return L(G,V);if(U in w)return L(void 0,G)}const D={url:T,method:T,data:T,baseURL:O,transformRequest:O,transformResponse:O,paramsSerializer:O,timeout:O,timeoutMessage:O,withCredentials:O,withXSRFToken:O,adapter:O,responseType:O,xsrfCookieName:O,xsrfHeaderName:O,onUploadProgress:O,onDownloadProgress:O,decompress:O,maxContentLength:O,maxBodyLength:O,beforeRedirect:O,transport:O,httpAgent:O,httpsAgent:O,cancelToken:O,socketPath:O,responseEncoding:O,validateStatus:z,headers:(G,V)=>R(li(G),li(V),!0)};return N.forEach(Object.keys(Object.assign({},w,S)),function(V){const U=D[V]||R,ae=U(w[V],S[V],V);N.isUndefined(ae)&&U!==z||(M[V]=ae)}),M}const Xi=w=>{const S=Ye({},w);let{data:M,withXSRFToken:L,xsrfHeaderName:R,xsrfCookieName:T,headers:O,auth:z}=S;S.headers=O=we.from(O),S.url=Mi(zi(S.baseURL,S.url),w.params,w.paramsSerializer),z&&O.set("Authorization","Basic "+btoa((z.username||"")+":"+(z.password?unescape(encodeURIComponent(z.password)):"")));let D;if(N.isFormData(M)){if(Le.hasStandardBrowserEnv||Le.hasStandardBrowserWebWorkerEnv)O.setContentType(void 0);else if((D=O.getContentType())!==!1){const[G,...V]=D?D.split(";").map(U=>U.trim()).filter(Boolean):[];O.setContentType([G||"multipart/form-data",...V].join("; "))}}if(Le.hasStandardBrowserEnv&&(L&&N.isFunction(L)&&(L=L(S)),L||L!==!1&&Os(S.url))){const G=R&&T&&Fs.read(T);G&&O.set(R,G)}return S},Ns=typeof XMLHttpRequest<"u",Hs=Ns&&function(w){return new Promise(function(M,L){const R=Xi(w);let T=R.data;const O=we.from(R.headers).normalize();let{responseType:z,onUploadProgress:D,onDownloadProgress:G}=R,V,U,ae,le,J;function $(){le&&le(),J&&J(),R.cancelToken&&R.cancelToken.unsubscribe(V),R.signal&&R.signal.removeEventListener("abort",V)}let q=new XMLHttpRequest;q.open(R.method.toUpperCase(),R.url,!0),q.timeout=R.timeout;function xe(){if(!q)return;const ie=we.from("getAllResponseHeaders"in q&&q.getAllResponseHeaders()),H={data:!z||z==="text"||z==="json"?q.responseText:q.response,status:q.status,statusText:q.statusText,headers:ie,config:w,request:q};Ri(function(ve){M(ve),$()},function(ve){L(ve),$()},H),q=null}"onloadend"in q?q.onloadend=xe:q.onreadystatechange=function(){!q||q.readyState!==4||q.status===0&&!(q.responseURL&&q.responseURL.indexOf("file:")===0)||setTimeout(xe)},q.onabort=function(){q&&(L(new te("Request aborted",te.ECONNABORTED,w,q)),q=null)},q.onerror=function(){L(new te("Network Error",te.ERR_NETWORK,w,q)),q=null},q.ontimeout=function(){let ce=R.timeout?"timeout of "+R.timeout+"ms exceeded":"timeout exceeded";const H=R.transitional||Ei;R.timeoutErrorMessage&&(ce=R.timeoutErrorMessage),L(new te(ce,H.clarifyTimeoutError?te.ETIMEDOUT:te.ECONNABORTED,w,q)),q=null},T===void 0&&O.setContentType(null),"setRequestHeader"in q&&N.forEach(O.toJSON(),function(ce,H){q.setRequestHeader(H,ce)}),N.isUndefined(R.withCredentials)||(q.withCredentials=!!R.withCredentials),z&&z!=="json"&&(q.responseType=R.responseType),G&&([ae,J]=st(G,!0),q.addEventListener("progress",ae)),D&&q.upload&&([U,le]=st(D),q.upload.addEventListener("progress",U),q.upload.addEventListener("loadend",le)),(R.cancelToken||R.signal)&&(V=ie=>{q&&(L(!ie||ie.type?new We(null,w,q):ie),q.abort(),q=null)},R.cancelToken&&R.cancelToken.subscribe(V),R.signal&&(R.signal.aborted?V():R.signal.addEventListener("abort",V)));const X=Rs(R.url);if(X&&Le.protocols.indexOf(X)===-1){L(new te("Unsupported protocol "+X+":",te.ERR_BAD_REQUEST,w));return}q.send(T||null)})},Bs=(w,S)=>{let M=new AbortController,L;const R=function(D){if(!L){L=!0,O();const G=D instanceof Error?D:this.reason;M.abort(G instanceof te?G:new We(G instanceof Error?G.message:G))}};let T=S&&setTimeout(()=>{R(new te(`timeout ${S} of ms exceeded`,te.ETIMEDOUT))},S);const O=()=>{w&&(T&&clearTimeout(T),T=null,w.forEach(D=>{D&&(D.removeEventListener?D.removeEventListener("abort",R):D.unsubscribe(R))}),w=null)};w.forEach(D=>D&&D.addEventListener&&D.addEventListener("abort",R));const{signal:z}=M;return z.unsubscribe=O,[z,()=>{T&&clearTimeout(T),T=null}]},Ws=function*(w,S){let M=w.byteLength;if(!S||M{const T=Gs(w,S,R);let O=0,z,D=G=>{z||(z=!0,L&&L(G))};return new ReadableStream({async pull(G){try{const{done:V,value:U}=await T.next();if(V){D(),G.close();return}let ae=U.byteLength;if(M){let le=O+=ae;M(le)}G.enqueue(new Uint8Array(U))}catch(V){throw D(V),V}},cancel(G){return D(G),T.return()}},{highWaterMark:2})},ct=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Oi=ct&&typeof ReadableStream=="function",Lt=ct&&(typeof TextEncoder=="function"?(w=>S=>w.encode(S))(new TextEncoder):async w=>new Uint8Array(await new Response(w).arrayBuffer())),Fi=(w,...S)=>{try{return!!w(...S)}catch{return!1}},Vs=Oi&&Fi(()=>{let w=!1;const S=new Request(Le.origin,{body:new ReadableStream,method:"POST",get duplex(){return w=!0,"half"}}).headers.has("Content-Type");return w&&!S}),ci=64*1024,Pt=Oi&&Fi(()=>N.isReadableStream(new Response("").body)),rt={stream:Pt&&(w=>w.body)};ct&&(w=>{["text","arrayBuffer","blob","formData","stream"].forEach(S=>{!rt[S]&&(rt[S]=N.isFunction(w[S])?M=>M[S]():(M,L)=>{throw new te(`Response type '${S}' is not supported`,te.ERR_NOT_SUPPORT,L)})})})(new Response);const _s=async w=>{if(w==null)return 0;if(N.isBlob(w))return w.size;if(N.isSpecCompliantForm(w))return(await new Request(w).arrayBuffer()).byteLength;if(N.isArrayBufferView(w)||N.isArrayBuffer(w))return w.byteLength;if(N.isURLSearchParams(w)&&(w=w+""),N.isString(w))return(await Lt(w)).byteLength},js=async(w,S)=>{const M=N.toFiniteNumber(w.getContentLength());return M??_s(S)},Us=ct&&(async w=>{let{url:S,method:M,data:L,signal:R,cancelToken:T,timeout:O,onDownloadProgress:z,onUploadProgress:D,responseType:G,headers:V,withCredentials:U="same-origin",fetchOptions:ae}=Xi(w);G=G?(G+"").toLowerCase():"text";let[le,J]=R||T||O?Bs([R,T],O):[],$,q;const xe=()=>{!$&&setTimeout(()=>{le&&le.unsubscribe()}),$=!0};let X;try{if(D&&Vs&&M!=="get"&&M!=="head"&&(X=await js(V,L))!==0){let re=new Request(S,{method:"POST",body:L,duplex:"half"}),ve;if(N.isFormData(L)&&(ve=re.headers.get("content-type"))&&V.setContentType(ve),re.body){const[Ge,ge]=ni(X,st(oi(D)));L=hi(re.body,ci,Ge,ge,Lt)}}N.isString(U)||(U=U?"include":"omit"),q=new Request(S,{...ae,signal:le,method:M.toUpperCase(),headers:V.normalize().toJSON(),body:L,duplex:"half",credentials:U});let ie=await fetch(q);const ce=Pt&&(G==="stream"||G==="response");if(Pt&&(z||ce)){const re={};["status","statusText","headers"].forEach(Te=>{re[Te]=ie[Te]});const ve=N.toFiniteNumber(ie.headers.get("content-length")),[Ge,ge]=z&&ni(ve,st(oi(z),!0))||[];ie=new Response(hi(ie.body,ci,Ge,()=>{ge&&ge(),ce&&xe()},Lt),re)}G=G||"text";let H=await rt[N.findKey(rt,G)||"text"](ie,w);return!ce&&xe(),J&&J(),await new Promise((re,ve)=>{Ri(re,ve,{data:H,headers:we.from(ie.headers),status:ie.status,statusText:ie.statusText,config:w,request:q})})}catch(ie){throw xe(),ie&&ie.name==="TypeError"&&/fetch/i.test(ie.message)?Object.assign(new te("Network Error",te.ERR_NETWORK,w,q),{cause:ie.cause||ie}):te.from(ie,ie&&ie.code,w,q)}}),Mt={http:cs,xhr:Hs,fetch:Us};N.forEach(Mt,(w,S)=>{if(w){try{Object.defineProperty(w,"name",{value:S})}catch{}Object.defineProperty(w,"adapterName",{value:S})}});const di=w=>`- ${w}`,qs=w=>N.isFunction(w)||w===null||w===!1,Yi={getAdapter:w=>{w=N.isArray(w)?w:[w];const{length:S}=w;let M,L;const R={};for(let T=0;T`adapter ${z} `+(D===!1?"is not supported by the environment":"is not available in the build"));let O=S?T.length>1?`since : -`+T.map(di).join(` -`):" "+di(T[0]):"as no adapter specified";throw new te("There is no suitable adapter to dispatch the request "+O,"ERR_NOT_SUPPORT")}return L},adapters:Mt};function kt(w){if(w.cancelToken&&w.cancelToken.throwIfRequested(),w.signal&&w.signal.aborted)throw new We(null,w)}function ui(w){return kt(w),w.headers=we.from(w.headers),w.data=At.call(w,w.transformRequest),["post","put","patch"].indexOf(w.method)!==-1&&w.headers.setContentType("application/x-www-form-urlencoded",!1),Yi.getAdapter(w.adapter||Je.adapter)(w).then(function(L){return kt(w),L.data=At.call(w,w.transformResponse,L),L.headers=we.from(L.headers),L},function(L){return Ii(L)||(kt(w),L&&L.response&&(L.response.data=At.call(w,w.transformResponse,L.response),L.response.headers=we.from(L.response.headers))),Promise.reject(L)})}const Di="1.7.4",Xt={};["object","boolean","number","function","string","symbol"].forEach((w,S)=>{Xt[w]=function(L){return typeof L===w||"a"+(S<1?"n ":" ")+w}});const gi={};Xt.transitional=function(S,M,L){function R(T,O){return"[Axios v"+Di+"] Transitional option '"+T+"'"+O+(L?". "+L:"")}return(T,O,z)=>{if(S===!1)throw new te(R(O," has been removed"+(M?" in "+M:"")),te.ERR_DEPRECATED);return M&&!gi[O]&&(gi[O]=!0,console.warn(R(O," has been deprecated since v"+M+" and will be removed in the near future"))),S?S(T,O,z):!0}};function Zs(w,S,M){if(typeof w!="object")throw new te("options must be an object",te.ERR_BAD_OPTION_VALUE);const L=Object.keys(w);let R=L.length;for(;R-- >0;){const T=L[R],O=S[T];if(O){const z=w[T],D=z===void 0||O(z,T,w);if(D!==!0)throw new te("option "+T+" must be "+D,te.ERR_BAD_OPTION_VALUE);continue}if(M!==!0)throw new te("Unknown option "+T,te.ERR_BAD_OPTION)}}const Et={assertOptions:Zs,validators:Xt},Re=Et.validators;class Fe{constructor(S){this.defaults=S,this.interceptors={request:new si,response:new si}}async request(S,M){try{return await this._request(S,M)}catch(L){if(L instanceof Error){let R;Error.captureStackTrace?Error.captureStackTrace(R={}):R=new Error;const T=R.stack?R.stack.replace(/^.+\n/,""):"";try{L.stack?T&&!String(L.stack).endsWith(T.replace(/^.+\n.+\n/,""))&&(L.stack+=` -`+T):L.stack=T}catch{}}throw L}}_request(S,M){typeof S=="string"?(M=M||{},M.url=S):M=S||{},M=Ye(this.defaults,M);const{transitional:L,paramsSerializer:R,headers:T}=M;L!==void 0&&Et.assertOptions(L,{silentJSONParsing:Re.transitional(Re.boolean),forcedJSONParsing:Re.transitional(Re.boolean),clarifyTimeoutError:Re.transitional(Re.boolean)},!1),R!=null&&(N.isFunction(R)?M.paramsSerializer={serialize:R}:Et.assertOptions(R,{encode:Re.function,serialize:Re.function},!0)),M.method=(M.method||this.defaults.method||"get").toLowerCase();let O=T&&N.merge(T.common,T[M.method]);T&&N.forEach(["delete","get","head","post","put","patch","common"],J=>{delete T[J]}),M.headers=we.concat(O,T);const z=[];let D=!0;this.interceptors.request.forEach(function($){typeof $.runWhen=="function"&&$.runWhen(M)===!1||(D=D&&$.synchronous,z.unshift($.fulfilled,$.rejected))});const G=[];this.interceptors.response.forEach(function($){G.push($.fulfilled,$.rejected)});let V,U=0,ae;if(!D){const J=[ui.bind(this),void 0];for(J.unshift.apply(J,z),J.push.apply(J,G),ae=J.length,V=Promise.resolve(M);U{if(!L._listeners)return;let T=L._listeners.length;for(;T-- >0;)L._listeners[T](R);L._listeners=null}),this.promise.then=R=>{let T;const O=new Promise(z=>{L.subscribe(z),T=z}).then(R);return O.cancel=function(){L.unsubscribe(T)},O},S(function(T,O,z){L.reason||(L.reason=new We(T,O,z),M(L.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(S){if(this.reason){S(this.reason);return}this._listeners?this._listeners.push(S):this._listeners=[S]}unsubscribe(S){if(!this._listeners)return;const M=this._listeners.indexOf(S);M!==-1&&this._listeners.splice(M,1)}static source(){let S;return{token:new Ot(function(R){S=R}),cancel:S}}}function $s(w){return function(M){return w.apply(null,M)}}function Js(w){return N.isObject(w)&&w.isAxiosError===!0}const Tt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Tt).forEach(([w,S])=>{Tt[S]=w});function Ni(w){const S=new Fe(w),M=xi(Fe.prototype.request,S);return N.extend(M,Fe.prototype,S,{allOwnKeys:!0}),N.extend(M,S,null,{allOwnKeys:!0}),M.create=function(R){return Ni(Ye(w,R))},M}const pe=Ni(Je);pe.Axios=Fe;pe.CanceledError=We;pe.CancelToken=Ot;pe.isCancel=Ii;pe.VERSION=Di;pe.toFormData=ht;pe.AxiosError=te;pe.Cancel=pe.CanceledError;pe.all=function(S){return Promise.all(S)};pe.spread=$s;pe.isAxiosError=Js;pe.mergeConfig=Ye;pe.AxiosHeaders=we;pe.formToJSON=w=>Ti(N.isHTMLForm(w)?new FormData(w):w);pe.getAdapter=Yi.getAdapter;pe.HttpStatusCode=Tt;pe.default=pe;var Hi={exports:{}},tt={exports:{}};/*! - * ApexCharts v3.52.0 - * (c) 2018-2024 ApexCharts - * Released under the MIT License. - */var fi;function Ks(){return fi||(fi=1,function(w,S){(function(M,L){w.exports=L()})(pi,function(){function M(y,e){var t=Object.keys(y);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(y);e&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(y,a).enumerable})),t.push.apply(t,i)}return t}function L(y){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var t,i=V(y);if(e){var a=V(this).constructor;t=Reflect.construct(i,arguments,a)}else t=i.apply(this,arguments);return function(s,r){if(r&&(typeof r=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ae(s)}(this,t)}}function J(y,e){return function(t){if(Array.isArray(t))return t}(y)||function(t,i){var a=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(a!=null){var s,r,n=[],o=!0,h=!1;try{for(a=a.call(t);!(o=(s=a.next()).done)&&(n.push(s.value),!i||n.length!==i);o=!0);}catch(c){h=!0,r=c}finally{try{o||a.return==null||a.return()}finally{if(h)throw r}}return n}}(y,e)||q(y,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function $(y){return function(e){if(Array.isArray(e))return xe(e)}(y)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(y)||q(y)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function q(y,e){if(y){if(typeof y=="string")return xe(y,e);var t=Object.prototype.toString.call(y).slice(8,-1);return t==="Object"&&y.constructor&&(t=y.constructor.name),t==="Map"||t==="Set"?Array.from(y):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?xe(y,e):void 0}}function xe(y,e){(e==null||e>y.length)&&(e=y.length);for(var t=0,i=new Array(e);t>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,t){return y.isColorHex(t)?this.shadeHexColor(e,t):this.shadeRGBColor(e,t)}}],[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&R(e)==="object"&&!Array.isArray(e)&&e!=null}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,i=[];for(t=0;t1&&arguments[1]!==void 0?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(t.length===1)return t[0];var i="",a=e<0?"-":"",s=t[0].replace(".",""),r=Number(t[1])+1;if(r<0){for(i=a+"0.";r++;)i+="0";return i+s.replace(/^-/,"")}for(r-=s.length;r--;)i+="0";return s+i}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),i=e.clientHeight,a=e.clientWidth;return i-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[a-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce(function(t,i){return Array.isArray(i)&&(i=i.reduce(function(a,s){return a.length>s.length?a:s})),t.length>i.length?t:i},0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"#999999",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.6;e.substring(0,1)!=="#"&&(e="#999999");var i=e.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&arguments[1]!==void 0?arguments[1]:"x",i=e.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,i){if(i>=e.length)for(var a=i-e.length+1;a--;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e.style.key=t[i])}},{key:"preciseAddition",value:function(e,t){var i=(String(e).split(".")[1]||"").length,a=(String(t).split(".")[1]||"").length,s=Math.pow(10,Math.max(i,a));return(Math.round(e*s)+Math.round(t*s))/s}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(window.navigator.userAgent.indexOf("MSIE")!==-1||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var a=e.indexOf("Edge/");return a>0&&parseInt(e.substring(a+5,e.indexOf(".",a)),10)}},{key:"getGCD",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*a),t=Math.round(Math.abs(t)*a);t;){var s=t;t=e%t,e=s}return e/a}},{key:"getPrimeFactors",value:function(e){for(var t=[],i=2;e>=2;)e%i==0?(t.push(i),e/=i):i++;return t}},{key:"mod",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*a))%(t=Math.round(Math.abs(t)*a))/a}}]),y}(),ie=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return z(y,[{key:"setEasingFunctions",value:function(){var e;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":e="-";break;case"easein":e="<";break;case"easeout":e=">";break;case"easeinout":default:e="<>";break;case"swing":e=function(t){var i=1.70158;return(t-=1)*t*((i+1)*t+i)+1};break;case"bounce":e=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":e=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=e}}},{key:"animateLine",value:function(e,t,i,a){e.attr(t).animate(a).attr(i)}},{key:"animateMarker",value:function(e,t,i,a){e.attr({opacity:0}).animate(t,i).attr({opacity:1}).afterAll(function(){a()})}},{key:"animateRect",value:function(e,t,i,a,s){e.attr(t).animate(a).attr(i).afterAll(function(){return s()})}},{key:"animatePathsGradually",value:function(e){var t=e.el,i=e.realIndex,a=e.j,s=e.fill,r=e.pathFrom,n=e.pathTo,o=e.speed,h=e.delay,c=this.w,d=0;c.config.chart.animations.animateGradually.enabled&&(d=c.config.chart.animations.animateGradually.delay),c.config.chart.animations.dynamicAnimation.enabled&&c.globals.dataChanged&&c.config.chart.type!=="bar"&&(d=0),this.morphSVG(t,i,a,c.config.chart.type!=="line"||c.globals.comboCharts?s:"stroke",r,n,o,h*d)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(e){var t=e.el;t.classList.remove("apexcharts-element-hidden"),t.classList.add("apexcharts-hidden-element-shown")})}},{key:"animationCompleted",value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),typeof t.config.chart.events.animationEnd=="function"&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:"morphSVG",value:function(e,t,i,a,s,r,n,o){var h=this,c=this.w;s||(s=e.attr("pathFrom")),r||(r=e.attr("pathTo"));var d=function(u){return c.config.chart.type==="radar"&&(n=1),"M 0 ".concat(c.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=d()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=d()),c.globals.shouldAnimate||(n=1),e.plot(s).animate(1,c.globals.easing,o).plot(s).animate(n,c.globals.easing,o).plot(r).afterAll(function(){X.isNumber(i)?i===c.globals.series[c.globals.maxValsInArrayIndex].length-2&&c.globals.shouldAnimate&&h.animationCompleted(e):a!=="none"&&c.globals.shouldAnimate&&(!c.globals.comboCharts&&t===c.globals.series.length-1||c.globals.comboCharts)&&h.animationCompleted(e),h.showDelayedElements()})}}]),y}(),ce=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"getDefaultFilter",value:function(e,t){var i=this.w;e.unfilter(!0),new window.SVG.Filter().size("120%","180%","-5%","-40%"),i.config.states.normal.filter!=="none"?this.applyFilter(e,t,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addNormalFilter",value:function(e,t){var i=this.w;i.config.chart.dropShadow.enabled&&!e.node.classList.contains("apexcharts-marker")&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addLightenFilter",value:function(e,t,i){var a=this,s=this.w,r=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=s.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"addDarkenFilter",value:function(e,t,i){var a=this,s=this.w,r=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=s.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:r}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"applyFilter",value:function(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(e,t);break;case"lighten":this.addLightenFilter(e,t,{intensity:a});break;case"darken":this.addDarkenFilter(e,t,{intensity:a})}}},{key:"addShadow",value:function(e,t,i){var a,s=this.w,r=i.blur,n=i.top,o=i.left,h=i.color,c=i.opacity;if(((a=s.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.length)>0&&s.config.chart.dropShadow.enabledOnSeries.indexOf(t)===-1)return e;var d=e.flood(Array.isArray(h)?h[t]:h,c).composite(e.sourceAlpha,"in").offset(o,n).gaussianBlur(r).merge(e.source);return e.blend(e.source,d)}},{key:"dropShadow",value:function(e,t){var i,a,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=t.top,n=t.left,o=t.blur,h=t.color,c=t.opacity,d=t.noUserSpaceOnUse,u=this.w;return e.unfilter(!0),X.isIE()&&u.config.chart.type==="radialBar"||((i=u.config.chart.dropShadow.enabledOnSeries)===null||i===void 0?void 0:i.length)>0&&((a=u.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.indexOf(s))===-1||(h=Array.isArray(h)?h[s]:h,e.filter(function(f){var p=null;p=X.isSafari()||X.isFirefox()||X.isIE()?f.flood(h,c).composite(f.sourceAlpha,"in").offset(n,r).gaussianBlur(o):f.flood(h,c).composite(f.sourceAlpha,"in").offset(n,r).gaussianBlur(o).merge(f.source),f.blend(f.source,p)}),d||e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)),e}},{key:"setSelectionFilter",value:function(e,t,i){var a=this.w;if(a.globals.selectedDataPoints[t]!==void 0&&a.globals.selectedDataPoints[t].indexOf(i)>-1){e.node.setAttribute("selected",!0);var s=a.config.states.active.filter;s!=="none"&&this.applyFilter(e,t,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(e){(function(t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])})({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),y}(),H=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"roundPathCorners",value:function(e,t){function i(P,I,E){var Y=I.x-P.x,B=I.y-P.y,F=Math.sqrt(Y*Y+B*B);return a(P,I,Math.min(1,E/F))}function a(P,I,E){return{x:P.x+(I.x-P.x)*E,y:P.y+(I.y-P.y)*E}}function s(P,I){P.length>2&&(P[P.length-2]=I.x,P[P.length-1]=I.y)}function r(P){return{x:parseFloat(P[P.length-2]),y:parseFloat(P[P.length-1])}}e.indexOf("NaN")>-1&&(e="");var n=e.split(/[,\s]/).reduce(function(P,I){var E=I.match("([a-zA-Z])(.+)");return E?(P.push(E[1]),P.push(E[2])):P.push(I),P},[]).reduce(function(P,I){return parseFloat(I)==I&&P.length?P[P.length-1].push(I):P.push([I]),P},[]),o=[];if(n.length>1){var h=r(n[0]),c=null;n[n.length-1][0]=="Z"&&n[0].length>2&&(c=["L",h.x,h.y],n[n.length-1]=c),o.push(n[0]);for(var d=1;d2&&f[0]=="L"&&p.length>2&&p[0]=="L"){var x,m,v=r(u),A=r(f),l=r(p);x=i(A,v,t),m=i(A,l,t),s(f,x),f.origPoint=A,o.push(f);var g=a(x,A,.5),b=a(A,m,.5),C=["C",g.x,g.y,b.x,b.y,m.x,m.y];C.origPoint=A,o.push(C)}else o.push(f)}if(c){var k=r(o[o.length-1]);o.push(["Z"]),s(o[0],k)}}else o=n;return o.reduce(function(P,I){return P+I.join(" ")+" "},"")}},{key:"drawLine",value:function(e,t,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#a8a8a8",r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:e,y1:t,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":o})}},{key:"drawRect",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"#fefefe",n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:1,o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,h=arguments.length>8&&arguments[8]!==void 0?arguments[8]:null,c=arguments.length>9&&arguments[9]!==void 0?arguments[9]:0,d=this.w.globals.dom.Paper.rect();return d.attr({x:e,y:t,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,"stroke-width":o!==null?o:0,stroke:h!==null?h:"none","stroke-dasharray":c}),d.node.setAttribute("fill",r),d}},{key:"drawPolygon",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"#e1e1e1",i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(e).attr({fill:a,stroke:t,"stroke-width":i})}},{key:"drawCircle",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e<0&&(e=0);var i=this.w.globals.dom.Paper.circle(2*e);return t!==null&&i.attr(t),i}},{key:"drawPath",value:function(e){var t=e.d,i=t===void 0?"":t,a=e.stroke,s=a===void 0?"#a8a8a8":a,r=e.strokeWidth,n=r===void 0?1:r,o=e.fill,h=e.fillOpacity,c=h===void 0?1:h,d=e.strokeOpacity,u=d===void 0?1:d,f=e.classes,p=e.strokeLinecap,x=p===void 0?null:p,m=e.strokeDashArray,v=m===void 0?0:m,A=this.w;return x===null&&(x=A.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(A.globals.gridHeight)),A.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":c,stroke:s,"stroke-opacity":u,"stroke-linecap":x,"stroke-width":n,"stroke-dasharray":v,class:f})}},{key:"group",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w.globals.dom.Paper.group();return e!==null&&t.attr(e),t}},{key:"move",value:function(e,t){var i=["M",e,t].join(" ");return i}},{key:"line",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,a=null;return i===null?a=[" L",e,t].join(" "):i==="H"?a=[" H",e].join(" "):i==="V"&&(a=[" V",t].join(" ")),a}},{key:"curve",value:function(e,t,i,a,s,r){var n=["C",e,t,i,a,s,r].join(" ");return n}},{key:"quadraticCurve",value:function(e,t,i,a){return["Q",e,t,i,a].join(" ")}},{key:"arc",value:function(e,t,i,a,s,r,n){var o="A";arguments.length>7&&arguments[7]!==void 0&&arguments[7]&&(o="a");var h=[o,e,t,i,a,s,r,n].join(" ");return h}},{key:"renderPaths",value:function(e){var t,i=e.j,a=e.realIndex,s=e.pathFrom,r=e.pathTo,n=e.stroke,o=e.strokeWidth,h=e.strokeLinecap,c=e.fill,d=e.animationDelay,u=e.initialSpeed,f=e.dataChangeSpeed,p=e.className,x=e.shouldClipToGrid,m=x===void 0||x,v=e.bindEventsOnPaths,A=v===void 0||v,l=e.drawShadow,g=l===void 0||l,b=this.w,C=new ce(this.ctx),k=new ie(this.ctx),P=this.w.config.chart.animations.enabled,I=P&&this.w.config.chart.animations.dynamicAnimation.enabled,E=!!(P&&!b.globals.resized||I&&b.globals.dataChanged&&b.globals.shouldAnimate);E?t=s:(t=r,b.globals.animationEnded=!0);var Y=b.config.stroke.dashArray,B=0;B=Array.isArray(Y)?Y[a]:b.config.stroke.dashArray;var F=this.drawPath({d:t,stroke:n,strokeWidth:o,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:B});if(F.attr("index",a),m&&F.attr({"clip-path":"url(#gridRectMask".concat(b.globals.cuid,")")}),b.config.states.normal.filter.type!=="none")C.getDefaultFilter(F,a);else if(b.config.chart.dropShadow.enabled&&g){var W=b.config.chart.dropShadow;C.dropShadow(F,W,a)}A&&(F.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,F)),F.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,F)),F.node.addEventListener("mousedown",this.pathMouseDown.bind(this,F))),F.attr({pathTo:r,pathFrom:s});var _={el:F,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:c,strokeWidth:o,delay:d};return!P||b.globals.resized||b.globals.dataChanged?!b.globals.resized&&b.globals.dataChanged||k.showDelayedElements():k.animatePathsGradually(L(L({},_),{},{speed:u})),b.globals.dataChanged&&I&&E&&k.animatePathsGradually(L(L({},_),{},{speed:f})),F}},{key:"drawPattern",value:function(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#a8a8a8",s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;return this.w.globals.dom.Paper.pattern(t,i,function(r){e==="horizontalLines"?r.line(0,0,i,0).stroke({color:a,width:s+1}):e==="verticalLines"?r.line(0,0,0,t).stroke({color:a,width:s+1}):e==="slantedLines"?r.line(0,0,t,i).stroke({color:a,width:s}):e==="squares"?r.rect(t,i).fill("none").stroke({color:a,width:s}):e==="circles"&&r.circle(t).fill("none").stroke({color:a,width:s})})}},{key:"drawGradient",value:function(e,t,i,a,s){var r,n=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,h=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,c=arguments.length>8&&arguments[8]!==void 0?arguments[8]:0,d=this.w;t.length<9&&t.indexOf("#")===0&&(t=X.hexToRgba(t,a)),i.length<9&&i.indexOf("#")===0&&(i=X.hexToRgba(i,s));var u=0,f=1,p=1,x=null;o!==null&&(u=o[0]!==void 0?o[0]/100:0,f=o[1]!==void 0?o[1]/100:1,p=o[2]!==void 0?o[2]/100:1,x=o[3]!==void 0?o[3]/100:null);var m=!(d.config.chart.type!=="donut"&&d.config.chart.type!=="pie"&&d.config.chart.type!=="polarArea"&&d.config.chart.type!=="bubble");if(r=h===null||h.length===0?d.globals.dom.Paper.gradient(m?"radial":"linear",function(l){l.at(u,t,a),l.at(f,i,s),l.at(p,i,s),x!==null&&l.at(x,t,a)}):d.globals.dom.Paper.gradient(m?"radial":"linear",function(l){(Array.isArray(h[c])?h[c]:h).forEach(function(g){l.at(g.offset/100,g.color,g.opacity)})}),m){var v=d.globals.gridWidth/2,A=d.globals.gridHeight/2;d.config.chart.type!=="bubble"?r.attr({gradientUnits:"userSpaceOnUse",cx:v,cy:A,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else e==="vertical"?r.from(0,0).to(0,1):e==="diagonal"?r.from(0,0).to(1,1):e==="horizontal"?r.from(0,1).to(1,1):e==="diagonal2"&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(e){var t=e.text,i=e.maxWidth,a=e.fontSize,s=e.fontFamily,r=this.getTextRects(t,a,s),n=r.width/t.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var h=i.globals.dom.Paper.select(".apexcharts-series path").members,c=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,d=function(p){Array.prototype.forEach.call(p,function(x){x.node.setAttribute("selected","false"),a.getDefaultFilter(x,s)})};d(h),d(c)}e.node.setAttribute("selected","true"),n="true",i.globals.selectedDataPoints[s]===void 0&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(n==="true"){var u=i.config.states.active.filter;if(u!=="none")a.applyFilter(e,s,u.type,u.value);else if(i.config.states.hover.filter!=="none"&&!i.globals.isTouchDevice){var f=i.config.states.hover.filter;a.applyFilter(e,s,f.type,f.value)}}else i.config.states.active.filter.type!=="none"&&(i.config.states.hover.filter.type==="none"||i.globals.isTouchDevice?a.getDefaultFilter(e,s):(f=i.config.states.hover.filter,a.applyFilter(e,s,f.type,f.value)));typeof i.config.chart.events.dataPointSelection=="function"&&i.config.chart.events.dataPointSelection(t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),t&&this.ctx.events.fireEvent("dataPointSelection",[t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(e){var t={};return e&&typeof e.getBBox=="function"&&(t=e.getBBox()),{x:t.x+t.width/2,y:t.y+t.height/2}}},{key:"getTextRects",value:function(e,t,i,a){var s=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:e,textAnchor:"start",fontSize:t,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(e,t,i){if(typeof e.getComputedTextLength=="function"&&(e.textContent=t,t.length>0&&e.getComputedTextLength()>=i/1.1)){for(var a=t.length-3;a>0;a-=3)if(e.getSubStringLength(0,a)<=i/1.1)return void(e.textContent=t.substring(0,a)+"...");e.textContent="."}}}],[{key:"setAttrs",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}}]),y}(),re=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"getStackedSeriesTotals",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=this.w,i=[];if(t.globals.series.length===0)return i;for(var a=0;a0&&arguments[0]!==void 0?arguments[0]:null;return e===null?this.w.config.series.reduce(function(t,i){return t+i},0):this.w.globals.series[e].reduce(function(t,i){return t+i},0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var e=this,t=this.w,i=[];return t.globals.seriesGroups.forEach(function(a){var s=[];t.config.series.forEach(function(n,o){a.indexOf(t.globals.seriesNames[o])>-1&&s.push(o)});var r=t.globals.series.map(function(n,o){return s.indexOf(o)===-1?o:-1}).filter(function(n){return n!==-1});i.push(e.getStackedSeriesTotals(r))}),i}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],a=[],s=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(d){return Array.isArray(d.seriesName)});t.series.forEach(function(d,u){s.push(u),a.push(null)}),t.yaxis.forEach(function(d,u){i[u]=[]});var n=[];t.yaxis.forEach(function(d,u){var f=!1;if(d.seriesName){var p=[];Array.isArray(d.seriesName)?p=d.seriesName:p.push(d.seriesName),p.forEach(function(x){t.series.forEach(function(m,v){if(m.name===x){var A=v;u===v||r?!r||s.indexOf(v)>-1?i[u].push([u,v]):console.warn("Series '"+m.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[v].push([v,u]),A=u),f=!0,(A=s.indexOf(A))!==-1&&s.splice(A,1)}})})}f||n.push(u)}),i=i.map(function(d,u){var f=[];return d.forEach(function(p){a[p[1]]=p[0],f.push(p[1])}),f});for(var o=t.yaxis.length-1,h=0;h0&&arguments[0]!==void 0?arguments[0]:null;return(e===null?this.w.config.series.filter(function(t){return t!==null}):this.w.config.series[e].data.filter(function(t){return t!==null})).length===0}},{key:"seriesHaveSameValues",value:function(e){return this.w.globals.series[e].every(function(t,i,a){return t===a[0]})}},{key:"getCategoryLabels",value:function(e){var t=this.w,i=e.slice();return t.config.xaxis.convertedCatToNumeric&&(i=e.map(function(a,s){return t.config.xaxis.labels.formatter(a-t.globals.minX+1)})),i}},{key:"getLargestSeries",value:function(){var e=this.w;e.globals.maxValsInArrayIndex=e.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,e.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var e=this.w,t=0;return e.globals.markers.size.forEach(function(i){t=Math.max(t,i)}),e.config.markers.discrete&&e.config.markers.discrete.length&&e.config.markers.discrete.forEach(function(i){t=Math.max(t,i.size)}),t>0&&(t+=e.config.markers.hover.sizeOffset+1),e.globals.markers.largestSize=t,t}},{key:"getSeriesTotals",value:function(){var e=this.w;e.globals.seriesTotals=e.globals.series.map(function(t,i){var a=0;if(Array.isArray(t))for(var s=0;se&&i.globals.seriesX[s][n]0){var p=function(m,v){var A=s.config.yaxis[s.globals.seriesYAxisReverseMap[v]],l=m<0?-1:1;return m=Math.abs(m),A.logarithmic&&(m=a.getBaseLog(A.logBase,m)),-l*m/n[v]};if(r.isMultipleYAxis){h=[];for(var x=0;x0&&t.forEach(function(n){var o=[],h=[];e.i.forEach(function(c,d){s.config.series[c].group===n&&(o.push(e.series[d]),h.push(c))}),o.length>0&&r.push(a.draw(o,i,h))}),r}}],[{key:"checkComboSeries",value:function(e,t){var i=!1,a=0,s=0;return t===void 0&&(t="line"),e.length&&e[0].type!==void 0&&e.forEach(function(r){r.type!=="bar"&&r.type!=="column"&&r.type!=="candlestick"&&r.type!=="boxPlot"||a++,r.type!==void 0&&r.type!==t&&s++}),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:"extendArrayProps",value:function(e,t,i){var a,s,r,n,o,h;return(a=t)!==null&&a!==void 0&&a.yaxis&&(t=e.extendYAxis(t,i)),(s=t)!==null&&s!==void 0&&s.annotations&&(t.annotations.yaxis&&(t=e.extendYAxisAnnotations(t)),(r=t)!==null&&r!==void 0&&(n=r.annotations)!==null&&n!==void 0&&n.xaxis&&(t=e.extendXAxisAnnotations(t)),(o=t)!==null&&o!==void 0&&(h=o.annotations)!==null&&h!==void 0&&h.points&&(t=e.extendPointAnnotations(t))),t}}]),y}(),ve=function(){function y(e){T(this,y),this.w=e.w,this.annoCtx=e}return z(y,[{key:"setOrientations",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.w;if(e.label.orientation==="vertical"){var a=t!==null?t:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(s!==null){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),e.label.position==="top"?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var n=this.annoCtx.graphics.rotateAroundCenter(s),o=n.x,h=n.y;s.setAttribute("transform","rotate(-90 ".concat(o," ").concat(h,")"))}}}},{key:"addBackgroundToAnno",value:function(e,t){var i=this.w;if(!e||t.label.text===void 0||t.label.text!==void 0&&!String(t.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=e.getBoundingClientRect(),r=t.label.style.padding.left,n=t.label.style.padding.right,o=t.label.style.padding.top,h=t.label.style.padding.bottom;t.label.orientation==="vertical"&&(o=t.label.style.padding.left,h=t.label.style.padding.right,r=t.label.style.padding.top,n=t.label.style.padding.bottom);var c=s.left-a.left-r,d=s.top-a.top-o,u=this.annoCtx.graphics.drawRect(c-i.globals.barPadForNumericAxis,d,s.width+r+n,s.height+o+h,t.label.borderRadius,t.label.style.background,1,t.label.borderWidth,t.label.borderColor,0);return t.id&&u.node.classList.add(t.id),u}},{key:"annotationsBackground",value:function(){var e=this,t=this.w,i=function(a,s,r){var n=t.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(s,"']"));if(n){var o=n.parentNode,h=e.addBackgroundToAnno(n,a);h&&(o.insertBefore(h.node,n),a.label.mouseEnter&&h.node.addEventListener("mouseenter",a.label.mouseEnter.bind(e,a)),a.label.mouseLeave&&h.node.addEventListener("mouseleave",a.label.mouseLeave.bind(e,a)),a.label.click&&h.node.addEventListener("click",a.label.click.bind(e,a)))}};t.config.annotations.xaxis.map(function(a,s){i(a,s,"xaxis")}),t.config.annotations.yaxis.map(function(a,s){i(a,s,"yaxis")}),t.config.annotations.points.map(function(a,s){i(a,s,"point")})}},{key:"getY1Y2",value:function(e,t){var i,a=e==="y1"?t.y:t.y2,s=!1,r=this.w;if(this.annoCtx.invertAxis){var n=r.globals.labels;r.config.xaxis.convertedCatToNumeric&&(n=r.globals.categoryLabels);var o=n.indexOf(a),h=r.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(o+1)+")");i=h?parseFloat(h.getAttribute("y")):(r.globals.gridHeight/n.length-1)*(o+1)-r.globals.barHeight,t.seriesIndex!==void 0&&r.globals.barHeight&&(i=i-r.globals.barHeight/2*(r.globals.series.length-1)+r.globals.barHeight*t.seriesIndex)}else{var c,d=r.globals.seriesYAxisMap[t.yAxisIndex][0];r.config.yaxis[t.yAxisIndex].logarithmic?c=(a=new re(this.annoCtx.ctx).getLogVal(r.config.yaxis[t.yAxisIndex].logBase,a,d))/r.globals.yLogRatio[d]:c=(a-r.globals.minYArr[d])/(r.globals.yRange[d]/r.globals.gridHeight),c>r.globals.gridHeight?(c=r.globals.gridHeight,s=!0):c<0&&(c=0,s=!0),i=r.globals.gridHeight-c,!t.marker||t.y!==void 0&&t.y!==null||(i=0),r.config.yaxis[t.yAxisIndex]&&r.config.yaxis[t.yAxisIndex].reversed&&(i=c)}return typeof a=="string"&&a.indexOf("px")>-1&&(i=parseFloat(a)),{yP:i,clipped:s}}},{key:"getX1X2",value:function(e,t){var i,a=e==="x1"?t.x:t.x2,s=this.w,r=this.annoCtx.invertAxis?s.globals.minY:s.globals.minX,n=this.annoCtx.invertAxis?s.globals.maxY:s.globals.maxX,o=this.annoCtx.invertAxis?s.globals.yRange[0]:s.globals.xRange,h=!1;return i=this.annoCtx.inversedReversedAxis?(n-a)/(o/s.globals.gridWidth):(a-r)/(o/s.globals.gridWidth),s.config.xaxis.type!=="category"&&!s.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||s.globals.dataFormatXNumeric||s.config.chart.sparkline.enabled||(i=this.getStringX(a)),typeof a=="string"&&a.indexOf("px")>-1&&(i=parseFloat(a)),a==null&&t.marker&&(i=s.globals.gridWidth),t.seriesIndex!==void 0&&s.globals.barWidth&&!this.annoCtx.invertAxis&&(i=i-s.globals.barWidth/2*(s.globals.series.length-1)+s.globals.barWidth*t.seriesIndex),i>s.globals.gridWidth?(i=s.globals.gridWidth,h=!0):i<0&&(i=0,h=!0),{x:i,clipped:h}}},{key:"getStringX",value:function(e){var t=this.w,i=e;t.config.xaxis.convertedCatToNumeric&&t.globals.categoryLabels.length&&(e=t.globals.categoryLabels.indexOf(e)+1);var a=t.globals.labels.indexOf(e),s=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),y}(),Ge=function(){function y(e){T(this,y),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new ve(this.annoCtx)}return z(y,[{key:"addXaxisAnnotation",value:function(e,t,i){var a,s=this.w,r=this.helpers.getX1X2("x1",e),n=r.x,o=r.clipped,h=!0,c=e.label.text,d=e.strokeDashArray;if(X.isNumber(n)){if(e.x2===null||e.x2===void 0){if(!o){var u=this.annoCtx.graphics.drawLine(n+e.offsetX,0+e.offsetY,n+e.offsetX,s.globals.gridHeight+e.offsetY,e.borderColor,d,e.borderWidth);t.appendChild(u.node),e.id&&u.node.classList.add(e.id)}}else{var f=this.helpers.getX1X2("x2",e);if(a=f.x,h=f.clipped,!o||!h){if(a12?f-12:f===0?12:f;t=(t=(t=(t=t.replace(/(^|[^\\])HH+/g,"$1"+h(f))).replace(/(^|[^\\])H/g,"$1"+f)).replace(/(^|[^\\])hh+/g,"$1"+h(p))).replace(/(^|[^\\])h/g,"$1"+p);var x=a?e.getUTCMinutes():e.getMinutes();t=(t=t.replace(/(^|[^\\])mm+/g,"$1"+h(x))).replace(/(^|[^\\])m/g,"$1"+x);var m=a?e.getUTCSeconds():e.getSeconds();t=(t=t.replace(/(^|[^\\])ss+/g,"$1"+h(m))).replace(/(^|[^\\])s/g,"$1"+m);var v=a?e.getUTCMilliseconds():e.getMilliseconds();t=t.replace(/(^|[^\\])fff+/g,"$1"+h(v,3)),v=Math.round(v/10),t=t.replace(/(^|[^\\])ff/g,"$1"+h(v)),v=Math.round(v/10);var A=f<12?"AM":"PM";t=(t=(t=t.replace(/(^|[^\\])f/g,"$1"+v)).replace(/(^|[^\\])TT+/g,"$1"+A)).replace(/(^|[^\\])T/g,"$1"+A.charAt(0));var l=A.toLowerCase();t=(t=t.replace(/(^|[^\\])tt+/g,"$1"+l)).replace(/(^|[^\\])t/g,"$1"+l.charAt(0));var g=-e.getTimezoneOffset(),b=a||!g?"Z":g>0?"+":"-";if(!a){var C=(g=Math.abs(g))%60;b+=h(Math.floor(g/60))+":"+h(C)}t=t.replace(/(^|[^\\])K/g,"$1"+b);var k=(a?e.getUTCDay():e.getDay())+1;return t=(t=(t=(t=(t=t.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(o[0],"g"),o[k])).replace(new RegExp(s[0],"g"),s[d])).replace(new RegExp(r[0],"g"),r[d])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(e,t,i){var a=this.w;a.config.xaxis.min!==void 0&&(e=a.config.xaxis.min),a.config.xaxis.max!==void 0&&(t=a.config.xaxis.max);var s=this.getDate(e),r=this.getDate(t),n=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"calculcateLastDaysOfMonth",value:function(e,t,i){return this.determineDaysOfMonths(e,t)-i}},{key:"determineDaysOfYear",value:function(e){var t=365;return this.isLeapYear(e)&&(t=366),t}},{key:"determineRemainingDaysOfYear",value:function(e,t,i){var a=this.daysCntOfYear[t]+i;return t>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(e,t){var i=30;switch(e=X.monthMod(e),!0){case this.months30.indexOf(e)>-1:e===2&&(i=this.isLeapYear(t)?29:28);break;case this.months31.indexOf(e)>-1:default:i=31}return i}}]),y}(),Te=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return z(y,[{key:"xLabelFormat",value:function(e,t,i,a){var s=this.w;if(s.config.xaxis.type==="datetime"&&s.config.xaxis.labels.formatter===void 0&&s.config.tooltip.x.formatter===void 0){var r=new ge(this.ctx);return r.formatDate(r.getDate(t),s.config.tooltip.x.format)}return e(t,i,a)}},{key:"defaultGeneralFormatter",value:function(e){return Array.isArray(e)?e.map(function(t){return t}):e}},{key:"defaultYFormatter",value:function(e,t,i){var a=this.w;if(X.isNumber(e))if(a.globals.yValueDecimal!==0)e=e.toFixed(t.decimalsInFloat!==void 0?t.decimalsInFloat:a.globals.yValueDecimal);else{var s=e.toFixed(0);e=e==s?s:e.toFixed(1)}return e}},{key:"setLabelFormatters",value:function(){var e=this,t=this.w;return t.globals.xaxisTooltipFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttKeyFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttZFormatter=function(i){return i},t.globals.legendFormatter=function(i){return e.defaultGeneralFormatter(i)},t.config.xaxis.labels.formatter!==void 0?t.globals.xLabelFormatter=t.config.xaxis.labels.formatter:t.globals.xLabelFormatter=function(i){if(X.isNumber(i)){if(!t.config.xaxis.convertedCatToNumeric&&t.config.xaxis.type==="numeric"){if(X.isNumber(t.config.xaxis.decimalsInFloat))return i.toFixed(t.config.xaxis.decimalsInFloat);var a=t.globals.maxX-t.globals.minX;return a>0&&a<100?i.toFixed(1):i.toFixed(0)}return t.globals.isBarHorizontal&&t.globals.maxY-t.globals.minYArr<4?i.toFixed(1):i.toFixed(0)}return i},typeof t.config.tooltip.x.formatter=="function"?t.globals.ttKeyFormatter=t.config.tooltip.x.formatter:t.globals.ttKeyFormatter=t.globals.xLabelFormatter,typeof t.config.xaxis.tooltip.formatter=="function"&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),(Array.isArray(t.config.tooltip.y)||t.config.tooltip.y.formatter!==void 0)&&(t.globals.ttVal=t.config.tooltip.y),t.config.tooltip.z.formatter!==void 0&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),t.config.legend.formatter!==void 0&&(t.globals.legendFormatter=t.config.legend.formatter),t.config.yaxis.forEach(function(i,a){i.labels.formatter!==void 0?t.globals.yLabelFormatters[a]=i.labels.formatter:t.globals.yLabelFormatters[a]=function(s){return t.globals.xyCharts?Array.isArray(s)?s.map(function(r){return e.defaultYFormatter(r,i,a)}):e.defaultYFormatter(s,i,a):s}}),t.globals}},{key:"heatmapLabelFormatters",value:function(){var e=this.w;if(e.config.chart.type==="heatmap"){e.globals.yAxisScale[0].result=e.globals.seriesNames.slice();var t=e.globals.seriesNames.reduce(function(i,a){return i.length>a.length?i:a},0);e.globals.yAxisScale[0].niceMax=t,e.globals.yAxisScale[0].niceMin=t}}}]),y}(),Ie=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"getLabel",value:function(e,t,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"12px",n=!(arguments.length>6&&arguments[6]!==void 0)||arguments[6],o=this.w,h=e[a]===void 0?"":e[a],c=h,d=o.globals.xLabelFormatter,u=o.config.xaxis.labels.formatter,f=!1,p=new Te(this.ctx),x=h;n&&(c=p.xLabelFormat(d,h,x,{i:a,dateFormatter:new ge(this.ctx).formatDate,w:o}),u!==void 0&&(c=u(h,e[a],{i:a,dateFormatter:new ge(this.ctx).formatDate,w:o})));var m,v;t.length>0?(m=t[a].unit,v=null,t.forEach(function(b){b.unit==="month"?v="year":b.unit==="day"?v="month":b.unit==="hour"?v="day":b.unit==="minute"&&(v="hour")}),f=v===m,i=t[a].position,c=t[a].value):o.config.xaxis.type==="datetime"&&u===void 0&&(c=""),c===void 0&&(c=""),c=Array.isArray(c)?c:c.toString();var A=new H(this.ctx),l={};l=o.globals.rotateXLabels&&n?A.getTextRects(c,parseInt(r,10),null,"rotate(".concat(o.config.xaxis.labels.rotate," 0 0)"),!1):A.getTextRects(c,parseInt(r,10));var g=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(c)&&(String(c)==="NaN"||s.indexOf(c)>=0&&g)&&(c=""),{x:i,text:c,textRect:l,isBold:f}}},{key:"checkLabelBasedOnTickamount",value:function(e,t,i){var a=this.w,s=a.config.xaxis.tickAmount;return s==="dataPoints"&&(s=Math.round(a.globals.gridWidth/120)),s>i||e%Math.round(i/(s+1))==0||(t.text=""),t}},{key:"checkForOverflowingLabels",value:function(e,t,i,a,s){var r=this.w;if(e===0&&r.globals.skipFirstTimelinelabel&&(t.text=""),e===i-1&&r.globals.skipLastTimelinelabel&&(t.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];t.xa.length||a.some(function(s){return Array.isArray(s.seriesName)})?e:i.seriesYAxisReverseMap[e]}},{key:"isYAxisHidden",value:function(e){var t=this.w,i=t.config.yaxis[e];if(!i.show||this.yAxisAllSeriesCollapsed(e))return!0;if(!i.showForNullSeries){var a=t.globals.seriesYAxisMap[e],s=new re(this.ctx);return a.every(function(r){return s.isSeriesNull(r)})}return!1}},{key:"getYAxisForeColor",value:function(e,t){var i=this.w;return Array.isArray(e)&&i.globals.yAxisScale[t]&&this.ctx.theme.pushExtraColors(e,i.globals.yAxisScale[t].result.length,!1),e}},{key:"drawYAxisTicks",value:function(e,t,i,a,s,r,n){var o=this.w,h=new H(this.ctx),c=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?c=0:o.config.chart.type==="heatmap"&&(c+=r/2),a.show&&t>0){o.config.yaxis[s].opposite===!0&&(e+=a.width);for(var d=t;d>=0;d--){var u=h.drawLine(e+i.offsetX-a.width+a.offsetX,c+a.offsetY,e+i.offsetX+a.offsetX,c+a.offsetY,a.color);n.add(u),c+=r}}}}]),y}(),Bi=function(){function y(e){T(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new ve(this.annoCtx),this.axesUtils=new Ie(this.annoCtx)}return z(y,[{key:"addYaxisAnnotation",value:function(e,t,i){var a,s=this.w,r=e.strokeDashArray,n=this.helpers.getY1Y2("y1",e),o=n.yP,h=n.clipped,c=!0,d=!1,u=e.label.text;if(e.y2===null||e.y2===void 0){if(!h){d=!0;var f=this.annoCtx.graphics.drawLine(0+e.offsetX,o+e.offsetY,this._getYAxisAnnotationWidth(e),o+e.offsetY,e.borderColor,r,e.borderWidth);t.appendChild(f.node),e.id&&f.node.classList.add(e.id)}}else{if(a=(n=this.helpers.getY1Y2("y2",e)).yP,c=n.clipped,a>o){var p=o;o=a,a=p}if(!h||!c){d=!0;var x=this.annoCtx.graphics.drawRect(0+e.offsetX,a+e.offsetY,this._getYAxisAnnotationWidth(e),o-a,0,e.fillColor,e.opacity,1,e.borderColor,r);x.node.classList.add("apexcharts-annotation-rect"),x.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),t.appendChild(x.node),e.id&&x.node.classList.add(e.id)}}if(d){var m=e.label.position==="right"?s.globals.gridWidth:e.label.position==="center"?s.globals.gridWidth/2:0,v=this.annoCtx.graphics.drawText({x:m+e.label.offsetX,y:(a??o)+e.label.offsetY-3,text:u,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});v.attr({rel:i}),t.appendChild(v.node)}}},{key:"_getYAxisAnnotationWidth",value:function(e){var t=this.w;return t.globals.gridWidth,(e.width.indexOf("%")>-1?t.globals.gridWidth*parseInt(e.width,10)/100:parseInt(e.width,10))+e.offsetX}},{key:"drawYAxisAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.forEach(function(a,s){a.yAxisIndex=e.axesUtils.translateYAxisIndex(a.yAxisIndex),e.axesUtils.isYAxisHidden(a.yAxisIndex)&&e.axesUtils.yAxisAllSeriesCollapsed(a.yAxisIndex)||e.addYaxisAnnotation(a,i.node,s)}),i}}]),y}(),Wi=function(){function y(e){T(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new ve(this.annoCtx)}return z(y,[{key:"addPointAnnotation",value:function(e,t,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(e.seriesIndex)>-1)){var a=this.helpers.getX1X2("x1",e),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2("y1",e)).yP,o=a.clipped;if(X.isNumber(s)&&!o&&!r){var h={pSize:e.marker.size,pointStrokeWidth:e.marker.strokeWidth,pointFillColor:e.marker.fillColor,pointStrokeColor:e.marker.strokeColor,shape:e.marker.shape,pRadius:e.marker.radius,class:"apexcharts-point-annotation-marker ".concat(e.marker.cssClass," ").concat(e.id?e.id:"")},c=this.annoCtx.graphics.drawMarker(s+e.marker.offsetX,n+e.marker.offsetY,h);t.appendChild(c.node);var d=e.label.text?e.label.text:"",u=this.annoCtx.graphics.drawText({x:s+e.label.offsetX,y:n+e.label.offsetY-e.marker.size-parseFloat(e.label.style.fontSize)/1.6,text:d,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});if(u.attr({rel:i}),t.appendChild(u.node),e.customSVG.SVG){var f=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+e.customSVG.cssClass});f.attr({transform:"translate(".concat(s+e.customSVG.offsetX,", ").concat(n+e.customSVG.offsetY,")")}),f.node.innerHTML=e.customSVG.SVG,t.appendChild(f.node)}if(e.image.path){var p=e.image.width?e.image.width:20,x=e.image.height?e.image.height:20;c=this.annoCtx.addImage({x:s+e.image.offsetX-p/2,y:n+e.image.offsetY-x/2,width:p,height:x,path:e.image.path,appendTo:".apexcharts-point-annotations"})}e.mouseEnter&&c.node.addEventListener("mouseenter",e.mouseEnter.bind(this,e)),e.mouseLeave&&c.node.addEventListener("mouseleave",e.mouseLeave.bind(this,e)),e.click&&c.node.addEventListener("click",e.click.bind(this,e))}}}},{key:"drawPointAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(a,s){e.addPointAnnotation(a,i.node,s)}),i}}]),y}(),Ft={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},ze=function(){function y(){T(this,y),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return z(y,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[Ft],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(e){return e}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(e){return e+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)/e.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(e){return e},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(e){return e}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(e){return e}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(e){return e!==null?e:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(e){return e?e+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),y}(),Gi=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.graphics=new H(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new ve(this),this.xAxisAnnotations=new Ge(this),this.yAxisAnnotations=new Bi(this),this.pointsAnnotations=new Wi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return z(y,[{key:"drawAxesAnnotations",value:function(){var e=this.w;if(e.globals.axisCharts){for(var t=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=e.config.chart.animations.enabled,r=[t,i,a],n=[i.node,t.node,a.node],o=0;o<3;o++)e.globals.dom.elGraphical.add(r[o]),!s||e.globals.resized||e.globals.dataChanged||e.config.chart.type!=="scatter"&&e.config.chart.type!=="bubble"&&e.globals.dataPoints>1&&n[o].classList.add("apexcharts-element-hidden"),e.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var e=this;this.w.config.annotations.images.map(function(t,i){e.addImage(t,i)})}},{key:"drawTextAnnos",value:function(){var e=this;this.w.config.annotations.texts.map(function(t,i){e.addText(t,i)})}},{key:"addXaxisAnnotation",value:function(e,t,i){this.xAxisAnnotations.addXaxisAnnotation(e,t,i)}},{key:"addYaxisAnnotation",value:function(e,t,i){this.yAxisAnnotations.addYaxisAnnotation(e,t,i)}},{key:"addPointAnnotation",value:function(e,t,i){this.pointsAnnotations.addPointAnnotation(e,t,i)}},{key:"addText",value:function(e,t){var i=e.x,a=e.y,s=e.text,r=e.textAnchor,n=e.foreColor,o=e.fontSize,h=e.fontFamily,c=e.fontWeight,d=e.cssClass,u=e.backgroundColor,f=e.borderWidth,p=e.strokeDashArray,x=e.borderRadius,m=e.borderColor,v=e.appendTo,A=v===void 0?".apexcharts-svg":v,l=e.paddingLeft,g=l===void 0?4:l,b=e.paddingRight,C=b===void 0?4:b,k=e.paddingBottom,P=k===void 0?2:k,I=e.paddingTop,E=I===void 0?2:I,Y=this.w,B=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:o||"12px",fontWeight:c||"regular",fontFamily:h||Y.config.chart.fontFamily,foreColor:n||Y.config.chart.foreColor,cssClass:d}),F=Y.globals.dom.baseEl.querySelector(A);F&&F.appendChild(B.node);var W=B.bbox();if(s){var _=this.graphics.drawRect(W.x-g,W.y-E,W.width+g+C,W.height+P+E,x,u||"transparent",1,f,m,p);F.insertBefore(_.node,B.node)}}},{key:"addImage",value:function(e,t){var i=this.w,a=e.path,s=e.x,r=s===void 0?0:s,n=e.y,o=n===void 0?0:n,h=e.width,c=h===void 0?20:h,d=e.height,u=d===void 0?20:d,f=e.appendTo,p=f===void 0?".apexcharts-svg":f,x=i.globals.dom.Paper.image(a);x.size(c,u).move(r,o);var m=i.globals.dom.baseEl.querySelector(p);return m&&m.appendChild(x.node),x}},{key:"addXaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(e,t,i){return this.invertAxis===void 0&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(e){var t=e.params,i=e.pushToMemory,a=e.context,s=e.type,r=e.contextMethod,n=a,o=n.w,h=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),c=h.childNodes.length+1,d=new ze,u=Object.assign({},s==="xaxis"?d.xAxisAnnotation:s==="yaxis"?d.yAxisAnnotation:d.pointAnnotation),f=X.extend(u,t);switch(s){case"xaxis":this.addXaxisAnnotation(f,h,c);break;case"yaxis":this.addYaxisAnnotation(f,h,c);break;case"point":this.addPointAnnotation(f,h,c)}var p=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(c,"']")),x=this.helpers.addBackgroundToAnno(p,f);return x&&h.insertBefore(x.node,p),i&&o.globals.memory.methodsToExec.push({context:n,id:f.id?f.id:X.randomId(),method:r,label:"addAnnotation",params:t}),a}},{key:"clearAnnotations",value:function(e){var t=e.w,i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");t.globals.memory.methodsToExec.map(function(a,s){a.label!=="addText"&&a.label!=="addAnnotation"||t.globals.memory.methodsToExec.splice(s,1)}),i=X.listToArray(i),Array.prototype.forEach.call(i,function(a){for(;a.firstChild;)a.removeChild(a.firstChild)})}},{key:"removeAnnotation",value:function(e,t){var i=e.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(t));a&&(i.globals.memory.methodsToExec.map(function(s,r){s.id===t&&i.globals.memory.methodsToExec.splice(r,1)}),Array.prototype.forEach.call(a,function(s){s.parentElement.removeChild(s)}))}}]),y}(),dt=function(y){var e,t=y.isTimeline,i=y.ctx,a=y.seriesIndex,s=y.dataPointIndex,r=y.y1,n=y.y2,o=y.w,h=o.globals.seriesRangeStart[a][s],c=o.globals.seriesRangeEnd[a][s],d=o.globals.labels[s],u=o.config.series[a].name?o.config.series[a].name:"",f=o.globals.ttKeyFormatter,p=o.config.tooltip.y.title.formatter,x={w:o,seriesIndex:a,dataPointIndex:s,start:h,end:c};typeof p=="function"&&(u=p(u,x)),(e=o.config.series[a].data[s])!==null&&e!==void 0&&e.x&&(d=o.config.series[a].data[s].x),t||o.config.xaxis.type==="datetime"&&(d=new Te(i).xLabelFormat(o.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new ge(i).formatDate,w:o})),typeof f=="function"&&(d=f(d,x)),Number.isFinite(r)&&Number.isFinite(n)&&(h=r,c=n);var m="",v="",A=o.globals.colors[a];if(o.config.tooltip.x.formatter===void 0)if(o.config.xaxis.type==="datetime"){var l=new ge(i);m=l.formatDate(l.getDate(h),o.config.tooltip.x.format),v=l.formatDate(l.getDate(c),o.config.tooltip.x.format)}else m=h,v=c;else m=o.config.tooltip.x.formatter(h),v=o.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:m,endVal:v,ylabel:d,color:A,seriesName:u}},ut=function(y){var e=y.color,t=y.seriesName,i=y.ylabel,a=y.start,s=y.end,r=y.seriesIndex,n=y.dataPointIndex,o=y.ctx.tooltip.tooltipLabels.getFormatters(r);a=o.yLbFormatter(a),s=o.yLbFormatter(s);var h=o.yLbFormatter(y.w.globals.series[r][n]),c=` - `.concat(a,` - - - `).concat(s,` - `);return'
'+(t||"")+'
'+i+": "+(y.w.globals.comboCharts?y.w.config.series[r].type==="rangeArea"||y.w.config.series[r].type==="rangeBar"?c:"".concat(h,""):c)+"
"},Ve=function(){function y(e){T(this,y),this.opts=e}return z(y,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(e){return this.hideYAxis(),X.extend(e,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(e,t){var i=t.w.config.series[t.seriesIndex].name;return e!==null?i+": "+e:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),L(L({},this.bar()),{},{chart:{animations:{easing:"linear",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var e=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,a=t.dataPointIndex,s=t.w;return e._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var e=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,a=t.dataPointIndex,s=t.w;return e._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(e,t){t.ctx;var i=t.seriesIndex,a=t.dataPointIndex,s=t.w,r=function(){var n=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-n};return s.globals.comboCharts?s.config.series[i].type==="rangeBar"||s.config.series[i].type==="rangeArea"?r():e:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(e){return e.w.config.plotOptions&&e.w.config.plotOptions.bar&&e.w.config.plotOptions.bar.horizontal?function(t){var i=dt(L(L({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,n=i.startVal,o=i.endVal;return ut(L(L({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e):function(t){var i=dt(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.start,o=i.end;return ut(L(L({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(e){var t,i;return(t=e.plotOptions.bar)!==null&&t!==void 0&&t.barHeight||(e.plotOptions.bar.barHeight=2),(i=e.plotOptions.bar)!==null&&i!==void 0&&i.columnWidth||(e.plotOptions.bar.columnWidth=2),e}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(e){return function(t){var i=dt(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.start,o=i.end;return ut(L(L({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e)}}}}},{key:"brush",value:function(e){return X.extend(e,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(e){e.dataLabels=e.dataLabels||{},e.dataLabels.formatter=e.dataLabels.formatter||void 0;var t=e.dataLabels.formatter;return e.yaxis.forEach(function(i,a){e.yaxis[a].min=0,e.yaxis[a].max=100}),e.chart.type==="bar"&&(e.dataLabels.formatter=t||function(i){return typeof i=="number"&&i?i.toFixed(0)+"%":i}),e}},{key:"stackedBars",value:function(){var e=this.bar();return L(L({},e),{},{plotOptions:L(L({},e.plotOptions),{},{bar:L(L({},e.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(e){return e.xaxis.convertedCatToNumeric=!0,e}},{key:"convertCatToNumericXaxis",value:function(e,t,i){e.xaxis.type="numeric",e.xaxis.labels=e.xaxis.labels||{},e.xaxis.labels.formatter=e.xaxis.labels.formatter||function(r){return X.isNumber(r)?Math.floor(r):r};var a=e.xaxis.labels.formatter,s=e.xaxis.categories&&e.xaxis.categories.length?e.xaxis.categories:e.labels;return i&&i.length&&(s=i.map(function(r){return Array.isArray(r)?r:String(r)})),s&&s.length&&(e.xaxis.labels.formatter=function(r){return X.isNumber(r)?a(s[Math.floor(r)-1]):a(r)}),e.xaxis.categories=[],e.labels=[],e.xaxis.tickAmount=e.xaxis.tickAmount||"dataPoints",e}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(e){return e},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(e,t,i,a,s){var r=e.globals.seriesCandleO[t][i],n=e.globals.seriesCandleH[t][i],o=e.globals.seriesCandleM[t][i],h=e.globals.seriesCandleL[t][i],c=e.globals.seriesCandleC[t][i];return e.config.series[t].type&&e.config.series[t].type!==s?`
- `.concat(e.config.series[t].name?e.config.series[t].name:"series-"+(t+1),": ").concat(e.globals.series[t][i],` -
`):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+n+"
"+(o?"
".concat(a[2],': ')+o+"
":"")+"
".concat(a[3],': ')+h+"
"+"
".concat(a[4],': ')+c+"
"}}]),y}(),_e=function(){function y(e){T(this,y),this.opts=e}return z(y,[{key:"init",value:function(e){var t=e.responsiveOverride,i=this.opts,a=new ze,s=new Ve(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&R(i)==="object"){var o,h,c,d,u,f,p,x,m,v,A={};A=["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)!==-1?s[i.chart.type]():s.line(),(o=i.plotOptions)!==null&&o!==void 0&&(h=o.bar)!==null&&h!==void 0&&h.isFunnel&&(A=s.funnel()),i.chart.stacked&&i.chart.type==="bar"&&(A=s.stackedBars()),(c=i.chart.brush)!==null&&c!==void 0&&c.enabled&&(A=s.brush(A)),(d=i.plotOptions)!==null&&d!==void 0&&(u=d.line)!==null&&u!==void 0&&u.isSlopeChart&&(A=s.slope()),i.chart.stacked&&i.chart.stackType==="100%"&&(i=s.stacked100(i)),(f=i.plotOptions)!==null&&f!==void 0&&(p=f.bar)!==null&&p!==void 0&&p.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},t||(i.xaxis.convertedCatToNumeric=!1),((x=(i=this.checkForCatToNumericXAxis(this.chartType,A,i)).chart.sparkline)!==null&&x!==void 0&&x.enabled||(m=window.Apex.chart)!==null&&m!==void 0&&(v=m.sparkline)!==null&&v!==void 0&&v.enabled)&&(A=s.sparkline(A)),n=X.extend(r,A)}var l=X.extend(n,window.Apex);return r=X.extend(l,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(e,t,i){var a,s,r=new Ve(i),n=(e==="bar"||e==="boxPlot")&&((a=i.plotOptions)===null||a===void 0||(s=a.bar)===null||s===void 0?void 0:s.horizontal),o=e==="pie"||e==="polarArea"||e==="donut"||e==="radar"||e==="radialBar"||e==="heatmap",h=i.xaxis.type!=="datetime"&&i.xaxis.type!=="numeric",c=i.xaxis.tickPlacement?i.xaxis.tickPlacement:t.xaxis&&t.xaxis.tickPlacement;return n||o||!h||c==="between"||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(e,t){var i=new ze;(e.yaxis===void 0||!e.yaxis||Array.isArray(e.yaxis)&&e.yaxis.length===0)&&(e.yaxis={}),e.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(e.yaxis=X.extend(e.yaxis,window.Apex.yaxis)),e.yaxis.constructor!==Array?e.yaxis=[X.extend(i.yAxis,e.yaxis)]:e.yaxis=X.extendArray(e.yaxis,i.yAxis);var a=!1;e.yaxis.forEach(function(r){r.logarithmic&&(a=!0)});var s=e.series;return t&&!s&&(s=t.config.series),a&&s.length!==e.yaxis.length&&s.length&&(e.yaxis=s.map(function(r,n){if(r.name||(s[n].name="series-".concat(n+1)),e.yaxis[n])return e.yaxis[n].seriesName=s[n].name,e.yaxis[n];var o=X.extend(i.yAxis,e.yaxis[0]);return o.show=!1,o})),a&&s.length>1&&s.length!==e.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),e}},{key:"extendAnnotations",value:function(e){return e.annotations===void 0&&(e.annotations={},e.annotations.yaxis=[],e.annotations.xaxis=[],e.annotations.points=[]),e=this.extendYAxisAnnotations(e),e=this.extendXAxisAnnotations(e),e=this.extendPointAnnotations(e)}},{key:"extendYAxisAnnotations",value:function(e){var t=new ze;return e.annotations.yaxis=X.extendArray(e.annotations.yaxis!==void 0?e.annotations.yaxis:[],t.yAxisAnnotation),e}},{key:"extendXAxisAnnotations",value:function(e){var t=new ze;return e.annotations.xaxis=X.extendArray(e.annotations.xaxis!==void 0?e.annotations.xaxis:[],t.xAxisAnnotation),e}},{key:"extendPointAnnotations",value:function(e){var t=new ze;return e.annotations.points=X.extendArray(e.annotations.points!==void 0?e.annotations.points:[],t.pointAnnotation),e}},{key:"checkForDarkTheme",value:function(e){e.theme&&e.theme.mode==="dark"&&(e.tooltip||(e.tooltip={}),e.tooltip.theme!=="light"&&(e.tooltip.theme="dark"),e.chart.foreColor||(e.chart.foreColor="#f6f7f8"),e.theme.palette||(e.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(e){var t=e;if(t.tooltip.shared&&t.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(t.chart.type==="bar"&&t.plotOptions.bar.horizontal){if(t.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");t.yaxis[0].reversed&&(t.yaxis[0].opposite=!0),t.xaxis.tooltip.enabled=!1,t.yaxis[0].tooltip.enabled=!1,t.chart.zoom.enabled=!1}return t.chart.type!=="bar"&&t.chart.type!=="rangeBar"||t.tooltip.shared&&t.xaxis.crosshairs.width==="barWidth"&&t.series.length>1&&(t.xaxis.crosshairs.width="tickWidth"),t.chart.type!=="candlestick"&&t.chart.type!=="boxPlot"||t.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(t.chart.type," chart is not supported.")),t.yaxis[0].reversed=!1),t}}]),y}(),Yt=function(){function y(){T(this,y)}return z(y,[{key:"initGlobalVars",value:function(e){e.series=[],e.seriesCandleO=[],e.seriesCandleH=[],e.seriesCandleM=[],e.seriesCandleL=[],e.seriesCandleC=[],e.seriesRangeStart=[],e.seriesRangeEnd=[],e.seriesRange=[],e.seriesPercent=[],e.seriesGoals=[],e.seriesX=[],e.seriesZ=[],e.seriesNames=[],e.seriesTotals=[],e.seriesLog=[],e.seriesColors=[],e.stackedSeriesTotals=[],e.seriesXvalues=[],e.seriesYvalues=[],e.labels=[],e.hasXaxisGroups=!1,e.groups=[],e.barGroups=[],e.lineGroups=[],e.areaGroups=[],e.hasSeriesGroups=!1,e.seriesGroups=[],e.categoryLabels=[],e.timescaleLabels=[],e.noLabelsProvided=!1,e.resizeTimer=null,e.selectionResizeTimer=null,e.delayedElements=[],e.pointsArray=[],e.dataLabelsRects=[],e.isXNumeric=!1,e.skipLastTimelinelabel=!1,e.skipFirstTimelinelabel=!1,e.isDataXYZ=!1,e.isMultiLineX=!1,e.isMultipleYAxis=!1,e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE,e.minYArr=[],e.maxYArr=[],e.maxX=-Number.MAX_VALUE,e.minX=Number.MAX_VALUE,e.initialMaxX=-Number.MAX_VALUE,e.initialMinX=Number.MAX_VALUE,e.maxDate=0,e.minDate=Number.MAX_VALUE,e.minZ=Number.MAX_VALUE,e.maxZ=-Number.MAX_VALUE,e.minXDiff=Number.MAX_VALUE,e.yAxisScale=[],e.xAxisScale=null,e.xAxisTicksPositions=[],e.yLabelsCoords=[],e.yTitleCoords=[],e.barPadForNumericAxis=0,e.padHorizontal=0,e.xRange=0,e.yRange=[],e.zRange=0,e.dataPoints=0,e.xTickAmount=0,e.multiAxisTickAmount=0}},{key:"globalVars",value:function(e){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:e.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:e.chart.toolbar.autoSelected==="zoom"&&e.chart.toolbar.tools.zoom&&e.chart.zoom.enabled,panEnabled:e.chart.toolbar.autoSelected==="pan"&&e.chart.toolbar.tools.pan,selectionEnabled:e.chart.toolbar.autoSelected==="selection"&&e.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:e.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t.initialConfig=X.extend({},e),t.initialSeries=X.clone(e.series),t.lastXAxis=X.clone(t.initialConfig.xaxis),t.lastYAxis=X.clone(t.initialConfig.yaxis),t}}]),y}(),Vi=function(){function y(e){T(this,y),this.opts=e}return z(y,[{key:"init",value:function(){var e=new _e(this.opts).init({responsiveOverride:!1});return{config:e,globals:new Yt().init(e)}}}]),y}(),Ce=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return z(y,[{key:"clippedImgArea",value:function(e){var t=this.w,i=t.config,a=parseInt(t.globals.gridWidth,10),s=parseInt(t.globals.gridHeight,10),r=a>s?a:s,n=e.image,o=0,h=0;e.width===void 0&&e.height===void 0?i.fill.image.width!==void 0&&i.fill.image.height!==void 0?(o=i.fill.image.width+1,h=i.fill.image.height):(o=r+1,h=r):(o=e.width,h=e.height);var c=document.createElementNS(t.globals.SVGNS,"pattern");H.setAttrs(c,{id:e.patternID,patternUnits:e.patternUnits?e.patternUnits:"userSpaceOnUse",width:o+"px",height:h+"px"});var d=document.createElementNS(t.globals.SVGNS,"image");c.appendChild(d),d.setAttributeNS(window.SVG.xlink,"href",n),H.setAttrs(d,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:h+"px"}),d.style.opacity=e.opacity,t.globals.dom.elDefs.node.appendChild(c)}},{key:"getSeriesIndex",value:function(e){var t=this.w,i=t.config.chart.type;return(i==="bar"||i==="rangeBar")&&t.config.plotOptions.bar.distributed||i==="heatmap"||i==="treemap"?this.seriesIndex=e.seriesNumber:this.seriesIndex=e.seriesNumber%t.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(e){var t=this.w;this.opts=e;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(e);var n=this.getFillColors()[this.seriesIndex];t.globals.seriesColors[this.seriesIndex]!==void 0&&(n=t.globals.seriesColors[this.seriesIndex]),typeof n=="function"&&(n=n({seriesIndex:this.seriesIndex,dataPointIndex:e.dataPointIndex,value:e.value,w:t}));var o=e.fillType?e.fillType:this.getFillType(this.seriesIndex),h=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;e.color&&(n=e.color),n||(n="#fff",console.warn("undefined color - ApexCharts"));var c=n;if(n.indexOf("rgb")===-1?n.length<9&&(c=X.hexToRgba(n,h)):n.indexOf("rgba")>-1&&(h=X.getOpacityFromRGBA(n)),e.opacity&&(h=e.opacity),o==="pattern"&&(a=this.handlePatternFill({fillConfig:e.fillConfig,patternFill:a,fillColor:n,fillOpacity:h,defaultColor:c})),o==="gradient"&&(s=this.handleGradientFill({fillConfig:e.fillConfig,fillColor:n,fillOpacity:h,i:this.seriesIndex})),o==="image"){var d=r.fill.image.src,u=e.patternID?e.patternID:"";this.clippedImgArea({opacity:h,image:Array.isArray(d)?e.seriesNumber-1&&(f=X.getOpacityFromRGBA(u));var p=r.gradient.opacityTo===void 0?i:Array.isArray(r.gradient.opacityTo)?r.gradient.opacityTo[s]:r.gradient.opacityTo;if(r.gradient.gradientToColors===void 0||r.gradient.gradientToColors.length===0)n=r.gradient.shade==="dark"?c.shadeColor(-1*parseFloat(r.gradient.shadeIntensity),t.indexOf("rgb")>-1?X.rgb2hex(t):t):c.shadeColor(parseFloat(r.gradient.shadeIntensity),t.indexOf("rgb")>-1?X.rgb2hex(t):t);else if(r.gradient.gradientToColors[o.seriesNumber]){var x=r.gradient.gradientToColors[o.seriesNumber];n=x,x.indexOf("rgba")>-1&&(p=X.getOpacityFromRGBA(x))}else n=t;if(r.gradient.gradientFrom&&(u=r.gradient.gradientFrom),r.gradient.gradientTo&&(n=r.gradient.gradientTo),r.gradient.inverseColors){var m=u;u=n,n=m}return u.indexOf("rgb")>-1&&(u=X.rgb2hex(u)),n.indexOf("rgb")>-1&&(n=X.rgb2hex(n)),h.drawGradient(d,u,n,f,p,o.size,r.gradient.stops,r.gradient.colorStops,s)}}]),y}(),De=function(){function y(e,t){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],e.globals.markers.size.length>0){if(e.globals.markers.size.length4&&arguments[4]!==void 0&&arguments[4],n=this.w,o=t,h=e,c=null,d=new H(this.ctx),u=n.config.markers.discrete&&n.config.markers.discrete.length;if((n.globals.markers.size[t]>0||r||u)&&(c=d.group({class:r||u?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(n.globals.cuid,")")),Array.isArray(h.x))for(var f=0;f0:n.config.markers.size>0)||r||u){X.isNumber(h.y[f])?x+=" w".concat(X.randomId()):x="apexcharts-nullpoint";var m=this.getMarkerConfig({cssClass:x,seriesIndex:t,dataPointIndex:p});n.config.series[o].data[p]&&(n.config.series[o].data[p].fillColor&&(m.pointFillColor=n.config.series[o].data[p].fillColor),n.config.series[o].data[p].strokeColor&&(m.pointStrokeColor=n.config.series[o].data[p].strokeColor)),a!==void 0&&(m.pSize=a),(h.x[f]<-n.globals.markers.largestSize||h.x[f]>n.globals.gridWidth+n.globals.markers.largestSize||h.y[f]<-n.globals.markers.largestSize||h.y[f]>n.globals.gridHeight+n.globals.markers.largestSize)&&(m.pSize=0),(s=d.drawMarker(h.x[f],h.y[f],m)).attr("rel",p),s.attr("j",p),s.attr("index",t),s.node.setAttribute("default-marker-size",m.pSize),new ce(this.ctx).setSelectionFilter(s,t,p),this.addEvents(s),c&&c.add(s)}else n.globals.pointsArray[t]===void 0&&(n.globals.pointsArray[t]=[]),n.globals.pointsArray[t].push([h.x[f],h.y[f]])}return c}},{key:"getMarkerConfig",value:function(e){var t=e.cssClass,i=e.seriesIndex,a=e.dataPointIndex,s=a===void 0?null:a,r=e.radius,n=r===void 0?null:r,o=e.size,h=o===void 0?null:o,c=e.strokeWidth,d=c===void 0?null:c,u=this.w,f=this.getMarkerStyle(i),p=h===null?u.globals.markers.size[i]:h,x=u.config.markers;return s!==null&&x.discrete.length&&x.discrete.map(function(m){m.seriesIndex===i&&m.dataPointIndex===s&&(f.pointStrokeColor=m.strokeColor,f.pointFillColor=m.fillColor,p=m.size,f.pointShape=m.shape)}),{pSize:n===null?p:n,pRadius:n!==null?n:x.radius,pointStrokeWidth:d!==null?d:Array.isArray(x.strokeWidth)?x.strokeWidth[i]:x.strokeWidth,pointStrokeColor:f.pointStrokeColor,pointFillColor:f.pointFillColor,shape:f.pointShape||(Array.isArray(x.shape)?x.shape[i]:x.shape),class:t,pointStrokeOpacity:Array.isArray(x.strokeOpacity)?x.strokeOpacity[i]:x.strokeOpacity,pointStrokeDashArray:Array.isArray(x.strokeDashArray)?x.strokeDashArray[i]:x.strokeDashArray,pointFillOpacity:Array.isArray(x.fillOpacity)?x.fillOpacity[i]:x.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(e){var t=this.w,i=new H(this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,e)),e.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,e)),e.node.addEventListener("click",t.config.markers.onClick),e.node.addEventListener("dblclick",t.config.markers.onDblClick),e.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,e),{passive:!0})}},{key:"getMarkerStyle",value:function(e){var t=this.w,i=t.globals.markers.colors,a=t.config.markers.strokeColor||t.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[e]:a,pointFillColor:Array.isArray(i)?i[e]:i}}}]),y}(),Dt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return z(y,[{key:"draw",value:function(e,t,i){var a=this.w,s=new H(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,h=i.elParent,c=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(c.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(n.x))for(var d=0;dx.maxBubbleRadius&&(p=x.maxBubbleRadius)}var m=n.x[d],v=n.y[d];if(p=p||0,v!==null&&a.globals.series[r][u]!==void 0||(f=!1),f){var A=this.drawPoint(m,v,p,r,u,t);c.add(A)}h.add(c)}}},{key:"drawPoint",value:function(e,t,i,a,s,r){var n=this.w,o=a,h=new ie(this.ctx),c=new ce(this.ctx),d=new Ce(this.ctx),u=new De(this.ctx),f=new H(this.ctx),p=u.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:o,dataPointIndex:s,radius:n.config.chart.type==="bubble"||n.globals.comboCharts&&n.config.series[a]&&n.config.series[a].type==="bubble"?i:null}),x=d.fillPath({seriesNumber:a,dataPointIndex:s,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[a][r]}),m=f.drawMarker(e,t,p);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(x=n.config.series[o].data[s].fillColor),m.attr({fill:x}),n.config.chart.dropShadow.enabled){var v=n.config.chart.dropShadow;c.dropShadow(m,v,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var A=n.config.chart.animations.speed;h.animateMarker(m,A,n.globals.easing,function(){window.setTimeout(function(){h.animationCompleted(m)},100)})}return m.attr({rel:s,j:s,index:a,"default-marker-size":p.pSize}),c.setSelectionFilter(m,a,s),u.addEvents(m),m.node.classList.add("apexcharts-marker"),m}},{key:"centerTextInBubble",value:function(e){var t=this.w;return{y:e+=parseInt(t.config.dataLabels.style.fontSize,10)/4}}}]),y}(),Ne=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"dataLabelsCorrection",value:function(e,t,i,a,s,r,n){var o=this.w,h=!1,c=new H(this.ctx).getTextRects(i,n),d=c.width,u=c.height;t<0&&(t=0),t>o.globals.gridHeight+u&&(t=o.globals.gridHeight+u/2),o.globals.dataLabelsRects[a]===void 0&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:e,y:t,width:d,height:u});var f=o.globals.dataLabelsRects[a].length-2,p=o.globals.lastDrawnDataLabelsIndexes[a]!==void 0?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(o.globals.dataLabelsRects[a][f]!==void 0){var x=o.globals.dataLabelsRects[a][p];(e>x.x+x.width||t>x.y+x.height||t+ut.globals.gridWidth+A.textRects.width+30)&&(o="");var l=t.globals.dataLabels.style.colors[r];((t.config.chart.type==="bar"||t.config.chart.type==="rangeBar")&&t.config.plotOptions.bar.distributed||t.config.dataLabels.distributed)&&(l=t.globals.dataLabels.style.colors[n]),typeof l=="function"&&(l=l({series:t.globals.series,seriesIndex:r,dataPointIndex:n,w:t})),f&&(l=f);var g=u.offsetX,b=u.offsetY;if(t.config.chart.type!=="bar"&&t.config.chart.type!=="rangeBar"||(g=0,b=0),t.globals.isSlopeChart&&(n!==0&&(g=-2*u.offsetX+5),n!==0&&n!==t.config.series[r].data.length-1&&(g=0)),A.drawnextLabel){if((v=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:a+g,y:s+b,foreColor:l,textAnchor:h||u.textAnchor,text:o,fontSize:c||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"})).attr({class:m||"apexcharts-datalabel",cx:a,cy:s}),u.dropShadow.enabled){var C=u.dropShadow;new ce(this.ctx).dropShadow(v,C)}d.add(v),t.globals.lastDrawnDataLabelsIndexes[r]===void 0&&(t.globals.lastDrawnDataLabelsIndexes[r]=[]),t.globals.lastDrawnDataLabelsIndexes[r].push(n)}return v}},{key:"addBackgroundToDataLabel",value:function(e,t){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=t.width,o=t.height,h=new H(this.ctx).drawRect(t.x-s,t.y-r/2,n+2*s,o+r,a.borderRadius,i.config.chart.background!=="transparent"&&i.config.chart.background?i.config.chart.background:"#fff",a.opacity,a.borderWidth,a.borderColor);return a.dropShadow.enabled&&new ce(this.ctx).dropShadow(h,a.dropShadow),h}},{key:"dataLabelsBackground",value:function(){var e=this.w;if(e.config.chart.type!=="bubble")for(var t=e.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=this.w,s=X.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,e&&(t&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(e){for(var t=this.w,i=0;i-1&&(e[i].data=[]);return e}},{key:"toggleSeriesOnHover",value:function(e,t){var i=this.w;t||(t=e.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis");if(e.type==="mousemove"){var s=parseInt(t.getAttribute("rel"),10)-1,r=null,n=null,o=null;if(i.globals.axisCharts||i.config.chart.type==="radialBar")if(i.globals.axisCharts){r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),n=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"));var h=i.globals.seriesYAxisReverseMap[s];o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(h,"']"))}else r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']"));else r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var c=0;c=o.from&&c<=o.to&&s[h].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[n])}else e.type==="mouseout"&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"asc",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1){for(var s=i.config.series.map(function(n,o){return n.data&&n.data.length>0&&i.globals.collapsedSeriesIndices.indexOf(o)===-1&&(!i.globals.comboCharts||t.length===0||t.length&&t.indexOf(i.config.series[o].type)>-1)?o:-1}),r=e==="asc"?0:s.length-1;e==="asc"?r=0;e==="asc"?r++:r--)if(s[r]!==-1){a=s[r];break}}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map(function(e,t){return e.type==="bar"||e.type==="column"?t:-1}).filter(function(e){return e!==-1}):this.w.config.series.map(function(e,t){return t})}},{key:"getPreviousPaths",value:function(){var e=this.w;function t(r,n,o){for(var h=r[n].childNodes,c={type:o,paths:[],realIndex:r[n].getAttribute("data:realIndex")},d=0;d0)for(var a=function(r){for(var n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(e.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(r,"'] rect")),o=[],h=function(d){var u=function(p){return n[d].getAttribute(p)},f={x:parseFloat(u("x")),y:parseFloat(u("y")),width:parseFloat(u("width")),height:parseFloat(u("height"))};o.push({rect:f,color:n[d].getAttribute("color")})},c=0;c0)for(var a=0;a0?t:[]});return e}}]),y}(),Nt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new re(this.ctx)}return z(y,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var e=this.w.config.series.slice(),t=new Se(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].x!==void 0&&e[this.activeSeriesIndex].data[0]!==null)return!0}},{key:"isFormat2DArray",value:function(){var e=this.w.config.series.slice(),t=new Se(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==void 0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(e,t){for(var i=this.w.config,a=this.w.globals,s=i.chart.type==="boxPlot"||i.series[t].type==="boxPlot",r=0;r=5?this.twoDSeries.push(X.parseNumber(e[t].data[r][4])):this.twoDSeries.push(X.parseNumber(e[t].data[r][1])),a.dataFormatXNumeric=!0),i.xaxis.type==="datetime"){var n=new Date(e[t].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(e[t].data[r][0]);for(var o=0;o-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new ge(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=a.chart.type==="rangeBar"&&s.isBarHorizontal,s.hasXaxisGroups=a.xaxis.type==="category"&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),e.forEach(function(f,p){f.name!==void 0?s.seriesNames.push(f.name):s.seriesNames.push("series-"+parseInt(p+1,10))}),this.coreUtils.setSeriesYAxisMappings();var o=[],h=$(new Set(a.series.map(function(f){return f.group})));a.series.forEach(function(f,p){var x=h.indexOf(f.group);o[x]||(o[x]=[]),o[x].push(s.seriesNames[p])}),s.seriesGroups=o;for(var c=function(){for(var f=0;f0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var u=e[d].data.map(function(f){return X.parseNumber(f)});s.series.push(u)}s.seriesZ.push(this.threeDSeries),e[d].color!==void 0?s.seriesColors.push(e[d].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(e){var t=this.w.globals,i=this.w.config;t.series=e.slice(),t.seriesNames=i.labels.slice();for(var a=0;a0?i.labels=t.xaxis.categories:t.labels.length>0?i.labels=t.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map(function(a){a.forEach(function(s){i.labels.indexOf(s.x)<0&&s.x&&i.labels.push(s.x)})}),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),t.xaxis.convertedCatToNumeric&&(new Ve(t).convertCatToNumericXaxis(t,this.ctx,i.seriesX[0]),this._generateExternalLabels(e))):this._generateExternalLabels(e)}},{key:"_generateExternalLabels",value:function(e){var t=this.w.globals,i=this.w.config,a=[];if(t.axisCharts){if(t.series.length>0)if(this.isFormatXY())for(var s=i.series.map(function(d,u){return d.data.filter(function(f,p,x){return x.findIndex(function(m){return m.x===f.x})===p})}),r=s.reduce(function(d,u,f,p){return p[d].length>u.length?d:f},0),n=0;n0&&s==i.length&&t.push(a)}),e.globals.ignoreYAxisIndexes=t.map(function(i){return i})}}]),y}(),Ke=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"scaleSvgNode",value:function(e,t){var i=parseFloat(e.getAttributeNS(null,"width")),a=parseFloat(e.getAttributeNS(null,"height"));e.setAttributeNS(null,"width",i*t),e.setAttributeNS(null,"height",a*t),e.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(e){if(!X.isIE11())return e.replace(/ /g," ");var t=0,i=e.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,function(a){return++t===2?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':a});return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(e){e==null&&(e=1);var t=this.w.globals.dom.Paper.svg();if(e!==1){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,e),t=new XMLSerializer().serializeToString(i)}return this.fixSvgStringForIe11(t)}},{key:"cleanup",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=e.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,function(s){s.setAttribute("width",0)}),t&&t[0]&&(t[0].setAttribute("x",-500),t[0].setAttribute("x1",-500),t[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var e=this.getSvgString(),t=new Blob([e],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(t)}},{key:"dataURI",value:function(e){var t=this;return new Promise(function(i){var a=t.w,s=e?e.scale||e.width/a.globals.svgWidth:1;t.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n=a.config.chart.background!=="transparent"&&a.config.chart.background?a.config.chart.background:"#fff",o=r.getContext("2d");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s);var h=t.getSvgString(s);if(window.canvg&&X.isIE11()){var c=window.canvg.Canvg.fromString(o,h,{ignoreClear:!0,ignoreDimensions:!0});c.start();var d=r.msToBlob();c.stop(),i({blob:d})}else{var u="data:image/svg+xml,"+encodeURIComponent(h),f=new Image;f.crossOrigin="anonymous",f.onload=function(){if(o.drawImage(f,0,0),r.msToBlob){var p=r.msToBlob();i({blob:p})}else{var x=r.toDataURL("image/png");i({imgURI:x})}},f.src=u}})}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var e=this;this.dataURI().then(function(t){var i=t.imgURI,a=t.blob;a?navigator.msSaveOrOpenBlob(a,e.w.globals.chartID+".png"):e.triggerDownload(i,e.w.config.chart.toolbar.export.png.filename,".png")})}},{key:"exportToCSV",value:function(e){var t=this,i=e.series,a=e.fileName,s=e.columnDelimiter,r=s===void 0?",":s,n=e.lineDelimiter,o=n===void 0?` -`:n,h=this.w;i||(i=h.config.series);var c,d,u=[],f=[],p="",x=h.globals.series.map(function(k,P){return h.globals.collapsedSeriesIndices.indexOf(P)===-1?k:[]}),m=function(k){return typeof h.config.chart.toolbar.export.csv.categoryFormatter=="function"?h.config.chart.toolbar.export.csv.categoryFormatter(k):h.config.xaxis.type==="datetime"&&String(k).length>=10?new Date(k).toDateString():X.isNumber(k)?k:k.split(r).join("")},v=function(k){return typeof h.config.chart.toolbar.export.csv.valueFormatter=="function"?h.config.chart.toolbar.export.csv.valueFormatter(k):k},A=Math.max.apply(Math,$(i.map(function(k){return k.data?k.data.length:0}))),l=new Nt(this.ctx),g=new Ie(this.ctx),b=function(k){var P="";if(h.globals.axisCharts){if(h.config.xaxis.type==="category"||h.config.xaxis.convertedCatToNumeric)if(h.globals.isBarHorizontal){var I=h.globals.yLabelFormatters[0],E=new Se(t.ctx).getActiveConfigSeriesIndex();P=I(h.globals.labels[k],{seriesIndex:E,dataPointIndex:k,w:h})}else P=g.getLabel(h.globals.labels,h.globals.timescaleLabels,0,k).text;h.config.xaxis.type==="datetime"&&(h.config.xaxis.categories.length?P=h.config.xaxis.categories[k]:h.config.labels.length&&(P=h.config.labels[k]))}else P=h.config.labels[k];return P===null?"nullvalue":(Array.isArray(P)&&(P=P.join(" ")),X.isNumber(P)?P:P.split(r).join(""))},C=function(k,P){if(u.length&&P===0&&f.push(u.join(r)),k.data){k.data=k.data.length&&k.data||$(Array(A)).map(function(){return""});for(var I=0;I0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],i.config.xaxis.position==="top"?this.offY=0:this.offY=i.globals.gridHeight,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return z(y,[{key:"drawXaxis",value:function(){var e=this.w,t=new H(this.ctx),i=t.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),a=t.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&arguments[6]!==void 0?arguments[6]:{},c=[],d=[],u=this.w,f=h.xaxisFontSize||this.xaxisFontSize,p=h.xaxisFontFamily||this.xaxisFontFamily,x=h.xaxisForeColors||this.xaxisForeColors,m=h.fontWeight||u.config.xaxis.labels.style.fontWeight,v=h.cssClass||u.config.xaxis.labels.style.cssClass,A=u.globals.padHorizontal,l=a.length,g=u.config.xaxis.type==="category"?u.globals.dataPoints:l;if(g===0&&l>g&&(g=l),s){var b=g>1?g-1:g;n=u.globals.gridWidth/Math.min(b,l-1),A=A+r(0,n)/2+u.config.xaxis.labels.offsetX}else n=u.globals.gridWidth/g,A=A+r(0,n)+u.config.xaxis.labels.offsetX;for(var C=function(P){var I=A-r(P,n)/2+u.config.xaxis.labels.offsetX;P===0&&l===1&&n/2===A&&g===1&&(I=u.globals.gridWidth/2);var E=o.axesUtils.getLabel(a,u.globals.timescaleLabels,I,P,c,f,e),Y=28;if(u.globals.rotateXLabels&&e&&(Y=22),u.config.xaxis.title.text&&u.config.xaxis.position==="top"&&(Y+=parseFloat(u.config.xaxis.title.style.fontSize)+2),e||(Y=Y+parseFloat(f)+(u.globals.xAxisLabelsHeight-u.globals.xAxisGroupLabelsHeight)+(u.globals.rotateXLabels?10:0)),E=u.config.xaxis.tickAmount!==void 0&&u.config.xaxis.tickAmount!=="dataPoints"&&u.config.xaxis.type!=="datetime"?o.axesUtils.checkLabelBasedOnTickamount(P,E,l):o.axesUtils.checkForOverflowingLabels(P,E,l,c,d),u.config.xaxis.labels.show){var B=t.drawText({x:E.x,y:o.offY+u.config.xaxis.labels.offsetY+Y-(u.config.xaxis.position==="top"?u.globals.xAxisHeight+u.config.xaxis.axisTicks.height-2:0),text:E.text,textAnchor:"middle",fontWeight:E.isBold?600:m,fontSize:f,fontFamily:p,foreColor:Array.isArray(x)?e&&u.config.xaxis.convertedCatToNumeric?x[u.globals.minX+P-1]:x[P]:x,isPlainText:!1,cssClass:(e?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+v});if(i.add(B),B.on("click",function(W){if(typeof u.config.chart.events.xAxisLabelClick=="function"){var _=Object.assign({},u,{labelIndex:P});u.config.chart.events.xAxisLabelClick(W,o.ctx,_)}}),e){var F=document.createElementNS(u.globals.SVGNS,"title");F.textContent=Array.isArray(E.text)?E.text.join(" "):E.text,B.node.appendChild(F),E.text!==""&&(c.push(E.text),d.push(E))}}Pa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(t=t+r+a.config.xaxis.axisTicks.height,a.config.xaxis.position==="top"&&(t=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new H(this.ctx).drawLine(e+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,t+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var e=this.w,t=[],i=this.xaxisLabels.length,a=e.globals.padHorizontal;if(e.globals.timescaleLabels.length>0)for(var s=0;s0){var c=s[s.length-1].getBBox(),d=s[0].getBBox();c.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),d.x+d.width>e.globals.gridWidth&&!e.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var u=0;u0&&(this.xaxisLabels=t.globals.timescaleLabels.slice())}return z(y,[{key:"drawGridArea",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w,i=new H(this.ctx);e===null&&(e=i.group({class:"apexcharts-grid"}));var a=i.drawLine(t.globals.padHorizontal,1,t.globals.padHorizontal,t.globals.gridHeight,"transparent"),s=i.drawLine(t.globals.padHorizontal,t.globals.gridHeight,t.globals.gridWidth,t.globals.gridHeight,"transparent");return e.add(s),e.add(a),e}},{key:"drawGrid",value:function(){var e=null;return this.w.globals.axisCharts&&(e=this.renderGrid(),this.drawGridArea(e.el)),e}},{key:"createGridMask",value:function(){var e=this.w,t=e.globals,i=new H(this.ctx),a=Array.isArray(e.config.stroke.width)?0:e.config.stroke.width;if(Array.isArray(e.config.stroke.width)){var s=0;e.config.stroke.width.forEach(function(d){s=Math.max(s,d)}),a=s}t.dom.elGridRectMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(t.cuid)),t.dom.elGridRectMarkerMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(t.cuid)),t.dom.elForecastMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elForecastMask.setAttribute("id","forecastMask".concat(t.cuid)),t.dom.elNonForecastMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(t.cuid));var r=e.config.chart.type,n=0,o=0;(r==="bar"||r==="rangeBar"||r==="candlestick"||r==="boxPlot"||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&(n=e.config.grid.padding.left,o=e.config.grid.padding.right,t.barPadForNumericAxis>n&&(n=t.barPadForNumericAxis,o=t.barPadForNumericAxis)),t.dom.elGridRect=i.drawRect(-a/2-n-2,-a/2-2,t.gridWidth+a+o+n+4,t.gridHeight+a+4,0,"#fff");var h=e.globals.markers.largestSize+1;t.dom.elGridRectMarker=i.drawRect(2*-h,2*-h,t.gridWidth+4*h,t.gridHeight+4*h,0,"#fff"),t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node),t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);var c=t.dom.baseEl.querySelector("defs");c.appendChild(t.dom.elGridRectMask),c.appendChild(t.dom.elForecastMask),c.appendChild(t.dom.elNonForecastMask),c.appendChild(t.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(e){var t=e.i,i=e.x1,a=e.y1,s=e.x2,r=e.y2,n=e.xCount,o=e.parent,h=this.w;if(!(t===0&&h.globals.skipFirstTimelinelabel||t===n-1&&h.globals.skipLastTimelinelabel&&!h.config.xaxis.labels.formatter||h.config.chart.type==="radar")){h.config.grid.xaxis.lines.show&&this._drawGridLine({i:t,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var c=0;if(h.globals.hasXaxisGroups&&h.config.xaxis.tickPlacement==="between"){var d=h.globals.groups;if(d){for(var u=0,f=0;u0&&e.config.xaxis.type!=="datetime"&&(s=t.yAxisScale[a].result.length-1)),this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=t.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.gridWidth/s}}},{key:"drawGridBands",value:function(e,t){var i=this.w;if(i.config.grid.row.colors!==void 0&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/t,r=i.globals.gridWidth,n=0,o=0;n=i.config.grid.row.colors.length&&(o=0),this._drawGridBandRect({c:o,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/t;if(i.config.grid.column.colors!==void 0&&i.config.grid.column.colors.length>0)for(var h=i.globals.isBarHorizontal||i.config.xaxis.tickPlacement!=="on"||i.config.xaxis.type!=="category"&&!i.config.xaxis.convertedCatToNumeric?e:e-1,c=i.globals.padHorizontal,d=i.globals.padHorizontal+i.globals.gridWidth/h,u=i.globals.gridHeight,f=0,p=0;f=i.config.grid.column.colors.length&&(p=0),this._drawGridBandRect({c:p,x1:c,y1:0,x2:d,y2:u,type:"column"}),c+=i.globals.gridWidth/h}}]),y}(),Bt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"niceScale",value:function(e,t){var i,a,s,r,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=1e-11,h=this.w,c=h.globals;c.isBarHorizontal?(i=h.config.xaxis,a=Math.max((c.svgWidth-100)/25,2)):(i=h.config.yaxis[n],a=Math.max((c.svgHeight-100)/15,2)),s=i.min!==void 0&&i.min!==null,r=i.max!==void 0&&i.min!==null;var d=i.stepSize!==void 0&&i.stepSize!==null,u=i.tickAmount!==void 0&&i.tickAmount!==null,f=u?i.tickAmount:i.forceNiceScale?c.niceScaleDefaultTicks[Math.min(Math.round(a/2),c.niceScaleDefaultTicks.length-1)]:10;if(c.isMultipleYAxis&&!u&&c.multiAxisTickAmount>0&&(f=c.multiAxisTickAmount,u=!0),f=f==="dataPoints"?c.dataPoints-1:Math.abs(Math.round(f)),(e===Number.MIN_VALUE&&t===0||!X.isNumber(e)&&!X.isNumber(t)||e===Number.MIN_VALUE&&t===-Number.MAX_VALUE)&&(e=X.isNumber(i.min)?i.min:0,t=X.isNumber(i.max)?i.max:e+f,c.allSeriesCollapsed=!1),e>t){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var p=t;t=e,e=p}else e===t&&(e=e===0?0:e-1,t=t===0?2:t+1);var x=[];f<1&&(f=1);var m=f,v=Math.abs(t-e);i.forceNiceScale&&(!s&&e>0&&e/v<.15&&(e=0,s=!0),!r&&t<0&&-t/v<.15&&(t=0,r=!0),v=Math.abs(t-e));var A=v/m,l=A,g=Math.floor(Math.log10(l)),b=Math.pow(10,g),C=Math.ceil(l/b);if(A=l=(C=c.niceScaleAllowedMagMsd[c.yValueDecimal===0?0:1][C])*b,c.isBarHorizontal&&i.stepSize&&i.type!=="datetime"?(A=i.stepSize,d=!0):d&&(A=i.stepSize),d&&i.forceNiceScale){var k=Math.floor(Math.log10(A));A*=Math.pow(10,g-k)}if(s&&r){var P=v/m;if(u)if(d)if(X.mod(v,A)!=0){var I=X.getGCD(A,P);A=P/I<10?I:P}else X.mod(A,P)==0?A=P:(P=A,u=!1);else A=P;else if(d)X.mod(v,A)==0?P=A:A=P;else if(X.mod(v,A)==0)P=A;else{P=v/(m=Math.ceil(v/A));var E=X.getGCD(v,A);v/Ea&&(e=t-A*f,e+=A*Math.floor((Y-e)/A))}else if(s)if(u)t=e+A*m;else{var B=t;t=A*Math.ceil(t/A),Math.abs(t-e)/X.getGCD(v,A)>a&&(t=e+A*f,t+=A*Math.ceil((B-t)/A))}}else if(u){var F=A/(t-e>t?1:2),W=F*Math.floor(e/F);Math.abs(W-e)<=F/2?t=(e=W)+A*m:e=(t=F*Math.ceil(t/F))-A*m}else e=A*Math.floor(e/A),t=A*Math.ceil(t/A);v=Math.abs(t-e),A=X.getGCD(v,A),m=Math.round(v/A)}if(u||s||r||(m=Math.ceil((v-o)/(A+o)))>16&&X.getPrimeFactors(m).length<2&&m++,!u&&i.forceNiceScale&&c.yValueDecimal===0&&m>v&&(m=v,A=Math.round(v/m)),m>a&&(!u&&!d||i.forceNiceScale)){var _=X.getPrimeFactors(m),j=_.length-1,Z=m;e:for(var K=0;KAe);return{result:x,niceMin:x[0],niceMax:x[x.length-1]}}},{key:"linearScale",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:void 0,r=Math.abs(t-e),n=[];if(e===t)return{result:n=[e],niceMin:n[0],niceMax:n[n.length-1]};(i=this._adjustTicksForSmallRange(i,a,r))==="dataPoints"&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=e;i>=0;)n.push(o),o=X.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(e,t,i){t<=0&&(t=Math.max(e,i)),e<=0&&(e=Math.min(t,i));for(var a=[],s=Math.ceil(Math.log(t)/Math.log(i)+1),r=Math.floor(Math.log(e)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=r.forceNiceScale?this.logarithmicScaleNice(t,i,r.logBase):this.logarithmicScale(t,i,r.logBase)):i!==-Number.MAX_VALUE&&X.isNumber(i)&&t!==Number.MAX_VALUE&&X.isNumber(t)?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=this.niceScale(t,i,e)):a.yAxisScale[e]=this.niceScale(Number.MIN_VALUE,0,e)}},{key:"setXScale",value:function(e,t){var i=this.w,a=i.globals,s=Math.abs(t-e);if(t!==-Number.MAX_VALUE&&X.isNumber(t)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(e,t,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],a=[],s=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(d){return Array.isArray(d.seriesName)});t.series.forEach(function(d,u){s.push(u),a.push(null)}),t.yaxis.forEach(function(d,u){i[u]=[]});var n=[];t.yaxis.forEach(function(d,u){var f=!1;if(d.seriesName){var p=[];Array.isArray(d.seriesName)?p=d.seriesName:p.push(d.seriesName),p.forEach(function(x){t.series.forEach(function(m,v){if(m.name===x){var A=v;u===v||r?!r||s.indexOf(v)>-1?i[u].push([u,v]):console.warn("Series '"+m.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[v].push([v,u]),A=u),f=!0,(A=s.indexOf(A))!==-1&&s.splice(A,1)}})})}f||n.push(u)}),i=i.map(function(d,u){var f=[];return d.forEach(function(p){a[p[1]]=p[0],f.push(p[1])}),f});for(var o=t.yaxis.length-1,h=0;h0?function(){var c,d,u=Number.MAX_VALUE,f=-Number.MAX_VALUE,p=u,x=f;if(t.chart.stacked)(function(){var A=i.seriesX[n[0]],l=[],g=[],b=[];h.forEach(function(){l.push(A.map(function(){return Number.MIN_VALUE})),g.push(A.map(function(){return Number.MIN_VALUE})),b.push(A.map(function(){return Number.MIN_VALUE}))});for(var C=function(P){!c&&t.series[n[P]].type&&(c=t.series[n[P]].type);var I=n[P];d=t.series[I].group?t.series[I].group:"axis-".concat(o),!(i.collapsedSeriesIndices.indexOf(I)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(I)<0)||(i.allSeriesCollapsed=!1,h.forEach(function(E,Y){if(t.series[I].group===E)for(var B=0;B=0?g[Y][B]+=F:b[Y][B]+=F,l[Y][B]+=F,p=Math.min(p,F),x=Math.max(x,F)}})),c!=="bar"&&c!=="column"||i.barGroups.push(d)},k=0;k1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;a===null&&(a=e+1);var h=r.series,c=h,d=h;s.chart.type==="candlestick"?(c=r.seriesCandleL,d=r.seriesCandleH):s.chart.type==="boxPlot"?(c=r.seriesCandleO,d=r.seriesCandleC):r.isRangeData&&(c=r.seriesRangeStart,d=r.seriesRangeEnd);var u=!1;if(r.seriesX.length>=a){var f,p=(f=r.brushSource)===null||f===void 0?void 0:f.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||p!=null&&p.enabled&&p!=null&&p.autoScaleYaxis)&&(u=!0)}for(var x=e;xv&&r.seriesX[x][A]>s.xaxis.max;A--);}for(var l=v;l<=A&&lc[x][l]&&c[x][l]<0&&(o=c[x][l])}else r.hasNullValues=!0}m!=="bar"&&m!=="column"||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,t=Math.min(t,0)))}return s.chart.type==="rangeBar"&&r.seriesRangeStart.length&&r.isBarHorizontal&&(o=t),s.chart.type==="bar"&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:t,highestY:i}}},{key:"setYRange",value:function(){var e=this.w.globals,t=this.w.config;e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(e.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;se.dataPoints&&e.dataPoints!==0&&(a=e.dataPoints-1)):t.xaxis.tickAmount==="dataPoints"?(e.series.length>1&&(a=e.series[e.maxValsInArrayIndex].length-1),e.isXNumeric&&(a=e.maxX-e.minX-1)):a=t.xaxis.tickAmount,e.xTickAmount=a,t.xaxis.max!==void 0&&typeof t.xaxis.max=="number"&&(e.maxX=t.xaxis.max),t.xaxis.min!==void 0&&typeof t.xaxis.min=="number"&&(e.minX=t.xaxis.min),t.xaxis.range!==void 0&&(e.minX=e.maxX-t.xaxis.range),e.minX!==Number.MAX_VALUE&&e.maxX!==-Number.MAX_VALUE)if(t.xaxis.convertedCatToNumeric&&!e.dataFormatXNumeric){for(var s=[],r=e.minX-1;r0&&(e.xAxisScale=this.scales.linearScale(1,e.labels.length,a-1,0,t.xaxis.stepSize),e.seriesX=e.labels.slice());i&&(e.labels=e.xAxisScale.result.slice())}return e.isBarHorizontal&&e.labels.length&&(e.xTickAmount=e.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:e.minX,maxX:e.maxX}}},{key:"setZRange",value:function(){var e=this.w.globals;if(e.isDataXYZ){for(var t=0;t0){var n=s-a[r-1];n>0&&(e.minXDiff=Math.min(n,e.minXDiff))}}),e.dataPoints!==1&&e.minXDiff!==Number.MAX_VALUE||(e.minXDiff=.5)})}},{key:"_setStackedMinMax",value:function(){var e=this,t=this.w.globals;if(t.series.length){var i=t.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map(function(r){return r})]);var a={},s={};i.forEach(function(r){a[r]=[],s[r]=[],e.w.config.series.map(function(n,o){return r.indexOf(t.seriesNames[o])>-1?o:null}).filter(function(n){return n!==null}).forEach(function(n){for(var o=0;o0?a[r][o]+=parseFloat(t.series[n][o])+1e-4:s[r][o]+=parseFloat(t.series[n][o]))}})}),Object.entries(a).forEach(function(r){var n=J(r,1)[0];a[n].forEach(function(o,h){t.maxY=Math.max(t.maxY,a[n][h]),t.minY=Math.min(t.minY,s[n][h])})})}}}]),y}(),ft=function(){function y(e,t){T(this,y),this.ctx=e,this.elgrid=t,this.w=e.w;var i=this.w;this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.axisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xAxisoffX=0,i.config.xaxis.position==="bottom"&&(this.xAxisoffX=i.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new Ie(e)}return z(y,[{key:"drawYaxis",value:function(e){var t=this,i=this.w,a=new H(this.ctx),s=i.config.yaxis[e].labels.style,r=s.fontSize,n=s.fontFamily,o=s.fontWeight,h=a.group({class:"apexcharts-yaxis",rel:e,transform:"translate("+i.globals.translateYAxisX[e]+", 0)"});if(this.axesUtils.isYAxisHidden(e))return h;var c=a.group({class:"apexcharts-yaxis-texts-g"});h.add(c);var d=i.globals.yAxisScale[e].result.length-1,u=i.globals.gridHeight/d,f=i.globals.yLabelFormatters[e],p=i.globals.yAxisScale[e].result.slice();p=this.axesUtils.checkForReversedLabels(e,p);var x="";if(i.config.yaxis[e].labels.show){var m=i.globals.translateY+i.config.yaxis[e].labels.offsetY;i.globals.isBarHorizontal?m=0:i.config.chart.type==="heatmap"&&(m-=u/2),m+=parseInt(i.config.yaxis[e].labels.style.fontSize,10)/3;for(var v=function(I){var E=p[I];E=f(E,I,i);var Y=i.config.yaxis[e].labels.padding;i.config.yaxis[e].opposite&&i.config.yaxis.length!==0&&(Y*=-1);var B="end";i.config.yaxis[e].opposite&&(B="start"),i.config.yaxis[e].labels.align==="left"?B="start":i.config.yaxis[e].labels.align==="center"?B="middle":i.config.yaxis[e].labels.align==="right"&&(B="end");var F=t.axesUtils.getYAxisForeColor(s.colors,e),W=X.listToArray(i.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label tspan"))).map(function(ee){return ee.textContent}),_=a.drawText({x:Y,y:m,text:W.indexOf(E)>=0?"":E,textAnchor:B,fontSize:r,fontFamily:n,fontWeight:o,maxWidth:i.config.yaxis[e].labels.maxWidth,foreColor:Array.isArray(F)?F[I]:F,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});I===d&&(x=_),c.add(_);var j=document.createElementNS(i.globals.SVGNS,"title");if(j.textContent=Array.isArray(E)?E.join(" "):E,_.node.appendChild(j),i.config.yaxis[e].labels.rotate!==0){var Z=a.rotateAroundCenter(x.node),K=a.rotateAroundCenter(_.node);_.node.setAttribute("transform","rotate(".concat(i.config.yaxis[e].labels.rotate," ").concat(Z.x," ").concat(K.y,")"))}m+=u},A=d;A>=0;A--)v(A)}if(i.config.yaxis[e].title.text!==void 0){var l=a.group({class:"apexcharts-yaxis-title"}),g=0;i.config.yaxis[e].opposite&&(g=i.globals.translateYAxisX[e]);var b=a.drawText({x:g,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[e].title.offsetY,text:i.config.yaxis[e].title.text,textAnchor:"end",foreColor:i.config.yaxis[e].title.style.color,fontSize:i.config.yaxis[e].title.style.fontSize,fontWeight:i.config.yaxis[e].title.style.fontWeight,fontFamily:i.config.yaxis[e].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[e].title.style.cssClass});l.add(b),h.add(l)}var C=i.config.yaxis[e].axisBorder,k=31+C.offsetX;if(i.config.yaxis[e].opposite&&(k=-31-C.offsetX),C.show){var P=a.drawLine(k,i.globals.translateY+C.offsetY-2,k,i.globals.gridHeight+i.globals.translateY+C.offsetY+2,C.color,0,C.width);h.add(P)}return i.config.yaxis[e].axisTicks.show&&this.axesUtils.drawYAxisTicks(k,d,C,i.config.yaxis[e].axisTicks,e,u,h),h}},{key:"drawYaxisInversed",value:function(e){var t=this.w,i=new H(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});a.add(s);var r=t.globals.yAxisScale[e].result.length-1,n=t.globals.gridWidth/r+.1,o=n+t.config.xaxis.labels.offsetX,h=t.globals.xLabelFormatter,c=t.globals.yAxisScale[e].result.slice(),d=t.globals.timescaleLabels;d.length>0&&(this.xaxisLabels=d.slice(),r=(c=d.slice()).length),c=this.axesUtils.checkForReversedLabels(e,c);var u=d.length;if(t.config.xaxis.labels.show)for(var f=u?0:r;u?f=0;u?f++:f--){var p=c[f];p=h(p,f,t);var x=t.globals.gridWidth+t.globals.padHorizontal-(o-n+t.config.xaxis.labels.offsetX);if(d.length){var m=this.axesUtils.getLabel(c,d,x,f,this.drawnLabels,this.xaxisFontSize);x=m.x,p=m.text,this.drawnLabels.push(m.text),f===0&&t.globals.skipFirstTimelinelabel&&(p=""),f===c.length-1&&t.globals.skipLastTimelinelabel&&(p="")}var v=i.drawText({x,y:this.xAxisoffX+t.config.xaxis.labels.offsetY+30-(t.config.xaxis.position==="top"?t.globals.xAxisHeight+t.config.xaxis.axisTicks.height-2:0),text:p,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[e]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:t.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+t.config.xaxis.labels.style.cssClass});s.add(v),v.tspan(p);var A=document.createElementNS(t.globals.SVGNS,"title");A.textContent=p,v.node.appendChild(A),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(e){var t=this.w,i=new H(this.ctx),a=t.config.xaxis.axisBorder;if(a.show){var s=0;t.config.chart.type==="bar"&&t.globals.isXNumeric&&(s-=15);var r=i.drawLine(t.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,t.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(r):e.add(r)}}},{key:"inversedYAxisTitleText",value:function(e){var t=this.w,i=new H(this.ctx);if(t.config.xaxis.title.text!==void 0){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(t.config.xaxis.title.style.fontSize)+t.config.xaxis.title.offsetY+20,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+t.config.xaxis.title.style.cssClass});a.add(s),e.add(a)}}},{key:"yAxisTitleRotate",value:function(e,t){var i=this.w,a=new H(this.ctx),s={width:0,height:0},r={width:0,height:0},n=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g"));n!==null&&(s=n.getBoundingClientRect());var o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-title text"));if(o!==null&&(r=o.getBoundingClientRect()),o!==null){var h=this.xPaddingForYAxisTitle(e,s,r,t);o.setAttribute("x",h.xPos-(t?10:0))}if(o!==null){var c=a.rotateAroundCenter(o);o.setAttribute("transform","rotate(".concat(t?-1*i.config.yaxis[e].title.rotate:i.config.yaxis[e].title.rotate," ").concat(c.x," ").concat(c.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(e,t,i,a){var s=this.w,r=0,n=0,o=10;return s.config.yaxis[e].title.text===void 0||e<0?{xPos:n,padd:0}:(a?(n=t.width+s.config.yaxis[e].title.offsetX+i.width/2+o/2,(r+=1)===0&&(n-=o/2)):(n=-1*t.width+s.config.yaxis[e].title.offsetX+o/2+i.width/2,s.globals.isBarHorizontal&&(o=25,n=-1*t.width-s.config.yaxis[e].title.offsetX-o)),{xPos:n,padd:o})}},{key:"setYAxisXPosition",value:function(e,t){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map(function(o,h){var c=i.globals.ignoreYAxisIndexes.indexOf(h)>-1||!o.show||o.floating||e[h].width===0,d=e[h].width+t[h].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[h]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,c||(n=n+d+20),i.globals.translateYAxisX[h]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,c||(r=r+d+20),i.globals.translateYAxisX[h]=a+o.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(t=X.listToArray(t)).forEach(function(i,a){var s=e.config.yaxis[a];if(s&&!s.floating&&s.labels.align!==void 0){var r=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(a,"'] .apexcharts-yaxis-texts-g")),n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(a,"'] .apexcharts-yaxis-label"));n=X.listToArray(n);var o=r.getBoundingClientRect();s.labels.align==="left"?(n.forEach(function(h,c){h.setAttribute("text-anchor","start")}),s.opposite||r.setAttribute("transform","translate(-".concat(o.width,", 0)"))):s.labels.align==="center"?(n.forEach(function(h,c){h.setAttribute("text-anchor","middle")}),r.setAttribute("transform","translate(".concat(o.width/2*(s.opposite?1:-1),", 0)"))):s.labels.align==="right"&&(n.forEach(function(h,c){h.setAttribute("text-anchor","end")}),s.opposite&&r.setAttribute("transform","translate(".concat(o.width,", 0)")))}})}}]),y}(),_i=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.documentEvent=X.bind(this.documentEvent,this)}return z(y,[{key:"addEventListener",value:function(e,t){var i=this.w;i.globals.events.hasOwnProperty(e)?i.globals.events[e].push(t):i.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){var a=i.globals.events[e].indexOf(t);a!==-1&&i.globals.events[e].splice(a,1)}}},{key:"fireEvent",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var a=i.globals.events[e],s=a.length,r=0;r0&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(s){return s.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=X.extend(Ft,i);this.w.globals.locale=a.options}}]),y}(),Ui=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"drawAxis",value:function(e,t){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new je(this.ctx,t),h=new ft(this.ctx,t);r.axisCharts&&e!=="radar"&&(r.isBarHorizontal?(a=h.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map(function(c,d){if(r.ignoreYAxisIndexes.indexOf(d)===-1&&(a=h.drawYaxis(d),r.dom.Paper.add(a),s.w.config.grid.position==="back")){var u=r.dom.Paper.children()[1];u.remove(),r.dom.Paper.add(u)}})))}}]),y}(),pt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"drawXCrosshairs",value:function(){var e=this.w,t=new H(this.ctx),i=new ce(this.ctx),a=e.config.xaxis.crosshairs.fill.gradient,s=e.config.xaxis.crosshairs.dropShadow,r=e.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,h=a.opacityFrom,c=a.opacityTo,d=a.stops,u=s.enabled,f=s.left,p=s.top,x=s.blur,m=s.color,v=s.opacity,A=e.config.xaxis.crosshairs.fill.color;if(e.config.xaxis.crosshairs.show){r==="gradient"&&(A=t.drawGradient("vertical",n,o,h,c,null,d,null));var l=t.drawRect();e.config.xaxis.crosshairs.width===1&&(l=t.drawLine());var g=e.globals.gridHeight;(!X.isNumber(g)||g<0)&&(g=0);var b=e.config.xaxis.crosshairs.width;(!X.isNumber(b)||b<0)&&(b=0),l.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:g,width:b,height:g,fill:A,filter:"none","fill-opacity":e.config.xaxis.crosshairs.opacity,stroke:e.config.xaxis.crosshairs.stroke.color,"stroke-width":e.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":e.config.xaxis.crosshairs.stroke.dashArray}),u&&(l=i.dropShadow(l,{left:f,top:p,blur:x,color:m,opacity:v})),e.globals.dom.elGraphical.add(l)}}},{key:"drawYCrosshairs",value:function(){var e=this.w,t=new H(this.ctx),i=e.config.yaxis[0].crosshairs,a=e.globals.barPadForNumericAxis;if(e.config.yaxis[0].crosshairs.show){var s=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),e.globals.dom.elGraphical.add(s)}var r=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),e.globals.dom.elGraphical.add(r)}}]),y}(),qi=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"checkResponsiveConfig",value:function(e){var t=this,i=this.w,a=i.config;if(a.responsive.length!==0){var s=a.responsive.slice();s.sort(function(h,c){return h.breakpoint>c.breakpoint?1:c.breakpoint>h.breakpoint?-1:0}).reverse();var r=new _e({}),n=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=s[0].breakpoint,d=window.innerWidth>0?window.innerWidth:screen.width;if(d>c){var u=X.clone(i.globals.initialConfig);u.series=X.clone(i.config.series);var f=re.extendArrayProps(r,u,i);h=X.extend(f,h),h=X.extend(i.config,h),t.overrideResponsiveOptions(h)}else for(var p=0;p0&&typeof i.config.colors[0]=="function"&&(i.globals.colors=i.config.series.map(function(p,x){var m=i.config.colors[x];return m||(m=i.config.colors[0]),typeof m=="function"?(t.isColorFn=!0,m({value:i.globals.axisCharts?i.globals.series[x][0]?i.globals.series[x][0]:0:i.globals.series[x],seriesIndex:x,dataPointIndex:x,w:i})):m}))),i.globals.seriesColors.map(function(p,x){p&&(i.globals.colors[x]=p)}),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var n=i.config.theme.monochrome.color,o=1/(r/i.config.theme.monochrome.shadeIntensity),h=i.config.theme.monochrome.shadeTo,c=0,d=0;d2&&arguments[2]!==void 0?arguments[2]:null,a=this.w,s=t||a.globals.series.length;if(i===null&&(i=this.isBarDistributed||this.isHeatmapDistributed||a.config.chart.type==="heatmap"&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),e.lengthe.globals.svgWidth&&(this.dCtx.lgRect.width=e.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var e=this,t=this.w,i=[];t.config.series.forEach(function(o,h){o.data.forEach(function(c,d){var u;u=t.globals.series[h][d],a=t.config.dataLabels.formatter(u,{ctx:e.dCtx.ctx,seriesIndex:h,dataPointIndex:d,w:t}),i.push(a)})});var a=X.getLargestStringFromArr(i),s=new H(this.dCtx.ctx),r=t.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(e,t){var i=e;if(this.w.globals.isMultiLineX){var a=t.map(function(r,n){return Array.isArray(r)?r.length:1}),s=Math.max.apply(Math,$(a));i=t[a.indexOf(s)]}return i}}]),y}(),Ki=function(){function y(e){T(this,y),this.w=e.w,this.dCtx=e}return z(y,[{key:"getxAxisLabelsCoords",value:function(){var e,t=this.w,i=t.globals.labels.slice();if(t.config.xaxis.convertedCatToNumeric&&i.length===0&&(i=t.globals.categoryLabels),t.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();e={width:a.width,height:a.height},t.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=t.config.legend.position!=="left"&&t.config.legend.position!=="right"||t.config.legend.floating?0:this.dCtx.lgRect.width;var s=t.globals.xLabelFormatter,r=X.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);t.globals.isBarHorizontal&&(n=r=t.globals.yAxisScale[0].result.reduce(function(p,x){return p.length>x.length?p:x},0));var o=new Te(this.dCtx.ctx),h=r;r=o.xLabelFormat(s,r,h,{i:void 0,dateFormatter:new ge(this.dCtx.ctx).formatDate,w:t}),n=o.xLabelFormat(s,n,h,{i:void 0,dateFormatter:new ge(this.dCtx.ctx).formatDate,w:t}),(t.config.xaxis.convertedCatToNumeric&&r===void 0||String(r).trim()==="")&&(n=r="1");var c=new H(this.dCtx.ctx),d=c.getTextRects(r,t.config.xaxis.labels.style.fontSize),u=d;if(r!==n&&(u=c.getTextRects(n,t.config.xaxis.labels.style.fontSize)),(e={width:d.width>=u.width?d.width:u.width,height:d.height>=u.height?d.height:u.height}).width*i.length>t.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&t.config.xaxis.labels.rotate!==0||t.config.xaxis.labels.rotateAlways){if(!t.globals.isBarHorizontal){t.globals.rotateXLabels=!0;var f=function(p){return c.getTextRects(p,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,"rotate(".concat(t.config.xaxis.labels.rotate," 0 0)"),!1)};d=f(r),r!==n&&(u=f(n)),e.height=(d.height>u.height?d.height:u.height)/1.5,e.width=d.width>u.width?d.width:u.width}}else t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(e={width:0,height:0}),{width:e.width,height:e.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var e,t=this.w;if(!t.globals.hasXaxisGroups)return{width:0,height:0};var i,a=((e=t.config.xaxis.group.style)===null||e===void 0?void 0:e.fontSize)||t.config.xaxis.labels.style.fontSize,s=t.globals.groups.map(function(d){return d.title}),r=X.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new H(this.dCtx.ctx),h=o.getTextRects(r,a),c=h;return r!==n&&(c=o.getTextRects(n,a)),i={width:h.width>=c.width?h.width:c.width,height:h.height>=c.height?h.height:c.height},t.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var e=this.w,t=0,i=0;if(e.config.xaxis.title.text!==void 0){var a=new H(this.dCtx.ctx).getTextRects(e.config.xaxis.title.text,e.config.xaxis.title.style.fontSize);t=a.width,i=a.height}return{width:t,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var e,t=this.w;this.dCtx.timescaleLabels=t.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map(function(s){return s.value}),a=i.reduce(function(s,r){return s===void 0?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):s.length>r.length?s:r},0);return 1.05*(e=new H(this.dCtx.ctx).getTextRects(a,t.config.xaxis.labels.style.fontSize)).width*i.length>t.globals.gridWidth&&t.config.xaxis.labels.rotate!==0&&(t.globals.overlappingXLabels=!0),e}},{key:"additionalPaddingXLabels",value:function(e){var t=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=e.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,h=function(c,d){s.yaxis.length>1&&function(u){return a.collapsedSeriesIndices.indexOf(u)!==-1}(d)||function(u){if(t.dCtx.timescaleLabels&&t.dCtx.timescaleLabels.length){var f=t.dCtx.timescaleLabels[0],p=t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length-1].position+n/1.75-t.dCtx.yAxisWidthRight,x=f.position-n/1.75+t.dCtx.yAxisWidthLeft,m=i.config.legend.position==="right"&&t.dCtx.lgRect.width>0?t.dCtx.lgRect.width:0;p>a.svgWidth-a.translateX-m&&(a.skipLastTimelinelabel=!0),x<-(u.show&&!u.floating||s.chart.type!=="bar"&&s.chart.type!=="candlestick"&&s.chart.type!=="rangeBar"&&s.chart.type!=="boxPlot"?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else r==="datetime"?t.dCtx.gridPad.right((k=String(d(b,o)))===null||k===void 0?void 0:k.length)?g:b},u),p=f=d(f,o);if(f!==void 0&&f.length!==0||(f=h.niceMax),t.globals.isBarHorizontal){a=0;var x=t.globals.labels.slice();f=X.getLargestStringFromArr(x),f=d(f,{seriesIndex:n,dataPointIndex:-1,w:t}),p=e.dCtx.dimHelpers.getLargestStringFromMultiArr(f,x)}var m=new H(e.dCtx.ctx),v="rotate(".concat(r.labels.rotate," 0 0)"),A=m.getTextRects(f,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1),l=A;f!==p&&(l=m.getTextRects(p,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1)),i.push({width:(c>l.width||c>A.width?c:l.width>A.width?l.width:A.width)+a,height:l.height>A.height?l.height:A.height})}else i.push({width:0,height:0})}),i}},{key:"getyAxisTitleCoords",value:function(){var e=this,t=this.w,i=[];return t.config.yaxis.map(function(a,s){if(a.show&&a.title.text!==void 0){var r=new H(e.dCtx.ctx),n="rotate(".concat(a.title.rotate," 0 0)"),o=r.getTextRects(a.title.text,a.title.style.fontSize,a.title.style.fontFamily,n,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})}),i}},{key:"getTotalYAxisWidth",value:function(){var e=this.w,t=0,i=0,a=0,s=e.globals.yAxisScale.length>1?10:0,r=new Ie(this.dCtx.ctx),n=function(o,h){var c=e.config.yaxis[h].floating,d=0;o.width>0&&!c?(d=o.width+s,function(u){return e.globals.ignoreYAxisIndexes.indexOf(u)>-1}(h)&&(d=d-o.width-s)):d=c||r.isYAxisHidden(h)?0:5,e.config.yaxis[h].opposite?a+=d:i+=d,t+=d};return e.globals.yLabelsCoords.map(function(o,h){n(o,h)}),e.globals.yTitleCoords.map(function(o,h){n(o,h)}),e.globals.isBarHorizontal&&!e.config.yaxis[0].floating&&(t=e.globals.yLabelsCoords[0].width+e.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,t}}]),y}(),ea=function(){function y(e){T(this,y),this.w=e.w,this.dCtx=e}return z(y,[{key:"gridPadForColumnsInNumericAxis",value:function(e){var t=this.w,i=t.config,a=t.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(f){return f==="bar"||f==="rangeBar"||f==="candlestick"||f==="boxPlot"},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach(function(f){s(f.type)&&(o-=1)}),i.chart.stacked&&(o=1);var h=s(r)||a.comboBarCount>0,c=Math.abs(a.initialMaxX-a.initialMinX);if(h&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&c!==0){var d,u;c<=3&&(c=a.dataPoints),d=c/e,a.minXDiff&&a.minXDiff/d>0&&(u=a.minXDiff/d),u>e/2&&(u/=2),(n=u*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var e=this,t=this.w,i=t.globals,a=this.dCtx.isSparkline||!t.globals.axisCharts?0:10;["title","subtitle"].forEach(function(n){t.config[n].text!==void 0?a+=t.config[n].margin:a+=e.dCtx.isSparkline||!t.globals.axisCharts?0:5}),!t.config.legend.show||t.config.legend.position!=="bottom"||t.config.legend.floating||t.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(e,t){var i=this.w,a=new Ie(this.dCtx.ctx);i.config.yaxis.map(function(s,r){i.globals.ignoreYAxisIndexes.indexOf(r)!==-1||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(t[r].width+e[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))})}}]),y}(),Qe=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new Ji(this),this.dimYAxis=new Qi(this),this.dimXAxis=new Ki(this),this.dimGrid=new ea(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return z(y,[{key:"plotCoords",value:function(){var e=this,t=this.w,i=t.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,$(t.config.stroke.width)):t.config.stroke.width;this.isSparkline&&((t.config.markers.discrete.length>0||t.config.markers.size>0)&&Object.entries(this.gridPad).forEach(function(r){var n=J(r,2),o=n[0],h=n[1];e.gridPad[o]=Math.max(h,e.w.globals.markers.largestSize/1.5)}),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var e=this,t=this.w,i=t.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),t.globals.yLabelsCoords=[],t.globals.yTitleCoords=[],t.config.yaxis.map(function(f,p){t.globals.yLabelsCoords.push({width:a[p].width,index:p}),t.globals.yTitleCoords.push({width:s[p].width,index:p})}),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=t.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=t.globals.rotateXLabels&&t.globals.isXNumeric&&t.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,t.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(t.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+t.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+t.config.xaxis.labels.offsetX;var h=this.yAxisWidth,c=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var d=10;(t.config.chart.type==="radar"||this.isSparkline)&&(h=0,c=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||t.config.chart.type==="treemap")&&(h=0,c=0,d=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var u=function(){i.translateX=h+e.datalabelsCoords.width,i.gridHeight=i.svgHeight-e.lgRect.height-c-(e.isSparkline||t.config.chart.type==="treemap"?0:t.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-h-2*e.datalabelsCoords.width};switch(t.config.xaxis.position==="top"&&(d=i.xAxisHeight-t.config.xaxis.axisTicks.height-5),t.config.legend.position){case"bottom":i.translateY=d,u();break;case"top":i.translateY=this.lgRect.height+d,u();break;case"left":i.translateY=d,i.translateX=this.lgRect.width+h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width;break;case"right":i.translateY=d,i.translateX=h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new ft(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=e.config,a=0;e.config.legend.show&&!e.config.legend.floating&&(a=20);var s=i.chart.type==="pie"||i.chart.type==="polarArea"||i.chart.type==="donut"?"pie":"radialBar",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){t.gridHeight=t.svgHeight-i.grid.padding.top-i.grid.padding.bottom;var o=t.dom.elWrap.getBoundingClientRect().width;return t.gridWidth=Math.min(o,t.gridHeight)-i.grid.padding.left-i.grid.padding.right,t.translateY=r,void(t.translateX=n+(t.svgWidth-t.gridWidth)/2)}switch(i.legend.position){case"bottom":t.gridHeight=t.svgHeight-this.lgRect.height-t.goldenPadding,t.gridWidth=t.svgWidth,t.translateY=r-10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"top":t.gridHeight=t.svgHeight-this.lgRect.height-t.goldenPadding,t.gridWidth=t.svgWidth,t.translateY=this.lgRect.height+r+10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"left":t.gridWidth=t.svgWidth-this.lgRect.width-a,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+this.lgRect.width+a;break;case"right":t.gridWidth=t.svgWidth-this.lgRect.width-a-5,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(e,t,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+e.height+t.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,h=a.globals.rotateXLabels&&a.config.legend.position==="bottom"?10:0;this.xAxisHeight=r*n+s*o+h,this.xAxisWidth=e.width,this.xAxisHeight-t.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightd&&(this.yAxisWidth=d)}}]),y}(),ta=function(){function y(e){T(this,y),this.w=e.w,this.lgCtx=e}return z(y,[{key:"getLegendStyles",value:function(){var e,t,i,a=document.createElement("style");a.setAttribute("type","text/css");var s=((e=this.lgCtx.ctx)===null||e===void 0||(t=e.opts)===null||t===void 0||(i=t.chart)===null||i===void 0?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute("nonce",s);var r=document.createTextNode(` - .apexcharts-legend { - display: flex; - overflow: auto; - padding: 0 10px; - } - .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top { - flex-wrap: wrap - } - .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { - flex-direction: column; - bottom: 0; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { - justify-content: flex-start; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center { - justify-content: center; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right { - justify-content: flex-end; - } - .apexcharts-legend-series { - cursor: pointer; - line-height: normal; - display: flex; - align-items: center; - } - .apexcharts-legend-text { - position: relative; - font-size: 14px; - } - .apexcharts-legend-text *, .apexcharts-legend-marker * { - pointer-events: none; - } - .apexcharts-legend-marker { - position: relative; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - margin-right: 1px; - } - - .apexcharts-legend-series.apexcharts-no-click { - cursor: auto; - } - .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series { - display: none !important; - } - .apexcharts-inactive-legend { - opacity: 0.45; - }`);return a.appendChild(r),a}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend"),t=e.offsetWidth;return{clwh:e.offsetHeight,clww:t}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(e,t){var i=this,a=this.w;if(a.globals.axisCharts||a.config.chart.type==="radialBar"){a.globals.resized=!0;var s=null,r=null;a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(e+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),t?[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach(function(c){i.riseCollapsedSeries(c.cs,c.csi,r)}):this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(e+1,"'] path")),o=a.config.chart.type;if(o==="pie"||o==="polarArea"||o==="donut"){var h=a.config.plotOptions.pie.donut.labels;new H(this.lgCtx.ctx).pathMouseDown(n.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(n.members[0].node,h)}n.fire("click")}}},{key:"hideSeries",value:function(e){var t=e.seriesEl,i=e.realIndex,a=this.w,s=a.globals,r=X.clone(a.config.series);if(s.axisCharts){var n=a.config.yaxis[s.seriesYAxisReverseMap[i]];if(n&&n.show&&n.showAlways)s.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(s.ancillaryCollapsedSeries.push({index:i,data:r[i].data.slice(),type:t.parentNode.className.baseVal.split("-")[1]}),s.ancillaryCollapsedSeriesIndices.push(i));else if(s.collapsedSeriesIndices.indexOf(i)<0){s.collapsedSeries.push({index:i,data:r[i].data.slice(),type:t.parentNode.className.baseVal.split("-")[1]}),s.collapsedSeriesIndices.push(i);var o=s.risingSeries.indexOf(i);s.risingSeries.splice(o,1)}}else s.collapsedSeries.push({index:i,data:r[i]}),s.collapsedSeriesIndices.push(i);for(var h=t.childNodes,c=0;c0){for(var r=0;r1||!t.axisCharts)&&i.legend.show){for(;t.dom.elLegendWrap.firstChild;)t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);this.drawLegends(),X.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),i.legend.position==="bottom"||i.legend.position==="top"?this.legendAlignHorizontal():i.legend.position!=="right"&&i.legend.position!=="left"||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(e){var t=e.i,i=e.fillcolor,a=this.w,s=document.createElement("span");s.classList.add("apexcharts-legend-marker");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[t]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[t]):parseFloat(a.config.legend.markers.size),h=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[t]):parseFloat(a.config.legend.markers.offsetX),c=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[t]):parseFloat(a.config.legend.markers.offsetY),d=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[t]):parseFloat(a.config.legend.markers.strokeWidth),u=s.style;if(u.height=2*(o+d)+"px",u.width=2*(o+d)+"px",u.left=h+"px",u.top=c+"px",a.config.legend.markers.customHTML)u.background="transparent",u.color=i[t],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[t]&&(s.innerHTML=a.config.legend.markers.customHTML[t]()):s.innerHTML=a.config.legend.markers.customHTML();else{var f=new De(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:t,strokeWidth:d,size:o}),p=SVG(s).size("100%","100%"),x=new H(this.ctx).drawMarker(0,0,L(L({},f),{},{pointFillColor:Array.isArray(i)?i[t]:f.pointFillColor,shape:n}));SVG.select(".apexcharts-legend-marker.apexcharts-marker").members.forEach(function(m){m.node.classList.contains("apexcharts-marker-triangle")?m.node.style.transform="translate(50%, 45%)":m.node.style.transform="translate(50%, 50%)"}),p.add(x)}return s}},{key:"drawLegends",value:function(){var e=this,t=this.w,i=t.config.legend.fontFamily,a=t.globals.seriesNames,s=t.config.legend.markers.fillColors?t.config.legend.markers.fillColors.slice():t.globals.colors.slice();if(t.config.chart.type==="heatmap"){var r=t.config.plotOptions.heatmap.colorScale.ranges;a=r.map(function(b){return b.name?b.name:b.from+" - "+b.to}),s=r.map(function(b){return b.color})}else this.isBarsDistributed&&(a=t.globals.labels.slice());t.config.legend.customLegendItems.length&&(a=t.config.legend.customLegendItems);for(var n=t.globals.legendFormatter,o=t.config.legend.inverseOrder,h=o?a.length-1:0;o?h>=0:h<=a.length-1;o?h--:h++){var c,d=n(a[h],{seriesIndex:h,w:t}),u=!1,f=!1;if(t.globals.collapsedSeries.length>0)for(var p=0;p0)for(var x=0;x0?h-10:0)+(c>0?c-10:0)}a.style.position="absolute",r=r+e+i.config.legend.offsetX,n=n+t+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=n+"px",i.config.legend.position==="bottom"?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):i.config.legend.position==="right"&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach(function(d){a.style[d]&&(a.style[d]=parseInt(i.config.legend[d],10)+"px")})}},{key:"legendAlignHorizontal",value:function(){var e=this.w;e.globals.dom.elLegendWrap.style.right=0;var t=this.legendHelpers.getLegendDimensions(),i=new Qe(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;e.config.legend.position==="bottom"?r=-t.clwh/1.8:e.config.legend.position==="top"&&(r=a.height+s.height+e.config.title.margin+e.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var e=this.w,t=this.legendHelpers.getLegendDimensions(),i=0;e.config.legend.position==="left"&&(i=20),e.config.legend.position==="right"&&(i=e.globals.svgWidth-t.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(e){var t=this.w,i=e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker");if(t.config.chart.type==="heatmap"||this.isBarsDistributed){if(i){var a=parseInt(e.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new Se(this.ctx).highlightRangeInSeries(e,e.target)}}else!e.target.classList.contains("apexcharts-inactive-legend")&&i&&new Se(this.ctx).toggleSeriesOnHover(e,e.target)}},{key:"onLegendClick",value:function(e){var t=this.w;if(!t.config.legend.customLegendItems.length&&(e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(e.target.getAttribute("rel"),10)-1,a=e.target.getAttribute("data:collapsed")==="true",s=this.w.config.chart.events.legendClick;typeof s=="function"&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;typeof r=="function"&&e.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),t.config.chart.type!=="treemap"&&t.config.chart.type!=="heatmap"&&!this.isBarsDistributed&&t.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),y}(),Gt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=t.globals.minX,this.maxX=t.globals.maxX}return z(y,[{key:"createToolbar",value:function(){var e=this,t=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=t.config.chart.toolbar.offsetY+"px",a.style.right=3-t.config.chart.toolbar.offsetX+"px",t.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s - - - -`),n("zoomOut",this.elZoomOut,` - - - -`);var o=function(d){e.t[d]&&t.config.chart[d].enabled&&r.push({el:d==="zoom"?e.elZoom:e.elSelection,icon:typeof e.t[d]=="string"?e.t[d]:d==="zoom"?` - - - -`:` - - -`,title:e.localeValues[d==="zoom"?"selectionZoom":"selection"],class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(d,"-icon")})};o("zoom"),o("selection"),this.t.pan&&t.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:typeof this.t.pan=="string"?this.t.pan:` - - - - - - - -`,title:this.localeValues.pan,class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,` - - -`),this.t.download&&r.push({el:this.elMenuIcon,icon:typeof this.t.download=="string"?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var h=0;h0&&a.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:i.globals.gridWidth,maxY:i.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var i=this.w,a=this.xyRatios;if(!i.globals.zoomEnabled){if(i.globals.selection!==void 0&&i.globals.selection!==null)this.drawSelectionRect(i.globals.selection);else if(i.config.chart.selection.xaxis.min!==void 0&&i.config.chart.selection.xaxis.max!==void 0){var s=(i.config.chart.selection.xaxis.min-i.globals.minX)/a.xRatio,r=i.globals.gridWidth-(i.globals.maxX-i.config.chart.selection.xaxis.max)/a.xRatio-s;i.globals.isRangeBar&&(s=(i.config.chart.selection.xaxis.min-i.globals.yAxisScale[0].niceMin)/a.invertedYRatio,r=(i.config.chart.selection.xaxis.max-i.config.chart.selection.xaxis.min)/a.invertedYRatio);var n={x:s,y:0,width:r,height:i.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(n),this.makeSelectionRectDraggable(),typeof i.config.chart.events.selection=="function"&&i.config.chart.events.selection(this.ctx,{xaxis:{min:i.config.chart.selection.xaxis.min,max:i.config.chart.selection.xaxis.max},yaxis:{}})}}}},{key:"drawSelectionRect",value:function(i){var a=i.x,s=i.y,r=i.width,n=i.height,o=i.translateX,h=o===void 0?0:o,c=i.translateY,d=c===void 0?0:c,u=this.w,f=this.zoomRect,p=this.selectionRect;if(this.dragged||u.globals.selection!==null){var x={transform:"translate("+h+", "+d+")"};u.globals.zoomEnabled&&this.dragged&&(r<0&&(r=1),f.attr({x:a,y:s,width:r,height:n,fill:u.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":u.config.chart.zoom.zoomedArea.fill.opacity,stroke:u.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":u.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":u.config.chart.zoom.zoomedArea.stroke.opacity}),H.setAttrs(f.node,x)),u.globals.selectionEnabled&&(p.attr({x:a,y:s,width:r>0?r:0,height:n>0?n:0,fill:u.config.chart.selection.fill.color,"fill-opacity":u.config.chart.selection.fill.opacity,stroke:u.config.chart.selection.stroke.color,"stroke-width":u.config.chart.selection.stroke.width,"stroke-dasharray":u.config.chart.selection.stroke.dashArray,"stroke-opacity":u.config.chart.selection.stroke.opacity}),H.setAttrs(p.node,x))}}},{key:"hideSelectionRect",value:function(i){i&&i.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(i){var a=i.context,s=i.zoomtype,r=this.w,n=a,o=this.gridRect.getBoundingClientRect(),h=n.startX-1,c=n.startY,d=!1,u=!1,f=n.clientX-o.left-h,p=n.clientY-o.top-c,x={};return Math.abs(f+h)>r.globals.gridWidth?f=r.globals.gridWidth-h:n.clientX-o.left<0&&(f=h),h>n.clientX-o.left&&(d=!0,f=Math.abs(f)),c>n.clientY-o.top&&(u=!0,p=Math.abs(p)),x=s==="x"?{x:d?h-f:h,y:0,width:f,height:r.globals.gridHeight}:s==="y"?{x:0,y:u?c-p:c,width:r.globals.gridWidth,height:p}:{x:d?h-f:h,y:u?c-p:c,width:f,height:p},n.drawSelectionRect(x),n.selectionDragging("resizing"),x}},{key:"selectionDragging",value:function(i,a){var s=this,r=this.w,n=this.xyRatios,o=this.selectionRect,h=0;i==="resizing"&&(h=30);var c=function(u){return parseFloat(o.node.getAttribute(u))},d={x:c("x"),y:c("y"),width:c("width"),height:c("height")};r.globals.selection=d,typeof r.config.chart.events.selection=="function"&&r.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var u,f,p,x,m=s.gridRect.getBoundingClientRect(),v=o.node.getBoundingClientRect();r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+(v.left-m.left)*n.invertedYRatio,f=r.globals.yAxisScale[0].niceMin+(v.right-m.left)*n.invertedYRatio,p=0,x=1):(u=r.globals.xAxisScale.niceMin+(v.left-m.left)*n.xRatio,f=r.globals.xAxisScale.niceMin+(v.right-m.left)*n.xRatio,p=r.globals.yAxisScale[0].niceMin+(m.bottom-v.bottom)*n.yRatio[0],x=r.globals.yAxisScale[0].niceMax-(v.top-m.top)*n.yRatio[0]);var A={xaxis:{min:u,max:f},yaxis:{min:p,max:x}};r.config.chart.events.selection(s.ctx,A),r.config.chart.brush.enabled&&r.config.chart.events.brushScrolled!==void 0&&r.config.chart.events.brushScrolled(s.ctx,A)},h))}},{key:"selectionDrawn",value:function(i){var a=i.context,s=i.zoomtype,r=this.w,n=a,o=this.xyRatios,h=this.ctx.toolbar;if(n.startX>n.endX){var c=n.startX;n.startX=n.endX,n.endX=c}if(n.startY>n.endY){var d=n.startY;n.startY=n.endY,n.endY=d}var u=void 0,f=void 0;r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+n.startX*o.invertedYRatio,f=r.globals.yAxisScale[0].niceMin+n.endX*o.invertedYRatio):(u=r.globals.xAxisScale.niceMin+n.startX*o.xRatio,f=r.globals.xAxisScale.niceMin+n.endX*o.xRatio);var p=[],x=[];if(r.config.yaxis.forEach(function(C,k){var P=r.globals.seriesYAxisMap[k][0];p.push(r.globals.yAxisScale[k].niceMax-o.yRatio[P]*n.startY),x.push(r.globals.yAxisScale[k].niceMax-o.yRatio[P]*n.endY)}),n.dragged&&(n.dragX>10||n.dragY>10)&&u!==f){if(r.globals.zoomEnabled){var m=X.clone(r.globals.initialConfig.yaxis),v=X.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(u=Math.floor(u),f=Math.floor(f),u<1&&(u=1,f=r.globals.dataPoints),f-u<2&&(f=u+1)),s!=="xy"&&s!=="x"||(v={min:u,max:f}),s!=="xy"&&s!=="y"||m.forEach(function(C,k){m[k].min=x[k],m[k].max=p[k]}),h){var A=h.getBeforeZoomRange(v,m);A&&(v=A.xaxis?A.xaxis:v,m=A.yaxis?A.yaxis:m)}var l={xaxis:v};r.config.chart.group||(l.yaxis=m),n.ctx.updateHelpers._updateOptions(l,!1,n.w.config.chart.animations.dynamicAnimation.enabled),typeof r.config.chart.events.zoomed=="function"&&h.zoomCallback(v,m)}else if(r.globals.selectionEnabled){var g,b=null;g={min:u,max:f},s!=="xy"&&s!=="y"||(b=X.clone(r.config.yaxis)).forEach(function(C,k){b[k].min=x[k],b[k].max=p[k]}),r.globals.selection=n.selection,typeof r.config.chart.events.selection=="function"&&r.config.chart.events.selection(n.ctx,{xaxis:g,yaxis:b})}}}},{key:"panDragging",value:function(i){var a=i.context,s=this.w,r=a;if(s.globals.lastClientPosition.x!==void 0){var n=s.globals.lastClientPosition.x-r.clientX,o=s.globals.lastClientPosition.y-r.clientY;Math.abs(n)>Math.abs(o)&&n>0?this.moveDirection="left":Math.abs(n)>Math.abs(o)&&n<0?this.moveDirection="right":Math.abs(o)>Math.abs(n)&&o>0?this.moveDirection="up":Math.abs(o)>Math.abs(n)&&o<0&&(this.moveDirection="down")}s.globals.lastClientPosition={x:r.clientX,y:r.clientY};var h=s.globals.isRangeBar?s.globals.minY:s.globals.minX,c=s.globals.isRangeBar?s.globals.maxY:s.globals.maxX;s.config.xaxis.convertedCatToNumeric||r.panScrolled(h,c)}},{key:"delayedPanScrolled",value:function(){var i=this.w,a=i.globals.minX,s=i.globals.maxX,r=(i.globals.maxX-i.globals.minX)/2;this.moveDirection==="left"?(a=i.globals.minX+r,s=i.globals.maxX+r):this.moveDirection==="right"&&(a=i.globals.minX-r,s=i.globals.maxX-r),a=Math.floor(a),s=Math.floor(s),this.updateScrolledChart({xaxis:{min:a,max:s}},a,s)}},{key:"panScrolled",value:function(i,a){var s=this.w,r=this.xyRatios,n=X.clone(s.globals.initialConfig.yaxis),o=r.xRatio,h=s.globals.minX,c=s.globals.maxX;s.globals.isRangeBar&&(o=r.invertedYRatio,h=s.globals.minY,c=s.globals.maxY),this.moveDirection==="left"?(i=h+s.globals.gridWidth/15*o,a=c+s.globals.gridWidth/15*o):this.moveDirection==="right"&&(i=h-s.globals.gridWidth/15*o,a=c-s.globals.gridWidth/15*o),s.globals.isRangeBar||(is.globals.initialMaxX)&&(i=h,a=c);var d={xaxis:{min:i,max:a}};s.config.chart.group||(d.yaxis=n),this.updateScrolledChart(d,i,a)}},{key:"updateScrolledChart",value:function(i,a,s){var r=this.w;this.ctx.updateHelpers._updateOptions(i,!1,!1),typeof r.config.chart.events.scrolled=="function"&&r.config.chart.events.scrolled(this.ctx,{xaxis:{min:a,max:s}})}}]),t}(Gt),Vt=function(){function y(e){T(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return z(y,[{key:"getNearestValues",value:function(e){var t=e.hoverArea,i=e.elGrid,a=e.clientX,s=e.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,h=n.height,c=o/(r.globals.dataPoints-1),d=h/r.globals.dataPoints,u=this.hasBars();!r.globals.comboCharts&&!u||r.config.xaxis.convertedCatToNumeric||(c=o/r.globals.dataPoints);var f=a-n.left-r.globals.barPadForNumericAxis,p=s-n.top;f<0||p<0||f>o||p>h?(t.classList.remove("hovering-zoom"),t.classList.remove("hovering-pan")):r.globals.zoomEnabled?(t.classList.remove("hovering-pan"),t.classList.add("hovering-zoom")):r.globals.panEnabled&&(t.classList.remove("hovering-zoom"),t.classList.add("hovering-pan"));var x=Math.round(f/c),m=Math.floor(p/d);u&&!r.config.xaxis.convertedCatToNumeric&&(x=Math.ceil(f/c),x-=1);var v=null,A=null,l=r.globals.seriesXvalues.map(function(P){return P.filter(function(I){return X.isNumber(I)})}),g=r.globals.seriesYvalues.map(function(P){return P.filter(function(I){return X.isNumber(I)})});if(r.globals.isXNumeric){var b=this.ttCtx.getElGrid().getBoundingClientRect(),C=f*(b.width/o),k=p*(b.height/h);v=(A=this.closestInMultiArray(C,k,l,g)).index,x=A.j,v!==null&&(l=r.globals.seriesXvalues[v],x=(A=this.closestInArray(C,l)).index)}return r.globals.capturedSeriesIndex=v===null?-1:v,(!x||x<1)&&(x=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=m:r.globals.capturedDataPointIndex=x,{capturedSeries:v,j:r.globals.isBarHorizontal?m:x,hoverX:f,hoverY:p}}},{key:"closestInMultiArray",value:function(e,t,i,a){var s=this.w,r=0,n=null,o=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var h=i[r][0],c=Math.abs(e-h);if(i.forEach(function(f){f.forEach(function(p,x){var m=Math.abs(e-p);m<=c&&(c=m,o=x)})}),o!==-1){var d=a[r][o],u=Math.abs(t-d);n=r,a.forEach(function(f,p){var x=Math.abs(t-f[o]);x<=u&&(u=x,n=p)})}return{index:n,j:o}}},{key:"getFirstActiveXArray",value:function(e){for(var t=this.w,i=0,a=e.map(function(r,n){return r.length>0?n:-1}),s=0;s0)for(var a=0;a *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(e=$(e)).sort(function(i,a){var s=Number(i.getAttribute("data:realIndex")),r=Number(a.getAttribute("data:realIndex"));return rs?-1:0});var t=[];return e.forEach(function(i){t.push(i.querySelector(".apexcharts-marker"))}),t}},{key:"hasMarkers",value:function(e){return this.getElMarkers(e).length>0}},{key:"getPathFromPoint",value:function(e,t){var i=Number(e.getAttribute("cx")),a=Number(e.getAttribute("cy")),s=e.getAttribute("shape");return new H(this.ctx).getMarkerPath(i,a,s,t)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(e){var t=this.w,i=t.config.markers.hover.size;return i===void 0&&(i=t.globals.markers.size[e]+t.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(e){var t=this.w,i=this.ttCtx;i.allTooltipSeriesGroups.length===0&&(i.allTooltipSeriesGroups=t.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(E.attrs.name,""),I+="
".concat(E.val,"
")}),l.innerHTML=P+"",g.innerHTML=I+""};n?h.globals.seriesGoals[t][i]&&Array.isArray(h.globals.seriesGoals[t][i])?b():(l.innerHTML="",g.innerHTML=""):b()}else l.innerHTML="",g.innerHTML="";if(x!==null&&(a[t].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=h.config.tooltip.z.title,a[t].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=x!==void 0?x:""),n&&m[0]){if(h.config.tooltip.hideEmptySeries){var C=a[t].querySelector(".apexcharts-tooltip-marker"),k=a[t].querySelector(".apexcharts-tooltip-text");parseFloat(d)==0?(C.style.display="none",k.style.display="none"):(C.style.display="block",k.style.display="block")}d==null||h.globals.ancillaryCollapsedSeriesIndices.indexOf(t)>-1||h.globals.collapsedSeriesIndices.indexOf(t)>-1||Array.isArray(c.tConfig.enabledOnSeries)&&c.tConfig.enabledOnSeries.indexOf(t)===-1?m[0].parentNode.style.display="none":m[0].parentNode.style.display=h.config.tooltip.items.display}else Array.isArray(c.tConfig.enabledOnSeries)&&c.tConfig.enabledOnSeries.indexOf(t)===-1&&(m[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(e,t){var i=this.w;if(e)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var a=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(t));a&&(a.classList.add("apexcharts-active"),a.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(e){var t=e.i,i=e.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",n="",o=null,h=null,c={series:a.globals.series,seriesIndex:t,dataPointIndex:i,w:a},d=a.globals.ttZFormatter;i===null?h=a.globals.series[t]:a.globals.isXNumeric&&a.config.chart.type!=="treemap"?(r=s[t][i],s[t].length===0&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=a.globals.labels[i]!==void 0?a.globals.labels[i]:"";var u=r;return a.globals.isXNumeric&&a.config.xaxis.type==="datetime"?r=new Te(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,u,u,{i:void 0,dateFormatter:new ge(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](u,c):a.globals.xLabelFormatter(u,c),a.config.tooltip.x.formatter!==void 0&&(r=a.globals.ttKeyFormatter(u,c)),a.globals.seriesZ.length>0&&a.globals.seriesZ[t].length>0&&(o=d(a.globals.seriesZ[t][i],a)),n=typeof a.config.xaxis.tooltip.formatter=="function"?a.globals.xaxisTooltipFormatter(u,c):r,{val:Array.isArray(h)?h.join(" "):h,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(e){var t=e.i,i=e.j,a=e.y1,s=e.y2,r=e.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[t]&&(o=o[t]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:t,dataPointIndex:i,y1:a,y2:s,w:r})}}]),y}(),_t=function(){function y(e){T(this,y),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return z(y,[{key:"moveXCrosshairs",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=e-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(t!==null&&(r=a.globals.gridWidth/n*t),s===null||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;a.config.xaxis.crosshairs.width!=="tickWidth"&&a.config.xaxis.crosshairs.width!=="barWidth"||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(e){var t=this.ttCtx;t.ycrosshairs!==null&&H.setAttrs(t.ycrosshairs,{y1:e,y2:e}),t.ycrosshairsHidden!==null&&H.setAttrs(t.ycrosshairsHidden,{y1:e,y2:e})}},{key:"moveXAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;if(i.xaxisTooltip!==null&&i.xcrosshairsWidth!==0){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+t.config.xaxis.tooltip.offsetY+t.globals.translateY+1+t.config.xaxis.offsetY;if(e-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(e)){e+=t.globals.translateX;var s;s=new H(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=e+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;i.yaxisTTEls===null&&(i.yaxisTTEls=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=t.globals.translateY+a,r=i.yaxisTTEls[e].getBoundingClientRect().height,n=t.globals.translateYAxisX[e]-2;t.config.yaxis[e].opposite&&(n-=26),s-=r/2,t.globals.ignoreYAxisIndexes.indexOf(e)===-1?(i.yaxisTTEls[e].classList.add("apexcharts-active"),i.yaxisTTEls[e].style.top=s+"px",i.yaxisTTEls[e].style.left=n+t.config.yaxis[e].tooltip.offsetX+"px"):i.yaxisTTEls[e].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=i!==null?parseFloat(i):1,h=parseFloat(e)+o+5,c=parseFloat(t)+o/2;if(h>a.globals.gridWidth/2&&(h=h-n.ttWidth-o-10),h>a.globals.gridWidth-n.ttWidth-10&&(h=a.globals.gridWidth-n.ttWidth),h<-20&&(h=-20),a.config.tooltip.followCursor){var d=s.getElGrid().getBoundingClientRect();(h=s.e.clientX-d.left)>a.globals.gridWidth/2&&(h-=s.tooltipRect.ttWidth),(c=s.e.clientY+a.globals.translateY-d.top)>a.globals.gridHeight/2&&(c-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+c>a.globals.gridHeight&&(c=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(h)||(h+=a.globals.translateX,r.style.left=h+"px",r.style.top=c+"px")}},{key:"moveMarkers",value:function(e,t){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[e]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-marker")),r=0;r0){var p=f.getAttribute("shape"),x=h.getMarkerPath(s,r,p,1.5*d);f.setAttribute("d",x)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,d)}}},{key:"moveDynamicPointsOnHover",value:function(e){var t,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Se(this.ctx),h=new H(this.ctx);t=o.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var c=i.tooltipUtil.getHoverMarkerSize(t);n[t]&&(s=n[t][e][0],r=n[t][e][1]);var d=i.tooltipUtil.getAllMarkers();if(d!==null)for(var u=0;u0){var A=h.getMarkerPath(s,p,m,c);d[u].setAttribute("d",A)}else d[u].setAttribute("d","")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,c)}},{key:"moveStickyTooltipOverBars",value:function(e,t){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Se(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(e,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"']"));n||typeof t!="number"||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,`'], - .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], - .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], - .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,"']")));var o=n?parseFloat(n.getAttribute("cx")):0,h=n?parseFloat(n.getAttribute("cy")):0,c=n?parseFloat(n.getAttribute("barWidth")):0,d=a.getElGrid().getBoundingClientRect(),u=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!u&&(o-=s%2!=0?c/2:0),n&&u&&i.globals.comboCharts&&(o-=c/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[e-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[e]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?h-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?h=a.e.clientY-d.top-a.tooltipRect.ttHeight/2:h+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(h=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,h||i.globals.gridHeight)}}]),y}(),sa=function(){function y(e){T(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new _t(e)}return z(y,[{key:"drawDynamicPoints",value:function(){var e=this.w,t=new H(this.ctx),i=new De(this.ctx),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=$(a),e.config.chart.stacked&&a.sort(function(d,u){return parseFloat(d.getAttribute("data:realIndex"))-parseFloat(u.getAttribute("data:realIndex"))});for(var s=0;s2&&arguments[2]!==void 0?arguments[2]:null,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,s=this.w;s.config.chart.type!=="bubble"&&this.newPointSize(e,t);var r=t.getAttribute("cx"),n=t.getAttribute("cy");if(i!==null&&a!==null&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(s.config.chart.type==="radar"){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(e){for(var t=this.w,i=this,a=this.ttCtx,s=e,r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=t.config.markers.hover.size,o=0;o=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(e[t],i);e[t].setAttribute("d",a)}else e[t].setAttribute("d","M0,0")}}}]),y}(),ra=function(){function y(e){T(this,y),this.w=e.w;var t=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.config.chart.type==="rangeBar"&&t.config.plotOptions.bar.rangeBarGroupRows}return z(y,[{key:"getAttr",value:function(e,t){return parseFloat(e.target.getAttribute(t))}},{key:"handleHeatTreeTooltip",value:function(e){var t=e.e,i=e.opt,a=e.x,s=e.y,r=e.type,n=this.ttCtx,o=this.w;if(t.target.classList.contains("apexcharts-".concat(r,"-rect"))){var h=this.getAttr(t,"i"),c=this.getAttr(t,"j"),d=this.getAttr(t,"cx"),u=this.getAttr(t,"cy"),f=this.getAttr(t,"width"),p=this.getAttr(t,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:h,j:c,shared:!1,e:t}),o.globals.capturedSeriesIndex=h,o.globals.capturedDataPointIndex=c,a=d+n.tooltipRect.ttWidth/2+f,s=u+n.tooltipRect.ttHeight/2-p/2,n.tooltipPosition.moveXCrosshairs(d+f/2),a>o.globals.gridWidth/2&&(a=d-n.tooltipRect.ttWidth/2+f),n.w.config.tooltip.followCursor){var x=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-x.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-x.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(e){var t,i,a=e.e,s=e.opt,r=e.x,n=e.y,o=this.w,h=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var c=parseInt(s.paths.getAttribute("cx"),10),d=parseInt(s.paths.getAttribute("cy"),10),u=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),t=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,h.intersect){var f=X.findAncestor(s.paths,"apexcharts-series");f&&(t=parseInt(f.getAttribute("data:realIndex"),10))}if(h.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:t,j:i,shared:!h.showOnIntersect&&o.config.tooltip.shared,e:a}),a.type==="mouseup"&&h.markerClick(a,t,i),o.globals.capturedSeriesIndex=t,o.globals.capturedDataPointIndex=i,r=c,n=d+o.globals.translateY-1.4*h.tooltipRect.ttHeight,h.w.config.tooltip.followCursor){var p=h.getElGrid().getBoundingClientRect();n=h.e.clientY+o.globals.translateY-p.top}u<0&&(n=d),h.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(e){var t,i,a=e.e,s=e.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),h=0,c=0,d=0,u=this.getBarTooltipXY({e:a,opt:s});t=u.i,u.barHeight;var f=u.j;r.globals.capturedSeriesIndex=t,r.globals.capturedDataPointIndex=f,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(c=u.x,d=u.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[t]:r.config.stroke.width,h=c):r.globals.comboCharts||r.config.tooltip.shared||(h/=2),isNaN(d)&&(d=r.globals.svgHeight-n.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10);if(r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed,c+n.tooltipRect.ttWidth>r.globals.gridWidth?c-=n.tooltipRect.ttWidth:c<0&&(c=0),n.w.config.tooltip.followCursor){var x=n.getElGrid().getBoundingClientRect();d=n.e.clientY-x.top}n.tooltip===null&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(h+i/2):n.tooltipPosition.moveXCrosshairs(h)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(d=d+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=c+r.globals.translateX+"px",o.style.top=d+"px")}},{key:"getBarTooltipXY",value:function(e){var t=this,i=e.e,a=e.opt,s=this.w,r=null,n=this.ttCtx,o=0,h=0,c=0,d=0,u=0,f=i.target.classList;if(f.contains("apexcharts-bar-area")||f.contains("apexcharts-candlestick-area")||f.contains("apexcharts-boxPlot-area")||f.contains("apexcharts-rangebar-area")){var p=i.target,x=p.getBoundingClientRect(),m=a.elGrid.getBoundingClientRect(),v=x.height;u=x.height;var A=x.width,l=parseInt(p.getAttribute("cx"),10),g=parseInt(p.getAttribute("cy"),10);d=parseFloat(p.getAttribute("barWidth"));var b=i.type==="touchmove"?i.touches[0].clientX:i.clientX;r=parseInt(p.getAttribute("j"),10),o=parseInt(p.parentNode.getAttribute("rel"),10)-1;var C=p.getAttribute("data-range-y1"),k=p.getAttribute("data-range-y2");s.globals.comboCharts&&(o=parseInt(p.parentNode.getAttribute("data:realIndex"),10));var P=function(E){return s.globals.isXNumeric?l-A/2:t.isVerticalGroupedRangeBar?l+A/2:l-n.dataPointsDividedWidth+A/2},I=function(){return g-n.dataPointsDividedHeight+v/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:C?parseInt(C,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(h=b-m.left+15,c=I()):(h=P(),c=i.clientY-m.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((h=l)0&&i.setAttribute("width",t.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var e=this.w,t=this.ttCtx;t.ycrosshairs=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),t.ycrosshairsHidden=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(e,t,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[e];if(a.yaxisTooltips[e]&&n.length>0){var o=r.yLabelFormatters[e],h=a.getElGrid().getBoundingClientRect(),c=n[0],d=0;i.yRatio.length>1&&(d=c);var u=(t-h.top)*i.yRatio[d],f=r.maxYArr[c]-r.minYArr[c],p=r.minYArr[c]+(f-u);s.config.yaxis[e].reversed&&(p=r.maxYArr[c]-(f-u)),a.tooltipPosition.moveYCrosshairs(t-h.top),a.yaxisTooltipText[e].innerHTML=o(p),a.tooltipPosition.moveYAxisTooltip(e)}}}]),y}(),jt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.tConfig=t.config.tooltip,this.tooltipUtil=new Vt(this),this.tooltipLabels=new aa(this),this.tooltipPosition=new _t(this),this.marker=new sa(this),this.intersect=new ra(this),this.axesTooltip=new na(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!t.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return z(y,[{key:"getElTooltip",value:function(e){return e||(e=this),e.w.globals.dom.baseEl?e.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(e){var t=this.w;this.xyRatios=e,this.isXAxisTooltipEnabled=t.config.xaxis.tooltip.enabled&&t.globals.axisCharts,this.yaxisTooltips=t.config.yaxis.map(function(r,n){return!!(r.show&&r.tooltip.enabled&&t.globals.axisCharts)}),this.allTooltipSeriesGroups=[],t.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),t.config.tooltip.cssClass&&i.classList.add(t.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),t.globals.dom.elWrap.appendChild(i),t.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new je(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!t.globals.comboCharts&&!this.tConfig.intersect&&t.config.chart.type!=="rangeBar"||this.tConfig.shared||(this.showOnIntersect=!0),t.config.markers.size!==0&&t.globals.markers.largestSize!==0||this.marker.drawDynamicPoints(this),t.globals.collapsedSeries.length!==t.globals.series.length){this.dataPointsDividedHeight=t.globals.gridHeight/t.globals.dataPoints,this.dataPointsDividedWidth=t.globals.gridWidth/t.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||t.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=t.globals.series.length;(t.globals.xyCharts||t.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:t.globals.series.length),this.legendLabels=t.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(e){for(var t=this,i=this.w,a=[],s=this.getElTooltip(),r=function(o){var h=document.createElement("div");h.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(o)),h.style.order=i.config.tooltip.inverseOrder?e-o:o+1;var c=document.createElement("span");c.classList.add("apexcharts-tooltip-marker"),c.style.backgroundColor=i.globals.colors[o],h.appendChild(c);var d=document.createElement("div");d.classList.add("apexcharts-tooltip-text"),d.style.fontFamily=t.tConfig.style.fontFamily||i.config.chart.fontFamily,d.style.fontSize=t.tConfig.style.fontSize,["y","goals","z"].forEach(function(u){var f=document.createElement("div");f.classList.add("apexcharts-tooltip-".concat(u,"-group"));var p=document.createElement("span");p.classList.add("apexcharts-tooltip-text-".concat(u,"-label")),f.appendChild(p);var x=document.createElement("span");x.classList.add("apexcharts-tooltip-text-".concat(u,"-value")),f.appendChild(x),d.appendChild(f)}),h.appendChild(d),s.appendChild(h),a.push(h)},n=0;n0&&this.addPathsEventListeners(p,d),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(d)}}},{key:"drawFixedTooltipRect",value:function(){var e=this.w,t=this.getElTooltip(),i=t.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(r=r+e.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+e.globals.svgHeight-s-10),t.style.left=r+"px",t.style.top=n+"px",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(e){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(t,e)}},{key:"addPathsEventListeners",value:function(e,t){for(var i=this,a=function(r){var n={paths:e[r],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(o){return e[r].addEventListener(o,i.onSeriesHover.bind(i,n),{capture:!1,passive:!0})})},s=0;s=100?this.seriesHover(e,t):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout(function(){i.seriesHover(e,t)},100-a))}},{key:"seriesHover",value:function(e,t){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||s.globals.dataPoints===0)||(a.length?a.forEach(function(r){var n=i.getElTooltip(r),o={paths:e.paths,tooltipEl:n,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:r.w.globals.tooltip.ttItems};r.w.globals.minX===i.w.globals.minX&&r.w.globals.maxX===i.w.globals.maxX&&r.w.globals.tooltip.seriesHoverByContext({chartCtx:r,ttCtx:r.w.globals.tooltip,opt:o,e:t})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:e,e:t}))}},{key:"seriesHoverByContext",value:function(e){var t=e.chartCtx,i=e.ttCtx,a=e.opt,s=e.e,r=t.w,n=this.getElTooltip();n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared&&this.tConfig.onDatasetHover.highlightDataSeries&&new Se(t).toggleSeriesOnHover(s,s.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(e){var t,i,a=e.e,s=e.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o=a.type==="touchmove"?a.touches[0].clientX:a.clientX,h=a.type==="touchmove"?a.touches[0].clientY:a.clientY;if(this.clientY=h,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,hn.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var c=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(c)<0)return void this.handleMouseOut(s)}var d=this.getElTooltip(),u=this.getElXCrosshairs(),f=r.globals.xyCharts||r.config.chart.type==="bar"&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(a.type==="mousemove"||a.type==="touchmove"||a.type==="mouseup"){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;u!==null&&u.classList.add("apexcharts-active");var p=this.yaxisTooltips.filter(function(v){return v===!0});if(this.ycrosshairs!==null&&p.length&&this.ycrosshairs.classList.add("apexcharts-active"),f&&!this.showOnIntersect)this.handleStickyTooltip(a,o,h,s);else if(r.config.chart.type==="heatmap"||r.config.chart.type==="treemap"){var x=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:t,y:i,type:r.config.chart.type});t=x.x,i=x.y,d.style.left=t+"px",d.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:t,y:i});if(this.yaxisTooltips.length)for(var m=0;mh.width)this.handleMouseOut(a);else if(o!==null)this.handleStickyCapturedSeries(e,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var c=s.globals.series.findIndex(function(d,u){return!s.globals.collapsedSeriesIndices.includes(u)});this.create(e,this,c,n,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(e,t,i,a){var s=this.w;if(!this.tConfig.shared&&s.globals.series[t][a]===null)return void this.handleMouseOut(i);if(s.globals.series[t][a]!==void 0)this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(e,this,t,a,i.ttItems):this.create(e,this,t,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex(function(n,o){return!s.globals.collapsedSeriesIndices.includes(o)});this.create(e,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var e=this.w,t=new H(this.ctx),i=e.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&arguments[5]!==void 0?arguments[5]:null,k=this.w,P=t;e.type==="mouseup"&&this.markerClick(e,i,a),C===null&&(C=this.tConfig.shared);var I=this.tooltipUtil.hasMarkers(i),E=this.tooltipUtil.getElBars();if(k.config.legend.tooltipHoverFormatter){var Y=k.config.legend.tooltipHoverFormatter,B=Array.from(this.legendLabels);B.forEach(function(ue){var fe=ue.getAttribute("data:default-text");ue.innerHTML=decodeURIComponent(fe)});for(var F=0;F0?P.marker.enlargePoints(a):P.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(E),this.barSeriesHeight>0)){var ee=new H(this.ctx),Q=k.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var se=0;se0&&t.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(f-=c*k)),C&&(f=f+u.height/2-A/2-2);var I=t.globals.series[i][a]<0,E=o;switch(this.barCtx.isReversed&&(E=o+(I?d:-d)),m.position){case"center":p=C?I?E-d/2+g:E+d/2-g:I?E-d/2+u.height/2+g:E+d/2+u.height/2-g;break;case"bottom":p=C?I?E-d+g:E+d-g:I?E-d+u.height+A+g:E+d-u.height/2+A-g;break;case"top":p=C?I?E+g:E-g:I?E-u.height/2-g:E+u.height+g}if(this.barCtx.lastActiveBarSerieIndex===s&&v.enabled){var Y=new H(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),x.fontSize);r=I?E-Y.height/2-g-v.offsetY+18:E+Y.height+g+v.offsetY-18;var B=P;n=b+(t.globals.isXNumeric?-c*t.globals.barGroups.length/2:t.globals.barGroups.length*c/2-(t.globals.barGroups.length-1)*c-B)+v.offsetX}return t.config.chart.stacked||(p<0?p=0+A:p+u.height/3>t.globals.gridHeight&&(p=t.globals.gridHeight-A)),{bcx:h,bcy:o,dataLabelsX:f,dataLabelsY:p,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(e){var t=this.w,i=e.x,a=e.i,s=e.j,r=e.realIndex;e.columnGroupIndex;var n=e.bcy,o=e.barHeight,h=e.barWidth,c=e.textRects,d=e.dataLabelsX,u=e.strokeWidth,f=e.dataLabelsConfig,p=e.barDataLabelsConfig,x=e.barTotalDataLabelsConfig,m=e.offX,v=e.offY,A=t.globals.gridHeight/t.globals.dataPoints;h=Math.abs(h);var l,g,b=n-(this.barCtx.isRangeBar?0:A)+o/2+c.height/2+v-3,C="start",k=t.globals.series[a][s]<0,P=i;switch(this.barCtx.isReversed&&(P=i+(k?-h:h),C=k?"start":"end"),p.position){case"center":d=k?P+h/2-m:Math.max(c.width/2,P-h/2)+m;break;case"bottom":d=k?P+h-u-Math.round(c.width/2)-m:P-h+u+Math.round(c.width/2)+m;break;case"top":d=k?P-u+Math.round(c.width/2)-m:P-u-Math.round(c.width/2)+m}if(this.barCtx.lastActiveBarSerieIndex===r&&x.enabled){var I=new H(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),f.fontSize);k?(l=P-u-m-x.offsetX,C="end"):l=P+m+x.offsetX+(this.barCtx.isReversed?-(h+u):u),g=b-c.height/2+I.height/2+x.offsetY+u}return t.config.chart.stacked||(d<0?d=d+c.width+u:d+c.width/2>t.globals.gridWidth&&(d=t.globals.gridWidth-c.width-u)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:b,totalDataLabelsX:l,totalDataLabelsY:g,totalDataLabelsAnchor:C}}},{key:"drawCalculatedDataLabels",value:function(e){var t=e.x,i=e.y,a=e.val,s=e.i,r=e.j,n=e.textRects,o=e.barHeight,h=e.barWidth,c=e.dataLabelsConfig,d=this.w,u="rotate(0)";d.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(u="rotate(-90, ".concat(t,", ").concat(i,")"));var f=new Ne(this.barCtx.ctx),p=new H(this.barCtx.ctx),x=c.formatter,m=null,v=d.globals.collapsedSeriesIndices.indexOf(s)>-1;if(c.enabled&&!v){m=p.group({class:"apexcharts-data-labels",transform:u});var A="";a!==void 0&&(A=x(a,L(L({},d),{},{seriesIndex:s,dataPointIndex:r,w:d}))),!a&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(A="");var l=d.globals.series[s][r]<0,g=d.config.plotOptions.bar.dataLabels.position;d.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(g==="top"&&(c.textAnchor=l?"end":"start"),g==="center"&&(c.textAnchor="middle"),g==="bottom"&&(c.textAnchor=l?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&hMath.abs(h)&&(A=""):n.height/1.6>Math.abs(o)&&(A=""));var b=L({},c);this.barCtx.isHorizontal&&a<0&&(c.textAnchor==="start"?b.textAnchor="end":c.textAnchor==="end"&&(b.textAnchor="start")),f.plotDataLabelsText({x:t,y:i,text:A,i:s,j:r,parent:m,dataLabelsConfig:b,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return m}},{key:"drawTotalDataLabels",value:function(e){var t=e.x,i=e.y,a=e.val;e.barWidth,e.barHeight;var s=e.realIndex,r=e.textAnchor,n=e.barTotalDataLabelsConfig;this.w;var o,h=new H(this.barCtx.ctx);return n.enabled&&t!==void 0&&i!==void 0&&this.barCtx.lastActiveBarSerieIndex===s&&(o=h.drawText({x:t,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),y}(),la=function(){function y(e){T(this,y),this.w=e.w,this.barCtx=e}return z(y,[{key:"initVariables",value:function(e){var t=this.w;this.barCtx.series=e,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=e[i].length),t.globals.isXNumeric)for(var a=0;at.globals.minX&&t.globals.seriesX[i][a]0&&(a=h.globals.minXDiff/u),(r=a/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}String(this.barCtx.barOptions.columnWidth).indexOf("%")===-1&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e=h.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return h.globals.barHeight=s,h.globals.barWidth=r,{x:e,y:t,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:"initializeStackedPrevVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].prevY=[],e[t].prevX=[],e[t].prevYF=[],e[t].prevXF=[],e[t].prevYVal=[],e[t].prevXVal=[]})}},{key:"initializeStackedXYVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].xArrj=[],e[t].xArrjF=[],e[t].xArrjVal=[],e[t].yArrj=[],e[t].yArrjF=[],e[t].yArrjVal=[]})}},{key:"getPathFillColor",value:function(e,t,i,a){var s,r,n,o,h,c=this.w,d=new Ce(this.barCtx.ctx),u=null,f=this.barCtx.barOptions.distributed?i:t;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(function(p){e[t][i]>=p.from&&e[t][i]<=p.to&&(u=p.color)}),(s=c.config.series[t].data[i])!==null&&s!==void 0&&s.fillColor&&(u=c.config.series[t].data[i].fillColor),d.fillPath({seriesNumber:this.barCtx.barOptions.distributed?f:a,dataPointIndex:i,color:u,value:e[t][i],fillConfig:(r=c.config.series[t].data[i])===null||r===void 0?void 0:r.fill,fillType:(n=c.config.series[t].data[i])!==null&&n!==void 0&&(o=n.fill)!==null&&o!==void 0&&o.type?(h=c.config.series[t].data[i])===null||h===void 0?void 0:h.fill.type:Array.isArray(c.config.fill.type)?c.config.fill.type[a]:c.config.fill.type})}},{key:"getStrokeWidth",value:function(e,t,i){var a=0,s=this.w;return this.barCtx.series[e][t]===void 0||this.barCtx.series[e][t]===null?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(e){var t=this.w,i=!1;return t.config.plotOptions.bar.borderRadius>0&&(t.config.chart.stacked&&t.config.plotOptions.bar.borderRadiusWhenStacked==="last"?this.barCtx.lastActiveBarSerieIndex===e&&(i=!0):i=!0),i}},{key:"barBackground",value:function(e){var t=e.j,i=e.i,a=e.x1,s=e.x2,r=e.y1,n=e.y2,o=e.elSeries,h=this.w,c=new H(this.barCtx.ctx),d=new Se(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&d===i){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);var u=this.barCtx.barOptions.colors.backgroundBarColors[t],f=c.drawRect(a!==void 0?a:0,r!==void 0?r:0,s!==void 0?s:h.globals.gridWidth,n!==void 0?n:h.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,u,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(f),f.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(e){var t,i=e.barWidth,a=e.barXPosition,s=e.y1,r=e.y2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,u=e.w,f=new H(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var p=i,x=a;(t=u.config.series[h].data[d])!==null&&t!==void 0&&t.columnWidthOffset&&(x=a-u.config.series[h].data[d].columnWidthOffset/2,p=i+u.config.series[h].data[d].columnWidthOffset);var m=n/2,v=x+m,A=x+p-m;s+=.001-m,r+=.001+m;var l=f.move(v,s),g=f.move(v,s),b=f.line(A,s);if(u.globals.previousPaths.length>0&&(g=this.barCtx.getPreviousPath(h,d,!1)),l=l+f.line(v,r)+f.line(A,r)+f.line(A,s)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),g=g+f.line(v,s)+b+b+b+b+b+f.line(v,s)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),this.shouldApplyRadius(h)&&(l=f.roundPathCorners(l,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[o]).yArrj.push(r-m),C.yArrjF.push(Math.abs(s-r+n)),C.yArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:g}}},{key:"getBarpaths",value:function(e){var t,i=e.barYPosition,a=e.barHeight,s=e.x1,r=e.x2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,u=e.w,f=new H(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var p=i,x=a;(t=u.config.series[h].data[d])!==null&&t!==void 0&&t.barHeightOffset&&(p=i-u.config.series[h].data[d].barHeightOffset/2,x=a+u.config.series[h].data[d].barHeightOffset);var m=n/2,v=p+m,A=p+x-m;s+=.001-m,r+=.001+m;var l=f.move(s,v),g=f.move(s,v);u.globals.previousPaths.length>0&&(g=this.barCtx.getPreviousPath(h,d,!1));var b=f.line(s,A);if(l=l+f.line(r,v)+f.line(r,A)+b+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),g=g+f.line(s,v)+b+b+b+b+b+f.line(s,v)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),this.shouldApplyRadius(h)&&(l=f.roundPathCorners(l,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[o]).xArrj.push(r+m),C.xArrjF.push(Math.abs(s-r)),C.xArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:g}}},{key:"checkZeroSeries",value:function(e){for(var t=e.series,i=this.w,a=0;a2&&arguments[2]!==void 0)||arguments[2]?t:null;return e!=null&&(i=t+e/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?e/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(e,t,i){var a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3]?t:null;return e!=null&&(a=t-e/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?e/this.barCtx.yRatio[i]:0)),a}},{key:"getGoalValues",value:function(e,t,i,a,s,r){var n=this,o=this.w,h=[],c=function(f,p){var x;h.push((D(x={},e,e==="x"?n.getXForValue(f,t,!1):n.getYForValue(f,i,r,!1)),D(x,"attrs",p),x))};if(o.globals.seriesGoals[a]&&o.globals.seriesGoals[a][s]&&Array.isArray(o.globals.seriesGoals[a][s])&&o.globals.seriesGoals[a][s].forEach(function(f){c(f.value,f)}),this.barCtx.barOptions.isDumbbell&&o.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:o.globals.colors,u={strokeHeight:e==="x"?0:o.globals.markers.size[a],strokeWidth:e==="x"?o.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(o.globals.seriesRangeStart[a][s],u),c(o.globals.seriesRangeEnd[a][s],L(L({},u),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:"drawGoalLine",value:function(e){var t=e.barXPosition,i=e.barYPosition,a=e.goalX,s=e.goalY,r=e.barWidth,n=e.barHeight,o=new H(this.barCtx.ctx),h=o.group({className:"apexcharts-bar-goals-groups"});h.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:h.node}),h.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var c=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(function(d){if(d.x>=-1&&d.x<=o.w.globals.gridWidth+1){var u=d.attrs.strokeHeight!==void 0?d.attrs.strokeHeight:n/2,f=i+u+n/2;c=o.drawLine(d.x,f-2*u,d.x,f,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeWidth?d.attrs.strokeWidth:2,d.attrs.strokeLineCap),h.add(c)}}):Array.isArray(s)&&s.forEach(function(d){if(d.y>=-1&&d.y<=o.w.globals.gridHeight+1){var u=d.attrs.strokeWidth!==void 0?d.attrs.strokeWidth:r/2,f=t+u+r/2;c=o.drawLine(f-2*u,d.y,f,d.y,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeHeight?d.attrs.strokeHeight:2,d.attrs.strokeLineCap),h.add(c)}}),h}},{key:"drawBarShadow",value:function(e){var t=e.prevPaths,i=e.currPaths,a=e.color,s=this.w,r=t.x,n=t.x1,o=t.barYPosition,h=i.x,c=i.x1,d=i.barYPosition,u=o+i.barHeight,f=new H(this.barCtx.ctx),p=new X,x=f.move(n,u)+f.line(r,u)+f.line(h,d)+f.line(c,d)+f.line(n,u)+(s.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z");return f.drawPath({d:x,fill:p.shadeColor(.5,X.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadows"})}},{key:"getZeroValueEncounters",value:function(e){var t,i=e.i,a=e.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map(function(o,h){return h}):((t=s.globals.columnSeries)===null||t===void 0?void 0:t.i.map(function(o){return o}))||[]).forEach(function(o){var h=s.globals.seriesPercent[o][a];h&&r++,o-1}),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),y}(),He=function(){function y(e,t){T(this,y),this.ctx=e,this.w=e.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.isRangeBar=i.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&i.globals.seriesRange.length&&i.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=t,this.xyRatios!==null&&(this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.invertedXRatio=t.invertedXRatio,this.invertedYRatio=t.invertedYRatio,this.baseLineY=t.baseLineY,this.baseLineInvertedY=t.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var a=new Se(this.ctx);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var s=a.getBarSeriesIndices(),r=new re(this.ctx);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map(function(n,o){return s.indexOf(o)===-1?o:-1}).filter(function(n){return n!==-1})),this.barHelpers=new la(this)}return z(y,[{key:"draw",value:function(e,t){var i=this.w,a=new H(this.ctx),s=new re(this.ctx,i);e=s.getLogSeries(e),this.series=e,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(e);var r=a.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,o=0;n0&&(this.visibleI=this.visibleI+1);var g=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[v],this.translationsIndex=v);var C=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var k=this.barHelpers.initialPositions();p=k.y,g=k.barHeight,c=k.yDivision,u=k.zeroW,f=k.x,b=k.barWidth,h=k.xDivision,d=k.zeroH,this.horizontal||m.push(f+b/2);var P=a.group({class:"apexcharts-datalabels","data:realIndex":v});i.globals.delayedElements.push({el:P.node}),P.node.classList.add("apexcharts-element-hidden");var I=a.group({class:"apexcharts-bar-goals-markers"}),E=a.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:E.node}),E.node.classList.add("apexcharts-element-hidden");for(var Y=0;Y0){var j=this.barHelpers.drawBarShadow({color:typeof _=="string"&&(_==null?void 0:_.indexOf("url"))===-1?_:X.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:F});j&&E.add(j)}this.pathArr.push(F);var Z=this.barHelpers.drawGoalLine({barXPosition:F.barXPosition,barYPosition:F.barYPosition,goalX:F.goalX,goalY:F.goalY,barHeight:g,barWidth:b});Z&&I.add(Z),p=F.y,f=F.x,Y>0&&m.push(f+b/2),x.push(p),this.renderSeries({realIndex:v,pathFill:_,j:Y,i:n,columnGroupIndex:A,pathFrom:F.pathFrom,pathTo:F.pathTo,strokeWidth:B,elSeries:l,x:f,y:p,series:e,barHeight:Math.abs(F.barHeight?F.barHeight:g),barWidth:Math.abs(F.barWidth?F.barWidth:b),elDataLabelsWrap:P,elGoalsMarkers:I,elBarShadows:E,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[v]=m,i.globals.seriesYvalues[v]=x,r.add(l)}return r}},{key:"renderSeries",value:function(e){var t=e.realIndex,i=e.pathFill,a=e.lineFill,s=e.j,r=e.i,n=e.columnGroupIndex,o=e.pathFrom,h=e.pathTo,c=e.strokeWidth,d=e.elSeries,u=e.x,f=e.y,p=e.y1,x=e.y2,m=e.series,v=e.barHeight,A=e.barWidth,l=e.barXPosition,g=e.barYPosition,b=e.elDataLabelsWrap,C=e.elGoalsMarkers,k=e.elBarShadows,P=e.visibleSeries,I=e.type,E=this.w,Y=new H(this.ctx);if(!a){var B=typeof E.globals.stroke.colors[t]=="function"?function(Z){var K,ee=E.config.stroke.colors;return Array.isArray(ee)&&ee.length>0&&((K=ee[Z])||(K=""),typeof K=="function")?K({value:E.globals.series[Z][s],dataPointIndex:s,w:E}):K}(t):E.globals.stroke.colors[t];a=this.barOptions.distributed?E.globals.stroke.colors[s]:B}E.config.series[r].data[s]&&E.config.series[r].data[s].strokeColor&&(a=E.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var F=s/E.config.chart.animations.animateGradually.delay*(E.config.chart.animations.speed/E.globals.dataPoints)/2.4,W=Y.renderPaths({i:r,j:s,realIndex:t,pathFrom:o,pathTo:h,stroke:a,strokeWidth:c,strokeLineCap:E.config.stroke.lineCap,fill:i,animationDelay:F,initialSpeed:E.config.chart.animations.speed,dataChangeSpeed:E.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(I,"-area")});W.attr("clip-path","url(#gridRectMask".concat(E.globals.cuid,")"));var _=E.config.forecastDataPoints;_.count>0&&s>=E.globals.dataPoints-_.count&&(W.node.setAttribute("stroke-dasharray",_.dashArray),W.node.setAttribute("stroke-width",_.strokeWidth),W.node.setAttribute("fill-opacity",_.fillOpacity)),p!==void 0&&x!==void 0&&(W.attr("data-range-y1",p),W.attr("data-range-y2",x)),new ce(this.ctx).setSelectionFilter(W,t,s),d.add(W);var j=new oa(this).handleBarDataLabels({x:u,y:f,y1:p,y2:x,i:r,j:s,series:m,realIndex:t,columnGroupIndex:n,barHeight:v,barWidth:A,barXPosition:l,barYPosition:g,renderedPath:W,visibleSeries:P});return j.dataLabels!==null&&b.add(j.dataLabels),j.totalDataLabels&&b.add(j.totalDataLabels),d.add(b),C&&d.add(C),k&&d.add(k),d}},{key:"drawBarPaths",value:function(e){var t,i=e.indexes,a=e.barHeight,s=e.strokeWidth,r=e.zeroW,n=e.x,o=e.y,h=e.yDivision,c=e.elSeries,d=this.w,u=i.i,f=i.j;if(d.globals.isXNumeric)t=(o=(d.globals.seriesX[u][f]-d.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var p=0,x=0;d.globals.seriesPercent.forEach(function(v,A){v[f]&&p++,A0&&(a=this.seriesLen*a/p),t=o+a*this.visibleI,t-=a*x}else t=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[u][f],r)-r)/2),n=this.barHelpers.getXForValue(this.series[u][f],r);var m=this.barHelpers.getBarpaths({barYPosition:t,barHeight:a,x1:r,x2:n,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:u,j:f,w:d});return d.globals.isXNumeric||(o+=h),this.barHelpers.barBackground({j:f,i:u,y1:t-a*this.visibleI,y2:a*this.seriesLen,elSeries:c}),{pathTo:m.pathTo,pathFrom:m.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues("x",r,null,u,f),barYPosition:t,barHeight:a}}},{key:"drawColumnPaths",value:function(e){var t,i=e.indexes,a=e.x,s=e.y,r=e.xDivision,n=e.barWidth,o=e.zeroH,h=e.strokeWidth,c=e.elSeries,d=this.w,u=i.realIndex,f=i.translationsIndex,p=i.i,x=i.j,m=i.bc;if(d.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:a,j:x,realIndex:u,barWidth:n});a=v.x,t=v.barXPosition}else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var A=this.barHelpers.getZeroValueEncounters({i:p,j:x}),l=A.nonZeroColumns,g=A.zeroEncounters;l>0&&(n=this.seriesLen*n/l),t=a+n*this.visibleI,t-=n*g}else t=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[p][x],o,f);var b=this.barHelpers.getColumnPaths({barXPosition:t,barWidth:n,y1:o,y2:s,strokeWidth:h,series:this.series,realIndex:u,i:p,j:x,w:d});return d.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:m,j:x,i:p,x1:t-h/2-n*this.visibleI,x2:n*this.seriesLen+h/2,elSeries:c}),{pathTo:b.pathTo,pathFrom:b.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,o,p,x,f),barXPosition:t,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(e){var t=e.x,i=e.barWidth,a=e.realIndex,s=e.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),r.globals.seriesX[n][s]&&(t=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:t+i*this.visibleI,x:t}}},{key:"getPreviousPath",value:function(e,t){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(e,10)&&a.globals.previousPaths[s].paths[t]!==void 0&&(i=a.globals.previousPaths[s].paths[t].d)}return i}}]),y}(),Ut=function(y){G(t,y);var e=le(t);function t(){return T(this,t),e.apply(this,arguments)}return z(t,[{key:"draw",value:function(i,a){var s=this,r=this.w;this.graphics=new H(this.ctx),this.bar=new He(this.ctx,this.xyRatios);var n=new re(this.ctx,r);i=n.getLogSeries(i),this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i),r.config.chart.stackType==="100%"&&(i=r.globals.comboCharts?a.map(function(p){return r.globals.seriesPercent[p]}):r.globals.seriesPercent.slice()),this.series=i,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),h=0,c=0,d=function(p,x){var m=void 0,v=void 0,A=void 0,l=void 0,g=r.globals.comboCharts?a[p]:p,b=s.barHelpers.getGroupIndex(g),C=b.groupIndex,k=b.columnGroupIndex;s.groupCtx=s[r.globals.seriesGroups[C]];var P=[],I=[],E=0;s.yRatio.length>1&&(s.yaxisIndex=r.globals.seriesYAxisReverseMap[g][0],E=g),s.isReversed=r.config.yaxis[s.yaxisIndex]&&r.config.yaxis[s.yaxisIndex].reversed;var Y=s.graphics.group({class:"apexcharts-series",seriesName:X.escapeString(r.globals.seriesNames[g]),rel:p+1,"data:realIndex":g});s.ctx.series.addCollapsedClassToSeries(Y,g);var B=s.graphics.group({class:"apexcharts-datalabels","data:realIndex":g}),F=s.graphics.group({class:"apexcharts-bar-goals-markers"}),W=0,_=0,j=s.initialPositions(h,c,m,v,A,l,E);c=j.y,W=j.barHeight,v=j.yDivision,l=j.zeroW,h=j.x,_=j.barWidth,m=j.xDivision,A=j.zeroH,r.globals.barHeight=W,r.globals.barWidth=_,s.barHelpers.initializeStackedXYVars(s),s.groupCtx.prevY.length===1&&s.groupCtx.prevY[0].every(function(fe){return isNaN(fe)})&&(s.groupCtx.prevY[0]=s.groupCtx.prevY[0].map(function(){return A}),s.groupCtx.prevYF[0]=s.groupCtx.prevYF[0].map(function(){return 0}));for(var Z=0;Z1?d=(s=u.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:String(p).indexOf("%")===-1?d=parseInt(p,10):d*=parseInt(p,10)/100,n=u.globals.gridHeight-this.baseLineY[h]-(this.isReversed?u.globals.gridHeight:0),i=u.globals.padHorizontal+(s-d)/2}var x=u.globals.barGroups.length||1;return{x:i,y:a,yDivision:r,xDivision:s,barHeight:c/x,barWidth:d/x,zeroH:n,zeroW:o}}},{key:"drawStackedBarPaths",value:function(i){for(var a,s=i.indexes,r=i.barHeight,n=i.strokeWidth,o=i.zeroW,h=i.x,c=i.y,d=i.columnGroupIndex,u=i.seriesGroup,f=i.yDivision,p=i.elSeries,x=this.w,m=c+d*r,v=s.i,A=s.j,l=s.realIndex,g=s.translationsIndex,b=0,C=0;C0){var P=o;this.groupCtx.prevXVal[k-1][A]<0?P=this.series[v][A]>=0?this.groupCtx.prevX[k-1][A]+b-2*(this.isReversed?b:0):this.groupCtx.prevX[k-1][A]:this.groupCtx.prevXVal[k-1][A]>=0&&(P=this.series[v][A]>=0?this.groupCtx.prevX[k-1][A]:this.groupCtx.prevX[k-1][A]-b+2*(this.isReversed?b:0)),a=P}else a=o;h=this.series[v][A]===null?a:a+this.series[v][A]/this.invertedYRatio-2*(this.isReversed?this.series[v][A]/this.invertedYRatio:0);var I=this.barHelpers.getBarpaths({barYPosition:m,barHeight:r,x1:a,x2:h,strokeWidth:n,series:this.series,realIndex:s.realIndex,seriesGroup:u,i:v,j:A,w:x});return this.barHelpers.barBackground({j:A,i:v,y1:m,y2:r,elSeries:p}),c+=f,{pathTo:I.pathTo,pathFrom:I.pathFrom,goalX:this.barHelpers.getGoalValues("x",o,null,v,A,g),barXPosition:a,barYPosition:m,x:h,y:c}}},{key:"drawStackedColumnPaths",value:function(i){var a=i.indexes,s=i.x,r=i.y,n=i.xDivision,o=i.barWidth,h=i.zeroH,c=i.columnGroupIndex,d=i.seriesGroup,u=i.elSeries,f=this.w,p=a.i,x=a.j,m=a.bc,v=a.realIndex,A=a.translationsIndex;if(f.globals.isXNumeric){var l=f.globals.seriesX[v][x];l||(l=0),s=(l-f.globals.minX)/this.xRatio-o/2*f.globals.barGroups.length}for(var g,b=s+c*o,C=0,k=0;k0&&!f.globals.isXNumeric||P>0&&f.globals.isXNumeric&&f.globals.seriesX[v-1][x]===f.globals.seriesX[v][x]){var I,E,Y,B=Math.min(this.yRatio.length+1,v+1);if(this.groupCtx.prevY[P-1]!==void 0&&this.groupCtx.prevY[P-1].length)for(var F=1;F=0?Y-C+2*(this.isReversed?C:0):Y;break}if(((Z=this.groupCtx.prevYVal[P-_])===null||Z===void 0?void 0:Z[x])>=0){E=this.series[p][x]>=0?Y:Y+C-2*(this.isReversed?C:0);break}}E===void 0&&(E=f.globals.gridHeight),g=(I=this.groupCtx.prevYF[0])!==null&&I!==void 0&&I.every(function(ee){return ee===0})&&this.groupCtx.prevYF.slice(1,P).every(function(ee){return ee.every(function(Q){return isNaN(Q)})})?h:E}else g=h;r=this.series[p][x]?g-this.series[p][x]/this.yRatio[A]+2*(this.isReversed?this.series[p][x]/this.yRatio[A]:0):g;var K=this.barHelpers.getColumnPaths({barXPosition:b,barWidth:o,y1:g,y2:r,yRatio:this.yRatio[A],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:d,realIndex:a.realIndex,i:p,j:x,w:f});return this.barHelpers.barBackground({bc:m,j:x,i:p,x1:b,x2:o,elSeries:u}),{pathTo:K.pathTo,pathFrom:K.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,h,p,x),barXPosition:b,x:f.globals.isXNumeric?s:s+n,y:r}}}]),t}(He),xt=function(y){G(t,y);var e=le(t);function t(){return T(this,t),e.apply(this,arguments)}return z(t,[{key:"draw",value:function(i,a,s){var r=this,n=this.w,o=new H(this.ctx),h=n.globals.comboCharts?a:n.config.chart.type,c=new Ce(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=n.config.plotOptions.bar.horizontal;var d=new re(this.ctx,n);i=d.getLogSeries(i),this.series=i,this.yRatio=d.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i);for(var u=o.group({class:"apexcharts-".concat(h,"-series apexcharts-plot-series")}),f=function(x){r.isBoxPlot=n.config.chart.type==="boxPlot"||n.config.series[x].type==="boxPlot";var m,v,A,l,g=void 0,b=void 0,C=[],k=[],P=n.globals.comboCharts?s[x]:x,I=r.barHelpers.getGroupIndex(P).columnGroupIndex,E=o.group({class:"apexcharts-series",seriesName:X.escapeString(n.globals.seriesNames[P]),rel:x+1,"data:realIndex":P});r.ctx.series.addCollapsedClassToSeries(E,P),i[x].length>0&&(r.visibleI=r.visibleI+1);var Y,B,F=0;r.yRatio.length>1&&(r.yaxisIndex=n.globals.seriesYAxisReverseMap[P][0],F=P);var W=r.barHelpers.initialPositions();b=W.y,Y=W.barHeight,v=W.yDivision,l=W.zeroW,g=W.x,B=W.barWidth,m=W.xDivision,A=W.zeroH,k.push(g+B/2);for(var _=o.group({class:"apexcharts-datalabels","data:realIndex":P}),j=function(K){var ee=r.barHelpers.getStrokeWidth(x,K,P),Q=null,se={indexes:{i:x,j:K,realIndex:P,translationsIndex:F},x:g,y:b,strokeWidth:ee,elSeries:E};Q=r.isHorizontal?r.drawHorizontalBoxPaths(L(L({},se),{},{yDivision:v,barHeight:Y,zeroW:l})):r.drawVerticalBoxPaths(L(L({},se),{},{xDivision:m,barWidth:B,zeroH:A})),b=Q.y,g=Q.x,K>0&&k.push(g+B/2),C.push(b),Q.pathTo.forEach(function(ue,fe){var de=!r.isBoxPlot&&r.candlestickOptions.wick.useFillColor?Q.color[fe]:n.globals.stroke.colors[x],Ae=c.fillPath({seriesNumber:P,dataPointIndex:K,color:Q.color[fe],value:i[x][K]});r.renderSeries({realIndex:P,pathFill:Ae,lineFill:de,j:K,i:x,pathFrom:Q.pathFrom,pathTo:ue,strokeWidth:ee,elSeries:E,x:g,y:b,series:i,columnGroupIndex:I,barHeight:Y,barWidth:B,elDataLabelsWrap:_,visibleSeries:r.visibleI,type:n.config.chart.type})})},Z=0;Zg.c&&(p=!1);var k=Math.min(g.o,g.c),P=Math.max(g.o,g.c),I=g.m;c.globals.isXNumeric&&(s=(c.globals.seriesX[l][f]-c.globals.minX)/this.xRatio-n/2);var E=s+n*this.visibleI;this.series[u][f]===void 0||this.series[u][f]===null?(k=o,P=o):(k=o-k/A,P=o-P/A,b=o-g.h/A,C=o-g.l/A,I=o-g.m/A);var Y=d.move(E,o),B=d.move(E+n/2,k);return c.globals.previousPaths.length>0&&(B=this.getPreviousPath(l,f,!0)),Y=this.isBoxPlot?[d.move(E,k)+d.line(E+n/2,k)+d.line(E+n/2,b)+d.line(E+n/4,b)+d.line(E+n-n/4,b)+d.line(E+n/2,b)+d.line(E+n/2,k)+d.line(E+n,k)+d.line(E+n,I)+d.line(E,I)+d.line(E,k+h/2),d.move(E,I)+d.line(E+n,I)+d.line(E+n,P)+d.line(E+n/2,P)+d.line(E+n/2,C)+d.line(E+n-n/4,C)+d.line(E+n/4,C)+d.line(E+n/2,C)+d.line(E+n/2,P)+d.line(E,P)+d.line(E,I)+"z"]:[d.move(E,P)+d.line(E+n/2,P)+d.line(E+n/2,b)+d.line(E+n/2,P)+d.line(E+n,P)+d.line(E+n,k)+d.line(E+n/2,k)+d.line(E+n/2,C)+d.line(E+n/2,k)+d.line(E,k)+d.line(E,P-h/2)],B+=d.move(E,k),c.globals.isXNumeric||(s+=r),{pathTo:Y,pathFrom:B,x:s,y:P,barXPosition:E,color:this.isBoxPlot?v:p?[x]:[m]}}},{key:"drawHorizontalBoxPaths",value:function(i){var a=i.indexes;i.x;var s=i.y,r=i.yDivision,n=i.barHeight,o=i.zeroW,h=i.strokeWidth,c=this.w,d=new H(this.ctx),u=a.i,f=a.j,p=this.boxOptions.colors.lower;this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var x=this.invertedYRatio,m=a.realIndex,v=this.getOHLCValue(m,f),A=o,l=o,g=Math.min(v.o,v.c),b=Math.max(v.o,v.c),C=v.m;c.globals.isXNumeric&&(s=(c.globals.seriesX[m][f]-c.globals.minX)/this.invertedXRatio-n/2);var k=s+n*this.visibleI;this.series[u][f]===void 0||this.series[u][f]===null?(g=o,b=o):(g=o+g/x,b=o+b/x,A=o+v.h/x,l=o+v.l/x,C=o+v.m/x);var P=d.move(o,k),I=d.move(g,k+n/2);return c.globals.previousPaths.length>0&&(I=this.getPreviousPath(m,f,!0)),P=[d.move(g,k)+d.line(g,k+n/2)+d.line(A,k+n/2)+d.line(A,k+n/2-n/4)+d.line(A,k+n/2+n/4)+d.line(A,k+n/2)+d.line(g,k+n/2)+d.line(g,k+n)+d.line(C,k+n)+d.line(C,k)+d.line(g+h/2,k),d.move(C,k)+d.line(C,k+n)+d.line(b,k+n)+d.line(b,k+n/2)+d.line(l,k+n/2)+d.line(l,k+n-n/4)+d.line(l,k+n/4)+d.line(l,k+n/2)+d.line(b,k+n/2)+d.line(b,k)+d.line(C,k)+"z"],I+=d.move(g,k),c.globals.isXNumeric||(s+=r),{pathTo:P,pathFrom:I,x:b,y:s,barYPosition:k,color:p}}},{key:"getOHLCValue",value:function(i,a){var s=this.w;return{o:this.isBoxPlot?s.globals.seriesCandleH[i][a]:s.globals.seriesCandleO[i][a],h:this.isBoxPlot?s.globals.seriesCandleO[i][a]:s.globals.seriesCandleH[i][a],m:s.globals.seriesCandleM[i][a],l:this.isBoxPlot?s.globals.seriesCandleC[i][a]:s.globals.seriesCandleL[i][a],c:this.isBoxPlot?s.globals.seriesCandleL[i][a]:s.globals.seriesCandleC[i][a]}}}]),t}(He),qt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"checkColorRange",value:function(){var e=this.w,t=!1,i=e.config.plotOptions[e.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map(function(a,s){a.from<=0&&(t=!0)}),t}},{key:"getShadeColor",value:function(e,t,i,a){var s=this.w,r=1,n=s.config.plotOptions[e].shadeIntensity,o=this.determineColor(e,t,i);s.globals.hasNegs||a?r=s.config.plotOptions[e].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,e==="treemap"&&(r=(1-o.percent/100)*(1.25*n)));var h=o.color,c=new X;return s.config.plotOptions[e].enableShades&&(h=this.w.config.theme.mode==="dark"?X.hexToRgba(c.shadeColor(-1*r,o.color),s.config.fill.opacity):X.hexToRgba(c.shadeColor(r,o.color),s.config.fill.opacity)),{color:h,colorProps:o}}},{key:"determineColor",value:function(e,t,i){var a=this.w,s=a.globals.series[t][i],r=a.config.plotOptions[e],n=r.colorScale.inverse?i:t;r.distributed&&a.config.chart.type==="treemap"&&(n=i);var o=a.globals.colors[n],h=null,c=Math.min.apply(Math,$(a.globals.series[t])),d=Math.max.apply(Math,$(a.globals.series[t]));r.distributed||e!=="heatmap"||(c=a.globals.minY,d=a.globals.maxY),r.colorScale.min!==void 0&&(c=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var u=Math.abs(d)+Math.abs(c),f=100*s/(u===0?u-1e-6:u);return r.colorScale.ranges.length>0&&r.colorScale.ranges.map(function(p,x){if(s>=p.from&&s<=p.to){o=p.color,h=p.foreColor?p.foreColor:null,c=p.from,d=p.to;var m=Math.abs(d)+Math.abs(c);f=100*s/(m===0?m-1e-6:m)}}),{color:o,foreColor:h,percent:f}}},{key:"calculateDataLabels",value:function(e){var t=e.text,i=e.x,a=e.y,s=e.i,r=e.j,n=e.colorProps,o=e.fontSize,h=this.w.config.dataLabels,c=new H(this.ctx),d=new Ne(this.ctx),u=null;if(h.enabled){u=c.group({class:"apexcharts-data-labels"});var f=h.offsetX,p=h.offsetY,x=i+f,m=a+parseFloat(h.style.fontSize)/3+p;d.plotDataLabelsText({x,y:m,text:t,i:s,j:r,color:n.foreColor,parent:u,fontSize:o,dataLabelsConfig:h})}return u}},{key:"addListeners",value:function(e){var t=new H(this.ctx);e.node.addEventListener("mouseenter",t.pathMouseEnter.bind(this,e)),e.node.addEventListener("mouseleave",t.pathMouseLeave.bind(this,e)),e.node.addEventListener("mousedown",t.pathMouseDown.bind(this,e))}}]),y}(),ha=function(){function y(e,t){T(this,y),this.ctx=e,this.w=e.w,this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new qt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return z(y,[{key:"draw",value:function(e){var t=this.w,i=new H(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(t.globals.cuid,")"));var s=t.globals.gridWidth/t.globals.dataPoints,r=t.globals.gridHeight/t.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var h=e.slice();t.config.yaxis[0].reversed&&(o=!0,h.reverse());for(var c=o?0:h.length-1;o?c=0;o?c++:c--){var d=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:X.escapeString(t.globals.seriesNames[c]),rel:c+1,"data:realIndex":c});if(this.ctx.series.addCollapsedClassToSeries(d,c),t.config.chart.dropShadow.enabled){var u=t.config.chart.dropShadow;new ce(this.ctx).dropShadow(d,u,c)}for(var f=0,p=t.config.plotOptions.heatmap.shadeIntensity,x=0;x-1&&this.pieClicked(u),i.config.dataLabels.enabled){var b=l.x,C=l.y,k=100*p/this.fullAngle+"%";if(p!==0&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?t.endAngle=t.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(c=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(c)>this.fullAngle&&(c-=this.fullAngle);var d=Math.PI*(c-90)/180,u=i.centerX+r*Math.cos(h),f=i.centerY+r*Math.sin(h),p=i.centerX+r*Math.cos(d),x=i.centerY+r*Math.sin(d),m=X.polarToCartesian(i.centerX,i.centerY,i.donutSize,c),v=X.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),A=s>180?1:0,l=["M",u,f,"A",r,r,0,A,1,p,x];return t=i.chartType==="donut"?[].concat(l,["L",m.x,m.y,"A",i.donutSize,i.donutSize,0,A,0,v.x,v.y,"L",u,f,"z"]).join(" "):i.chartType==="pie"||i.chartType==="polarArea"?[].concat(l,["L",i.centerX,i.centerY,"L",u,f]).join(" "):[].concat(l).join(" "),n.roundPathCorners(t,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(e){var t=this.w,i=new Bt(this.ctx),a=new H(this.ctx),s=new Zt(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),h=o.result.reverse(),c=o.result.length;this.maxY=o.niceMax;for(var d=t.globals.radialSize,u=d/(c-1),f=0;f1&&e.total.show&&(s=e.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,e.value.formatter)(i,r),a||typeof e.total.formatter!="function"||(i=e.total.formatter(r));var h=t===e.total.label;t=e.name.formatter(t,h,r),n!==null&&(n.textContent=t),o!==null&&(o.textContent=i),n!==null&&(n.style.fill=s)}},{key:"printDataLabelsInner",value:function(e,t){var i=this.w,a=e.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(t,s,a,e);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");r!==null&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(e){var t=this,i=this.w,a=new H(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(s.strokeWidth!==0){for(var r=[],n=360/i.globals.series.length,o=0;o0&&(C=t.getPreviousPath(v));for(var k=0;k=10?e.x>0?(i="start",a+=10):e.x<0&&(i="end",a-=10):i="middle",Math.abs(e.y)>=t-10&&(e.y<0?s-=10:e.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(e){for(var t=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(e,10)&&t.globals.previousPaths[a].paths[0]!==void 0&&(i=t.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.dataPointsLen;e=e||[],t=t||[];for(var a=[],s=0;s=360&&(x=360-Math.abs(this.startAngle)-.1);var m=s.drawPath({d:"",stroke:f,strokeWidth:h*parseInt(u.strokeWidth,10)/100,fill:"none",strokeOpacity:u.opacity,classes:"apexcharts-radialbar-area"});if(u.dropShadow.enabled){var v=u.dropShadow;n.dropShadow(m,v)}d.add(m),m.attr("id","apexcharts-radialbarTrack-"+c),this.animatePaths(m,{centerX:i.centerX,centerY:i.centerY,endAngle:x,startAngle:p,size:i.size,i:c,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:a.globals.easing})}return r}},{key:"drawArcs",value:function(i){var a=this.w,s=new H(this.ctx),r=new Ce(this.ctx),n=new ce(this.ctx),o=s.group(),h=this.getStrokeWidth(i);i.size=i.size-h/2;var c=a.config.plotOptions.radialBar.hollow.background,d=i.size-h*i.series.length-this.margin*i.series.length-h*parseInt(a.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,u=d-a.config.plotOptions.radialBar.hollow.margin;a.config.plotOptions.radialBar.hollow.image!==void 0&&(c=this.drawHollowImage(i,o,d,c));var f=this.drawHollow({size:u,centerX:i.centerX,centerY:i.centerY,fill:c||"transparent"});if(a.config.plotOptions.radialBar.hollow.dropShadow.enabled){var p=a.config.plotOptions.radialBar.hollow.dropShadow;n.dropShadow(f,p)}var x=1;!this.radialDataLabels.total.show&&a.globals.series.length>1&&(x=0);var m=null;if(this.radialDataLabels.show){var v=a.globals.dom.Paper.select(".apexcharts-datalabels-group").members[0];m=this.renderInnerDataLabels(v,this.radialDataLabels,{hollowSize:d,centerX:i.centerX,centerY:i.centerY,opacity:x})}a.config.plotOptions.radialBar.hollow.position==="back"&&(o.add(f),m&&o.add(m));var A=!1;a.config.plotOptions.radialBar.inverseOrder&&(A=!0);for(var l=A?i.series.length-1:0;A?l>=0:l100?100:i.series[l])/100,I=Math.round(this.totalAngle*P)+this.startAngle,E=void 0;a.globals.dataChanged&&(k=this.startAngle,E=Math.round(this.totalAngle*X.negToZero(a.globals.previousPaths[l])/100)+k),Math.abs(I)+Math.abs(C)>=360&&(I-=.01),Math.abs(E)+Math.abs(k)>=360&&(E-=.01);var Y=I-C,B=Array.isArray(a.config.stroke.dashArray)?a.config.stroke.dashArray[l]:a.config.stroke.dashArray,F=s.drawPath({d:"",stroke:b,strokeWidth:h,fill:"none",fillOpacity:a.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+l,strokeDashArray:B});if(H.setAttrs(F.node,{"data:angle":Y,"data:value":i.series[l]}),a.config.chart.dropShadow.enabled){var W=a.config.chart.dropShadow;n.dropShadow(F,W,l)}if(n.setSelectionFilter(F,0,l),this.addListeners(F,this.radialDataLabels),g.add(F),F.attr({index:0,j:l}),this.barLabels.enabled){var _=X.polarToCartesian(i.centerX,i.centerY,i.size,C),j=this.barLabels.formatter(a.globals.seriesNames[l],{seriesIndex:l,w:a}),Z=["apexcharts-radialbar-label"];this.barLabels.onClick||Z.push("apexcharts-no-click");var K=this.barLabels.useSeriesColors?a.globals.colors[l]:a.config.chart.foreColor;K||(K=a.config.chart.foreColor);var ee=_.x+this.barLabels.offsetX,Q=_.y+this.barLabels.offsetY,se=s.drawText({x:ee,y:Q,text:j,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:K,cssClass:Z.join(" ")});se.on("click",this.onBarLabelClick),se.attr({rel:l+1}),C!==0&&se.attr({"transform-origin":"".concat(ee," ").concat(Q),transform:"rotate(".concat(C," 0 0)")}),g.add(se)}var ue=0;!this.initialAnim||a.globals.resized||a.globals.dataChanged||(ue=a.config.chart.animations.speed),a.globals.dataChanged&&(ue=a.config.chart.animations.dynamicAnimation.speed),this.animDur=ue/(1.2*i.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(F,{centerX:i.centerX,centerY:i.centerY,endAngle:I,startAngle:C,prevEndAngle:E,prevStartAngle:k,size:i.size,i:l,totalItems:2,animBeginArr:this.animBeginArr,dur:ue,shouldSetPrevPaths:!0,easing:a.globals.easing})}return{g:o,elHollow:f,dataLabels:m}}},{key:"drawHollow",value:function(i){var a=new H(this.ctx).drawCircle(2*i.size);return a.attr({class:"apexcharts-radialbar-hollow",cx:i.centerX,cy:i.centerY,r:i.size,fill:i.fill}),a}},{key:"drawHollowImage",value:function(i,a,s,r){var n=this.w,o=new Ce(this.ctx),h=X.randomId(),c=n.config.plotOptions.radialBar.hollow.image;if(n.config.plotOptions.radialBar.hollow.imageClipped)o.clippedImgArea({width:s,height:s,image:c,patternID:"pattern".concat(n.globals.cuid).concat(h)}),r="url(#pattern".concat(n.globals.cuid).concat(h,")");else{var d=n.config.plotOptions.radialBar.hollow.imageWidth,u=n.config.plotOptions.radialBar.hollow.imageHeight;if(d===void 0&&u===void 0){var f=n.globals.dom.Paper.image(c).loaded(function(x){this.move(i.centerX-x.width/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-x.height/2+n.config.plotOptions.radialBar.hollow.imageOffsetY)});a.add(f)}else{var p=n.globals.dom.Paper.image(c).loaded(function(x){this.move(i.centerX-d/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-u/2+n.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(d,u)});a.add(p)}}return r}},{key:"getStrokeWidth",value:function(i){var a=this.w;return i.size*(100-parseInt(a.config.plotOptions.radialBar.hollow.size,10))/100/(i.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(i){var a=parseInt(i.target.getAttribute("rel"),10)-1,s=this.barLabels.onClick,r=this.w;s&&s(r.globals.seriesNames[a],{w:r,seriesIndex:a})}}]),t}($t),ua=function(y){G(t,y);var e=le(t);function t(){return T(this,t),e.apply(this,arguments)}return z(t,[{key:"draw",value:function(i,a){var s=this.w,r=new H(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=i,this.seriesRangeStart=s.globals.seriesRangeStart,this.seriesRangeEnd=s.globals.seriesRangeEnd,this.barHelpers.initVariables(i);for(var n=r.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var A=0,l=0,g=0;this.yRatio.length>1&&(this.yaxisIndex=s.globals.seriesYAxisReverseMap[x][0],g=x);var b=this.barHelpers.initialPositions();p=b.y,u=b.zeroW,f=b.x,l=b.barWidth,A=b.barHeight,h=b.xDivision,c=b.yDivision,d=b.zeroH;for(var C=r.group({class:"apexcharts-datalabels","data:realIndex":x}),k=r.group({class:"apexcharts-rangebar-goals-markers"}),P=0;P0});return this.isHorizontal?(r=x.config.plotOptions.bar.rangeBarGroupRows?o+u*g:o+c*this.visibleI+u*g,b>-1&&!x.config.plotOptions.bar.rangeBarOverlap&&(m=x.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(r=(c=p.barHeight/m.length)*this.visibleI+u*(100-parseInt(this.barOptions.barHeight,10))/100/2+c*(this.visibleI+m.indexOf(v))+u*g)):(g>-1&&!x.globals.timescaleLabels.length&&(n=x.config.plotOptions.bar.rangeBarGroupRows?h+f*g:h+d*this.visibleI+f*g),b>-1&&!x.config.plotOptions.bar.rangeBarOverlap&&(m=x.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(n=(d=p.barWidth/m.length)*this.visibleI+f*(100-parseInt(this.barOptions.barWidth,10))/100/2+d*(this.visibleI+m.indexOf(v))+f*g)),{barYPosition:r,barXPosition:n,barHeight:c,barWidth:d}}},{key:"drawRangeColumnPaths",value:function(i){var a=i.indexes,s=i.x,r=i.xDivision,n=i.barWidth,o=i.barXPosition,h=i.zeroH,c=this.w,d=a.i,u=a.j,f=a.realIndex,p=a.translationsIndex,x=this.yRatio[p],m=this.getRangeValue(f,u),v=Math.min(m.start,m.end),A=Math.max(m.start,m.end);this.series[d][u]===void 0||this.series[d][u]===null?v=h:(v=h-v/x,A=h-A/x);var l=Math.abs(A-v),g=this.barHelpers.getColumnPaths({barXPosition:o,barWidth:n,y1:v,y2:A,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:f,i:f,j:u,w:c});if(c.globals.isXNumeric){var b=this.getBarXForNumericXAxis({x:s,j:u,realIndex:f,barWidth:n});s=b.x,o=b.barXPosition}else s+=r;return{pathTo:g.pathTo,pathFrom:g.pathFrom,barHeight:l,x:s,y:m.start<0&&m.end<0?v:A,goalY:this.barHelpers.getGoalValues("y",null,h,d,u,p),barXPosition:o}}},{key:"preventBarOverflow",value:function(i){var a=this.w;return i<0&&(i=0),i>a.globals.gridWidth&&(i=a.globals.gridWidth),i}},{key:"drawRangeBarPaths",value:function(i){var a=i.indexes,s=i.y,r=i.y1,n=i.y2,o=i.yDivision,h=i.barHeight,c=i.barYPosition,d=i.zeroW,u=this.w,f=a.realIndex,p=a.j,x=this.preventBarOverflow(d+r/this.invertedYRatio),m=this.preventBarOverflow(d+n/this.invertedYRatio),v=this.getRangeValue(f,p),A=Math.abs(m-x),l=this.barHelpers.getBarpaths({barYPosition:c,barHeight:h,x1:x,x2:m,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:f,realIndex:f,j:p,w:u});return u.globals.isXNumeric||(s+=o),{pathTo:l.pathTo,pathFrom:l.pathFrom,barWidth:A,x:v.start<0&&v.end<0?x:m,goalX:this.barHelpers.getGoalValues("x",d,null,f,p),y:s}}},{key:"getRangeValue",value:function(i,a){var s=this.w;return{start:s.globals.seriesRangeStart[i][a],end:s.globals.seriesRangeEnd[i][a]}}}]),t}(He),ga=function(){function y(e){T(this,y),this.w=e.w,this.lineCtx=e}return z(y,[{key:"sameValueSeriesFix",value:function(e,t){var i=this.w;if((i.config.fill.type==="gradient"||i.config.fill.type[e]==="gradient")&&new re(this.lineCtx.ctx,i).seriesHaveSameValues(e)){var a=t[e].slice();a[a.length-1]=a[a.length-1]+1e-6,t[e]=a}return t}},{key:"calculatePoints",value:function(e){var t=e.series,i=e.realIndex,a=e.x,s=e.y,r=e.i,n=e.j,o=e.prevY,h=this.w,c=[],d=[];if(n===0){var u=this.lineCtx.categoryAxisCorrection+h.config.markers.offsetX;h.globals.isXNumeric&&(u=(h.globals.seriesX[i][0]-h.globals.minX)/this.lineCtx.xRatio+h.config.markers.offsetX),c.push(u),d.push(X.isNumber(t[r][0])?o+h.config.markers.offsetY:null),c.push(a+h.config.markers.offsetX),d.push(X.isNumber(t[r][n+1])?s+h.config.markers.offsetY:null)}else c.push(a+h.config.markers.offsetX),d.push(X.isNumber(t[r][n+1])?s+h.config.markers.offsetY:null);return{x:c,y:d}}},{key:"checkPreviousPaths",value:function(e){for(var t=e.pathFromLine,i=e.pathFromArea,a=e.realIndex,s=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(a,10)&&(n.type==="line"?(this.lineCtx.appendPathFrom=!1,t=s.globals.previousPaths[r].paths[0].d):n.type==="area"&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(t=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:t,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(e){var t,i,a,s=e.i,r=e.realIndex,n=e.series,o=e.prevY,h=e.lineYPosition,c=e.translationsIndex,d=this.w,u=d.config.chart.stacked&&!d.globals.comboCharts||d.config.chart.stacked&&d.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[r])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[r])===null||i===void 0?void 0:i.type)==="column");if(((a=n[s])===null||a===void 0?void 0:a[0])!==void 0)o=(h=u&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[c]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[c]:0);else if(u&&s>0&&n[s][0]===void 0){for(var f=s-1;f>=0;f--)if(n[f][0]!==null&&n[f][0]!==void 0){o=h=this.lineCtx.prevSeriesY[f][0];break}}return{prevY:o,lineYPosition:h}}}]),y}(),fa=function(y){for(var e,t,i,a,s=function(c){for(var d=[],u=c[0],f=c[1],p=d[0]=bt(u,f),x=1,m=c.length-1;x9&&(a=3*i/Math.sqrt(a),s[o]=a*e,s[o+1]=a*t);for(var h=0;h<=r;h++)a=(y[Math.min(r,h+1)][0]-y[Math.max(0,h-1)][0])/(6*(1+s[h]*s[h])),n.push([a||0,s[h]*a||0]);return n},pa=function(y){var e=fa(y),t=y[1],i=y[0],a=[],s=e[1],r=e[0];a.push(i,[i[0]+r[0],i[1]+r[1],t[0]-s[0],t[1]-s[1],t[0],t[1]]);for(var n=2,o=e.length;n1&&i[1].length<6){var a=i[0].length;i[1]=[2*i[0][a-2]-i[0][a-4],2*i[0][a-1]-i[0][a-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i};function bt(y,e){return(e[1]-y[1])/(e[0]-y[0])}var mt=function(){function y(e,t,i){T(this,y),this.ctx=e,this.w=e.w,this.xyRatios=t,this.pointsChart=!(this.w.config.chart.type!=="bubble"&&this.w.config.chart.type!=="scatter")||i,this.scatter=new Dt(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new ga(this),this.markers=new De(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return z(y,[{key:"draw",value:function(e,t,i,a){var s,r=this.w,n=new H(this.ctx),o=r.globals.comboCharts?t:r.config.chart.type,h=n.group({class:"apexcharts-".concat(o,"-series apexcharts-plot-series")}),c=new re(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=c.getLogSeries(e),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var d=[],u=0;u1?f:0;this._initSerieVariables(e,u,f);var x=[],m=[],v=[],A=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,f),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(A=(r.globals.seriesX[f][0]-r.globals.minX)/this.xRatio),v.push(A);var l,g=A,b=void 0,C=g,k=this.zeroY,P=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:u,realIndex:f,series:e,prevY:k,lineYPosition:0,translationsIndex:p}).prevY,r.config.stroke.curve==="monotoneCubic"&&e[u][0]===null?x.push(null):x.push(k),l=k,o==="rangeArea"&&(b=P=this.lineHelpers.determineFirstPrevY({i:u,realIndex:f,series:a,prevY:P,lineYPosition:0,translationsIndex:p}).prevY,m.push(x[0]!==null?P:null));var I=this._calculatePathsFrom({type:o,series:e,i:u,realIndex:f,translationsIndex:p,prevX:C,prevY:k,prevY2:P}),E=[x[0]],Y=[m[0]],B={type:o,series:e,realIndex:f,translationsIndex:p,i:u,x:A,y:1,pX:g,pY:l,pathsFrom:I,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:v,yArrj:x,y2Arrj:m,seriesRangeEnd:a},F=this._iterateOverDataPoints(L(L({},B),{},{iterations:o==="rangeArea"?e[u].length-1:void 0,isRangeStart:!0}));if(o==="rangeArea"){for(var W=this._calculatePathsFrom({series:a,i:u,realIndex:f,prevX:C,prevY:P}),_=this._iterateOverDataPoints(L(L({},B),{},{series:a,xArrj:[A],yArrj:E,y2Arrj:Y,pY:b,areaPaths:F.areaPaths,pathsFrom:W,iterations:a[u].length-1,isRangeStart:!1})),j=F.linePaths.length/2,Z=0;Z=0;K--)h.add(d[K]);else for(var ee=0;ee1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||a.config.plotOptions.area.fillTo==="end")&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",zIndex:a.config.series[i].zIndex!==void 0?a.config.series[i].zIndex:i,seriesName:X.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var n=e[t].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:t+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(e){var t,i,a,s,r=e.type,n=e.series,o=e.i,h=e.realIndex,c=e.translationsIndex,d=e.prevX,u=e.prevY,f=e.prevY2,p=this.w,x=new H(this.ctx);if(n[o][0]===null){for(var m=0;m0){var v=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:h});a=v.pathFromLine,s=v.pathFromArea}return{prevX:d,prevY:u,linePath:t,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(e){var t=e.type,i=e.realIndex,a=e.i,s=e.paths,r=this.w,n=new H(this.ctx),o=new Ce(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var h=r.config.forecastDataPoints;if(h.count>0&&t!=="rangeArea"){var c=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-h.count-1],d=n.drawRect(c,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(d.node);var u=n.drawRect(0,0,c,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(u.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var f={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(t)};if(t==="area")for(var p=o.fillPath({seriesNumber:i}),x=0;x0&&t!=="rangeArea"){var k=n.renderPaths(b);k.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&k.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(k),k.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),C.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(e){var t,i,a=this,s=e.type,r=e.series,n=e.iterations,o=e.realIndex,h=e.translationsIndex,c=e.i,d=e.x,u=e.y,f=e.pX,p=e.pY,x=e.pathsFrom,m=e.linePaths,v=e.areaPaths,A=e.seriesIndex,l=e.lineYPosition,g=e.xArrj,b=e.yArrj,C=e.y2Arrj,k=e.isRangeStart,P=e.seriesRangeEnd,I=this.w,E=new H(this.ctx),Y=this.yRatio,B=x.prevY,F=x.linePath,W=x.areaPath,_=x.pathFromLine,j=x.pathFromArea,Z=X.isNumber(I.globals.minYArr[o])?I.globals.minYArr[o]:I.globals.minY;n||(n=I.globals.dataPoints>1?I.globals.dataPoints-1:I.globals.dataPoints);var K=function(be,me){return me-be/Y[h]+2*(a.isReversed?be/Y[h]:0)},ee=u,Q=I.config.chart.stacked&&!I.globals.comboCharts||I.config.chart.stacked&&I.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[o])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[o])===null||i===void 0?void 0:i.type)==="column"),se=I.config.stroke.curve;Array.isArray(se)&&(se=Array.isArray(A)?se[A[c]]:se[c]);for(var ue,fe=0,de=0;de0&&I.globals.collapsedSeries.length0;me--){if(!(I.globals.collapsedSeriesIndices.indexOf((A==null?void 0:A[me])||me)>-1))return me;me--}return 0}(c-1)][de+1]:l=this.zeroY:l=this.zeroY,Ae?u=K(Z,l):(u=K(r[c][de+1],l),s==="rangeArea"&&(ee=K(P[c][de+1],l))),g.push(d),!Ae||I.config.stroke.curve!=="smooth"&&I.config.stroke.curve!=="monotoneCubic"?(b.push(u),C.push(ee)):(b.push(null),C.push(null));var ne=this.lineHelpers.calculatePoints({series:r,x:d,y:u,realIndex:o,i:c,j:de,prevY:B}),he=this._createPaths({type:s,series:r,i:c,realIndex:o,j:de,x:d,y:u,y2:ee,xArrj:g,yArrj:b,y2Arrj:C,pX:f,pY:p,pathState:fe,segmentStartX:ue,linePath:F,areaPath:W,linePaths:m,areaPaths:v,curve:se,isRangeStart:k});v=he.areaPaths,m=he.linePaths,f=he.pX,p=he.pY,fe=he.pathState,ue=he.segmentStartX,W=he.areaPath,F=he.linePath,!this.appendPathFrom||se==="monotoneCubic"&&s==="rangeArea"||(_+=E.line(d,this.zeroY),j+=E.line(d,this.zeroY)),this.handleNullDataPoints(r,ne,c,de,o),this._handleMarkersAndLabels({type:s,pointsPos:ne,i:c,j:de,realIndex:o,isRangeStart:k})}return{yArrj:b,xArrj:g,pathFromArea:j,areaPaths:v,pathFromLine:_,linePaths:m,linePath:F,areaPath:W}}},{key:"_handleMarkersAndLabels",value:function(e){var t=e.type,i=e.pointsPos,a=e.isRangeStart,s=e.i,r=e.j,n=e.realIndex,o=this.w,h=new Ne(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var c=this.markers.plotChartMarkers(i,n,r+1);c!==null&&this.elPointsMain.add(c)}var d=h.drawDataLabel({type:t,isRangeStart:a,pos:i,i:n,j:r+1});d!==null&&this.elDataLabelsWrap.add(d)}},{key:"_createPaths",value:function(e){var t=e.type,i=e.series,a=e.i;e.realIndex;var s=e.j,r=e.x,n=e.y,o=e.xArrj,h=e.yArrj,c=e.y2,d=e.y2Arrj,u=e.pX,f=e.pY,p=e.pathState,x=e.segmentStartX,m=e.linePath,v=e.areaPath,A=e.linePaths,l=e.areaPaths,g=e.curve,b=e.isRangeStart;this.w;var C,k=new H(this.ctx),P=this.areaBottomY,I=t==="rangeArea",E=t==="rangeArea"&&b;switch(g){case"monotoneCubic":var Y=b?h:d;switch(p){case 0:if(Y[s+1]===null)break;p=1;case 1:if(!(I?o.length===i[a].length:s===i[a].length-2))break;case 2:var B=b?o:o.slice().reverse(),F=b?Y:Y.slice().reverse(),W=(C=F,B.map(function(oe,ne){return[oe,C[ne]]}).filter(function(oe){return oe[1]!==null})),_=W.length>1?pa(W):W,j=[];I&&(E?l=W:j=l.reverse());var Z=0,K=0;if(function(oe,ne){for(var he=function(Ue){var ye=[],Ee=0;return Ue.forEach(function(ka){ka!==null?Ee++:Ee>0&&(ye.push(Ee),Ee=0)}),Ee>0&&ye.push(Ee),ye}(oe),be=[],me=0,Me=0;me4?(Me+="C".concat(ye[0],", ").concat(ye[1]),Me+=", ".concat(ye[2],", ").concat(ye[3]),Me+=", ".concat(ye[4],", ").concat(ye[5])):Ee>2&&(Me+="S".concat(ye[0],", ").concat(ye[1]),Me+=", ".concat(ye[2],", ").concat(ye[3]))}return Me}(oe),he=K,be=(K+=oe.length)-1;E?m=k.move(W[he][0],W[he][1])+ne:I?m=k.move(j[he][0],j[he][1])+k.line(W[he][0],W[he][1])+ne+k.line(j[be][0],j[be][1]):(m=k.move(W[he][0],W[he][1])+ne,v=m+k.line(W[be][0],P)+k.line(W[he][0],P)+"z",l.push(v)),A.push(m)}),I&&Z>1&&!E){var ee=A.slice(Z).reverse();A.splice(Z),ee.forEach(function(oe){return A.push(oe)})}p=0}break;case"smooth":var Q=.35*(r-u);if(i[a][s]===null)p=0;else switch(p){case 0:if(x=u,m=E?k.move(u,d[s])+k.line(u,f):k.move(u,f),v=k.move(u,f),p=1,s=i[a].length-2&&(E&&(m+=k.curve(r,n,r,n,r,c)+k.move(r,c)),v+=k.curve(r,n,r,n,r,P)+k.line(x,P)+"z",A.push(m),l.push(v),p=-1)}}u=r,f=n;break;default:var fe=function(oe,ne,he){var be=[];switch(oe){case"stepline":be=k.line(ne,null,"H")+k.line(null,he,"V");break;case"linestep":be=k.line(null,he,"V")+k.line(ne,null,"H");break;case"straight":be=k.line(ne,he)}return be};if(i[a][s]===null)p=0;else switch(p){case 0:if(x=u,m=E?k.move(u,d[s])+k.line(u,f):k.move(u,f),v=k.move(u,f),p=1,s=i[a].length-2&&(E&&(m+=k.line(r,c)),v+=k.line(r,P)+k.line(x,P)+"z",A.push(m),l.push(v),p=-1)}}u=r,f=n}return{linePaths:A,areaPaths:l,pX:u,pY:f,pathState:p,segmentStartX:x,linePath:m,areaPath:v}}},{key:"handleNullDataPoints",value:function(e,t,i,a,s){var r=this.w;if(e[i][a]===null&&r.config.markers.showNullDataPoints||e[i].length===1){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers(t,s,a+1,n,!0);o!==null&&this.elPointsMain.add(o)}}}]),y}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function y(n,o,h,c){this.xoffset=n,this.yoffset=o,this.height=c,this.width=h,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(d){var u,f=[],p=this.xoffset,x=this.yoffset,m=s(d)/this.height,v=s(d)/this.width;if(this.width>=this.height)for(u=0;u=this.height){var f=d/this.height,p=this.width-f;u=new y(this.xoffset+f,this.yoffset,p,this.height)}else{var x=d/this.width,m=this.height-x;u=new y(this.xoffset,this.yoffset+x,this.width,m)}return u}}function e(n,o,h,c,d){c=c===void 0?0:c,d=d===void 0?0:d;var u=t(function(f,p){var x,m=[],v=p/s(f);for(x=0;x=l}(o,u=n[0],d)?(o.push(u),t(n.slice(1),o,h,c)):(f=h.cutArea(s(o),c),c.push(h.getCoordinates(o)),t(n,[],f,c)),c;c.push(h.getCoordinates(o))}function i(n,o){var h=Math.min.apply(Math,n),c=Math.max.apply(Math,n),d=s(n);return Math.max(Math.pow(o,2)*c/Math.pow(d,2),Math.pow(d,2)/(Math.pow(o,2)*h))}function a(n){return n&&n.constructor===Array}function s(n){var o,h=0;for(o=0;or-a&&h.width<=n-s){var c=o.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(-90 ".concat(c.x," ").concat(c.y,") translate(").concat(h.height/3,")"))}}},{key:"truncateLabels",value:function(e,t,i,a,s,r){var n=new H(this.ctx),o=n.getTextRects(e,t).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,h=n.getTextBasedOnMaxWidth({text:e,maxWidth:o,fontSize:t});return e.length!==h.length&&o/t<5?"":h}},{key:"animateTreemap",value:function(e,t,i,a){var s=new ie(this.ctx);s.animateRect(e,{x:t.x,y:t.y,width:t.width,height:t.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,function(){s.animationCompleted(e)})}}]),y}(),Jt=86400,ma=10/Jt,va=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return z(y,[{key:"calculateTimeScaleTicks",value:function(e,t){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new ge(this.ctx),r=(t-e)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(e,t,this.utc),o=a.globals.gridWidth/r,h=o/24,c=h/60,d=c/60,u=Math.floor(24*r),f=Math.floor(1440*r),p=Math.floor(r*Jt),x=Math.floor(r),m=Math.floor(r/30),v=Math.floor(r/365),A={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},l={firstVal:A,currentMillisecond:A.minMillisecond,currentSecond:A.minSecond,currentMinute:A.minMinute,currentHour:A.minHour,currentMonthDate:A.minDate,currentDate:A.minDate,currentMonth:A.minMonth,currentYear:A.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:f,numberOfHours:u,numberOfDays:x,numberOfMonths:m,numberOfYears:v};switch(this.tickInterval){case"years":this.generateYearScale(l);break;case"months":case"half_year":this.generateMonthScale(l);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(l);break;case"hours":this.generateHourScale(l);break;case"minutes_fives":case"minutes":this.generateMinuteScale(l);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(l)}var g=this.timeScaleArray.map(function(b){var C={position:b.position,unit:b.unit,year:b.year,day:b.day?b.day:1,hour:b.hour?b.hour:0,month:b.month+1};return b.unit==="month"?L(L({},C),{},{day:1,value:b.value+1}):b.unit==="day"||b.unit==="hour"?L(L({},C),{},{value:b.value}):b.unit==="minute"?L(L({},C),{},{value:b.value,minute:b.value}):b.unit==="second"?L(L({},C),{},{value:b.value,minute:b.minute,second:b.second}):b});return g.filter(function(b){var C=1,k=Math.ceil(a.globals.gridWidth/120),P=b.value;a.config.xaxis.tickAmount!==void 0&&(k=a.config.xaxis.tickAmount),g.length>k&&(C=Math.floor(g.length/k));var I=!1,E=!1;switch(i.tickInterval){case"years":b.unit==="year"&&(I=!0);break;case"half_year":C=7,b.unit==="year"&&(I=!0);break;case"months":C=1,b.unit==="year"&&(I=!0);break;case"months_fortnight":C=15,b.unit!=="year"&&b.unit!=="month"||(I=!0),P===30&&(E=!0);break;case"months_days":C=10,b.unit==="month"&&(I=!0),P===30&&(E=!0);break;case"week_days":C=8,b.unit==="month"&&(I=!0);break;case"days":C=1,b.unit==="month"&&(I=!0);break;case"hours":b.unit==="day"&&(I=!0);break;case"minutes_fives":case"seconds_fives":P%5!=0&&(E=!0);break;case"seconds_tens":P%10!=0&&(E=!0)}if(i.tickInterval==="hours"||i.tickInterval==="minutes_fives"||i.tickInterval==="seconds_tens"||i.tickInterval==="seconds_fives"){if(!E)return!0}else if((P%C==0||I)&&!E)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(e,t){var i=this.w,a=this.formatDates(e),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new Qe(this.ctx).plotCoords()}},{key:"determineInterval",value:function(e){var t=24*e,i=60*t;switch(!0){case e/365>5:this.tickInterval="years";break;case e>800:this.tickInterval="half_year";break;case e>180:this.tickInterval="months";break;case e>90:this.tickInterval="months_fortnight";break;case e>60:this.tickInterval="months_days";break;case e>30:this.tickInterval="week_days";break;case e>2:this.tickInterval="days";break;case t>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(e){var t=e.firstVal,i=e.currentMonth,a=e.currentYear,s=e.daysWidthOnXAxis,r=e.numberOfYears,n=t.minYear,o=0,h=new ge(this.ctx),c="year";if(t.minDate>1||t.minMonth>0){var d=h.determineRemainingDaysOfYear(t.minYear,t.minMonth,t.minDate);o=(h.determineDaysOfYear(t.minYear)-d+1)*s,n=t.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:c,year:n,month:X.monthMod(i+1)})}else t.minDate===1&&t.minMonth===0&&this.timeScaleArray.push({position:o,value:n,unit:c,year:a,month:X.monthMod(i+1)});for(var u=n,f=o,p=0;p1){h=(c.determineDaysOfMonths(a+1,t.minYear)-i+1)*r,o=X.monthMod(a+1);var f=s+u,p=X.monthMod(o),x=o;o===0&&(d="year",x=f,p=1,f+=u+=1),this.timeScaleArray.push({position:h,value:x,unit:d,year:f,month:p})}else this.timeScaleArray.push({position:h,value:o,unit:d,year:s,month:X.monthMod(a)});for(var m=o+1,v=h,A=0,l=1;An.determineDaysOfMonths(g+1,b)&&(c=1,o="month",f=g+=1),g},u=(24-t.minHour)*s,f=h,p=d(c,i,a);t.minHour===0&&t.minDate===1?(u=0,f=X.monthMod(t.minMonth),o="month",c=t.minDate):t.minDate!==1&&t.minHour===0&&t.minMinute===0&&(u=0,h=t.minDate,f=h,p=d(c=h,i,a)),this.timeScaleArray.push({position:u,value:f,unit:o,year:this._getYear(a,p,0),month:X.monthMod(p),day:c});for(var x=u,m=0;mo.determineDaysOfMonths(k+1,s)&&(m=1,k+=1),{month:k,date:m}},d=function(C,k){return C>o.determineDaysOfMonths(k+1,s)?k+=1:k},u=60-(t.minMinute+t.minSecond/60),f=u*r,p=t.minHour+1,x=p;u===60&&(f=0,x=p=t.minHour);var m=i;x>=24&&(x=0,m+=1,h="day");var v=c(m,a).month;v=d(m,v),this.timeScaleArray.push({position:f,value:p,unit:h,day:m,hour:x,year:s,month:X.monthMod(v)}),x++;for(var A=f,l=0;l=24&&(x=0,h="day",v=c(m+=1,v).month,v=d(m,v));var g=this._getYear(s,v,0);A=60*r+A;var b=x===0?m:x;this.timeScaleArray.push({position:A,value:b,unit:h,hour:x,day:m,year:g,month:X.monthMod(v)}),x++}}},{key:"generateMinuteScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,a=e.currentMinute,s=e.currentHour,r=e.currentDate,n=e.currentMonth,o=e.currentYear,h=e.minutesWidthOnXAxis,c=e.secondsWidthOnXAxis,d=e.numberOfMinutes,u=a+1,f=r,p=n,x=o,m=s,v=(60-i-t/1e3)*c,A=0;A=60&&(u=0,(m+=1)===24&&(m=0)),this.timeScaleArray.push({position:v,value:u,unit:"minute",hour:m,minute:u,day:f,year:this._getYear(x,p,0),month:X.monthMod(p)}),v+=h,u++}},{key:"generateSecondScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,a=e.currentMinute,s=e.currentHour,r=e.currentDate,n=e.currentMonth,o=e.currentYear,h=e.secondsWidthOnXAxis,c=e.numberOfSeconds,d=i+1,u=a,f=r,p=n,x=o,m=s,v=(1e3-t)/1e3*h,A=0;A=60&&(d=0,++u>=60&&(u=0,++m===24&&(m=0))),this.timeScaleArray.push({position:v,value:d,unit:"second",hour:m,minute:u,second:d,day:f,year:this._getYear(x,p,0),month:X.monthMod(p)}),v+=h,d++}},{key:"createRawDateString",value:function(e,t){var i=e.year;return e.month===0&&(e.month=1),i+="-"+("0"+e.month.toString()).slice(-2),e.unit==="day"?i+=e.unit==="day"?"-"+("0"+t).slice(-2):"-01":i+="-"+("0"+(e.day?e.day:"1")).slice(-2),e.unit==="hour"?i+=e.unit==="hour"?"T"+("0"+t).slice(-2):"T00":i+="T"+("0"+(e.hour?e.hour:"0")).slice(-2),e.unit==="minute"?i+=":"+("0"+t).slice(-2):i+=":"+(e.minute?("0"+e.minute).slice(-2):"00"),e.unit==="second"?i+=":"+("0"+t).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(e){var t=this,i=this.w;return e.map(function(a){var s=a.value.toString(),r=new ge(t.ctx),n=t.createRawDateString(a,s),o=r.getDate(r.parseDate(n));if(t.utc||(o=r.getDate(r.parseDateWithTimezone(n))),i.config.xaxis.labels.format===void 0){var h="dd MMM",c=i.config.xaxis.labels.datetimeFormatter;a.unit==="year"&&(h=c.year),a.unit==="month"&&(h=c.month),a.unit==="day"&&(h=c.day),a.unit==="hour"&&(h=c.hour),a.unit==="minute"&&(h=c.minute),a.unit==="second"&&(h=c.second),s=r.formatDate(o,h)}else s=r.formatDate(o,i.config.xaxis.labels.format);return{dateString:n,position:a.position,value:s,unit:a.unit,year:a.year,month:a.month}})}},{key:"removeOverlappingTS",value:function(e){var t,i=this,a=new H(this.ctx),s=!1;e.length>0&&e[0].value&&e.every(function(o){return o.value.length===e[0].value.length})&&(s=!0,t=a.getTextRects(e[0].value).width);var r=0,n=e.map(function(o,h){if(h>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var c=s?t:a.getTextRects(e[r].value).width,d=e[r].position;return o.position>d+c+10?(r=h,o):null}return o});return n=n.filter(function(o){return o!==null})}},{key:"_getYear",value:function(e,t,i){return e+Math.floor(t/12)+i}}]),y}(),ya=function(){function y(e,t){T(this,y),this.ctx=t,this.w=t.w,this.el=e}return z(y,[{key:"setupElements",value:function(){var e=this.w.globals,t=this.w.config,i=t.chart.type;e.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,e.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,e.isBarHorizontal=(t.chart.type==="bar"||t.chart.type==="rangeBar"||t.chart.type==="boxPlot")&&t.plotOptions.bar.horizontal,e.chartClass=".apexcharts"+e.chartID,e.dom.baseEl=this.el,e.dom.elWrap=document.createElement("div"),H.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:"apexcharts-canvas "+e.chartClass.substring(1)}),this.el.appendChild(e.dom.elWrap),e.dom.Paper=new window.SVG.Doc(e.dom.elWrap),e.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(t.chart.offsetX,", ").concat(t.chart.offsetY,")")}),e.dom.Paper.node.style.background=t.theme.mode!=="dark"||t.chart.background?t.theme.mode!=="light"||t.chart.background?t.chart.background:"#fff":"#424242",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,"foreignObject"),H.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement("div"),e.dom.elLegendWrap.classList.add("apexcharts-legend"),e.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.dom.elLegendForeign.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:"plotChartType",value:function(e,t){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},n={series:[],i:[]},o={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},u={series:[],i:[]},f={series:[],i:[]},p={series:[],seriesRangeEnd:[],i:[]},x=a.chart.type!==void 0?a.chart.type:"line",m=null,v=0;s.series.forEach(function(F,W){var _=e[W].type||x;switch(_){case"column":case"bar":c.series.push(F),c.i.push(W),i.globals.columnSeries=c;break;case"area":n.series.push(F),n.i.push(W);break;case"line":r.series.push(F),r.i.push(W);break;case"scatter":o.series.push(F),o.i.push(W);break;case"bubble":h.series.push(F),h.i.push(W);break;case"candlestick":d.series.push(F),d.i.push(W);break;case"boxPlot":u.series.push(F),u.i.push(W);break;case"rangeBar":f.series.push(F),f.i.push(W);break;case"rangeArea":p.series.push(s.seriesRangeStart[W]),p.seriesRangeEnd.push(s.seriesRangeEnd[W]),p.i.push(W);break;case"heatmap":case"treemap":case"pie":case"donut":case"polarArea":case"radialBar":case"radar":m=_;break;default:console.warn("You have specified an unrecognized series type (",_,").")}x!==_&&_!=="scatter"&&v++}),v>0&&(m!==null&&console.warn("Chart or series type ",m," can not appear with other chart or series types."),c.series.length>0&&a.plotOptions.bar.horizontal&&(v-=c.length,c={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),s.comboCharts||(s.comboCharts=v>0);var A=new mt(this.ctx,t),l=new xt(this.ctx,t);this.ctx.pie=new $t(this.ctx);var g=new da(this.ctx);this.ctx.rangeBar=new ua(this.ctx,t);var b=new ca(this.ctx),C=[];if(s.comboCharts){var k,P,I=new re(this.ctx);if(n.series.length>0&&(k=C).push.apply(k,$(I.drawSeriesByGroup(n,s.areaGroups,"area",A))),c.series.length>0)if(i.config.chart.stacked){var E=new Ut(this.ctx,t);C.push(E.draw(c.series,c.i))}else this.ctx.bar=new He(this.ctx,t),C.push(this.ctx.bar.draw(c.series,c.i));if(p.series.length>0&&C.push(A.draw(p.series,"rangeArea",p.i,p.seriesRangeEnd)),r.series.length>0&&(P=C).push.apply(P,$(I.drawSeriesByGroup(r,s.lineGroups,"line",A))),d.series.length>0&&C.push(l.draw(d.series,"candlestick",d.i)),u.series.length>0&&C.push(l.draw(u.series,"boxPlot",u.i)),f.series.length>0&&C.push(this.ctx.rangeBar.draw(f.series,f.i)),o.series.length>0){var Y=new mt(this.ctx,t,!0);C.push(Y.draw(o.series,"scatter",o.i))}if(h.series.length>0){var B=new mt(this.ctx,t,!0);C.push(B.draw(h.series,"bubble",h.i))}}else switch(a.chart.type){case"line":C=A.draw(s.series,"line");break;case"area":C=A.draw(s.series,"area");break;case"bar":a.chart.stacked?C=new Ut(this.ctx,t).draw(s.series):(this.ctx.bar=new He(this.ctx,t),C=this.ctx.bar.draw(s.series));break;case"candlestick":C=new xt(this.ctx,t).draw(s.series,"candlestick");break;case"boxPlot":C=new xt(this.ctx,t).draw(s.series,a.chart.type);break;case"rangeBar":C=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":C=A.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":C=new ha(this.ctx,t).draw(s.series);break;case"treemap":C=new ba(this.ctx,t).draw(s.series);break;case"pie":case"donut":case"polarArea":C=this.ctx.pie.draw(s.series);break;case"radialBar":C=g.draw(s.series);break;case"radar":C=b.draw(s.series);break;default:C=A.draw(s.series)}return C}},{key:"setSVGDimensions",value:function(){var e=this.w.globals,t=this.w.config;t.chart.width||(t.chart.width="100%"),t.chart.height||(t.chart.height="auto"),e.svgWidth=t.chart.width,e.svgHeight=t.chart.height;var i=X.getDimensions(this.el),a=t.chart.width.toString().split(/[0-9]+/g).pop();a==="%"?X.isNumber(i[0])&&(i[0].width===0&&(i=X.getDimensions(this.el.parentNode)),e.svgWidth=i[0]*parseInt(t.chart.width,10)/100):a!=="px"&&a!==""||(e.svgWidth=parseInt(t.chart.width,10));var s=String(t.chart.height).toString().split(/[0-9]+/g).pop();if(e.svgHeight!=="auto"&&e.svgHeight!=="")if(s==="%"){var r=X.getDimensions(this.el.parentNode);e.svgHeight=r[1]*parseInt(t.chart.height,10)/100}else e.svgHeight=parseInt(t.chart.height,10);else e.axisCharts?e.svgHeight=e.svgWidth/1.61:e.svgHeight=e.svgWidth/1.2;if(e.svgWidth<0&&(e.svgWidth=0),e.svgHeight<0&&(e.svgHeight=0),H.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),s!=="%"){var n=t.chart.sparkline.enabled?0:e.axisCharts?t.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight=e.svgHeight+n+"px"}e.dom.elWrap.style.width=e.svgWidth+"px",e.dom.elWrap.style.height=e.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var e=this.w.globals,t=e.translateY,i={transform:"translate("+e.translateX+", "+t+")"};H.setAttrs(e.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=0,a=e.config.chart.sparkline.enabled?1:15;a+=e.config.grid.padding.bottom,e.config.legend.position!=="top"&&e.config.legend.position!=="bottom"||!e.config.legend.show||e.config.legend.floating||(i=new Wt(this.ctx).legendHelpers.getLegendDimensions().clwh+10);var s=e.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*e.globals.radialSize;if(s&&!e.config.chart.sparkline.enabled&&e.config.plotOptions.radialBar.startAngle!==0){var n=X.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*e.globals.radialSize,o)}var h=r+t.translateY+i+a;t.dom.elLegendForeign&&t.dom.elLegendForeign.setAttribute("height",h),e.config.chart.height&&String(e.config.chart.height).indexOf("%")>0||(t.dom.elWrap.style.height=h+"px",H.setAttrs(t.dom.Paper.node,{height:h}),t.dom.Paper.node.parentNode.parentNode.style.minHeight=h+"px")}},{key:"coreCalculations",value:function(){new gt(this.ctx).init()}},{key:"resetGlobals",value:function(){var e=this,t=function(){return e.w.config.series.map(function(s){return[]})},i=new Yt,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=t(),a.seriesYvalues=t()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var e=null,t=this.w;if(t.globals.axisCharts){if(t.config.xaxis.crosshairs.position==="back"&&new pt(this.ctx).drawXCrosshairs(),t.config.yaxis[0].crosshairs.position==="back"&&new pt(this.ctx).drawYCrosshairs(),t.config.xaxis.type==="datetime"&&t.config.xaxis.labels.formatter===void 0){this.ctx.timeScale=new va(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new re(this.ctx).getCalculatedRatios()}return e}},{key:"updateSourceChart",value:function(e){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var e=this,t=this.w;if(t.config.chart.brush.enabled&&typeof t.config.chart.events.selection!="function"){var i=Array.isArray(t.config.chart.brush.targets)?t.config.chart.brush.targets:[t.config.chart.brush.target];i.forEach(function(a){var s=ApexCharts.getChartByID(a);s.w.globals.brushSource=e.ctx,typeof s.w.config.chart.events.zoomed!="function"&&(s.w.config.chart.events.zoomed=function(){e.updateSourceChart(s)}),typeof s.w.config.chart.events.scrolled!="function"&&(s.w.config.chart.events.scrolled=function(){e.updateSourceChart(s)})}),t.config.chart.events.selection=function(a,s){i.forEach(function(r){ApexCharts.getChartByID(r).ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max}},!1,!1,!1,!1)})}}}}]),y}(),wa=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"_updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],a=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=arguments.length>4&&arguments[4]!==void 0&&arguments[4];return new Promise(function(n){var o=[t.ctx];s&&(o=t.ctx.getSyncedCharts()),t.ctx.w.globals.isExecCalled&&(o=[t.ctx],t.ctx.w.globals.isExecCalled=!1),o.forEach(function(h,c){var d=h.w;if(d.globals.shouldAnimate=a,i||(d.globals.resized=!0,d.globals.dataChanged=!0,a&&h.series.getPreviousPaths()),e&&R(e)==="object"&&(h.config=new _e(e),e=re.extendArrayProps(h.config,e,d),h.w.globals.chartID!==t.ctx.w.globals.chartID&&delete e.series,d.config=X.extend(d.config,e),r&&(d.globals.lastXAxis=e.xaxis?X.clone(e.xaxis):[],d.globals.lastYAxis=e.yaxis?X.clone(e.yaxis):[],d.globals.initialConfig=X.extend({},d.config),d.globals.initialSeries=X.clone(d.config.series),e.series))){for(var u=0;u2&&arguments[2]!==void 0&&arguments[2];return new Promise(function(s){var r,n=i.w;return n.globals.shouldAnimate=t,n.globals.dataChanged=!0,t&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?((r=e.map(function(o,h){return i._extendSeries(o,h)})).length===0&&(r=[{data:[]}]),n.config.series=r):n.config.series=e.slice(),a&&(n.globals.initialConfig.series=X.clone(n.config.series),n.globals.initialSeries=X.clone(n.config.series)),i.ctx.update().then(function(){s(i.ctx)})})}},{key:"_extendSeries",value:function(e,t){var i=this.w,a=i.config.series[t];return L(L({},i.config.series[t]),{},{name:e.name?e.name:a==null?void 0:a.name,color:e.color?e.color:a==null?void 0:a.color,type:e.type?e.type:a==null?void 0:a.type,group:e.group?e.group:a==null?void 0:a.group,data:e.data?e.data:a==null?void 0:a.data,zIndex:e.zIndex!==void 0?e.zIndex:t})}},{key:"toggleDataPointSelection",value:function(e,t){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(e,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"'], ").concat(s," circle[j='").concat(t,"'], ").concat(s," rect[j='").concat(t,"']")).members[0]:t===void 0&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"']")).members[0],i.config.chart.type!=="pie"&&i.config.chart.type!=="polarArea"&&i.config.chart.type!=="donut"||this.ctx.pie.pieClicked(e)),a?(new H(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(e){var t=this.w;if(["min","max"].forEach(function(a){e.xaxis[a]!==void 0&&(t.config.xaxis[a]=e.xaxis[a],t.globals.lastXAxis[a]=e.xaxis[a])}),e.xaxis.categories&&e.xaxis.categories.length&&(t.config.xaxis.categories=e.xaxis.categories),t.config.xaxis.convertedCatToNumeric){var i=new Ve(e);e=i.convertCatToNumericXaxis(e,this.ctx)}return e}},{key:"forceYAxisUpdate",value:function(e){return e.chart&&e.chart.stacked&&e.chart.stackType==="100%"&&(Array.isArray(e.yaxis)?e.yaxis.forEach(function(t,i){e.yaxis[i].min=0,e.yaxis[i].max=100}):(e.yaxis.min=0,e.yaxis.max=100)),e}},{key:"revertDefaultAxisMinMax",value:function(e){var t=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;e&&e.xaxis&&(a=e.xaxis),e&&e.yaxis&&(s=e.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(n){s[n]!==void 0&&(i.config.yaxis[n].min=s[n].min,i.config.yaxis[n].max=s[n].max)};i.config.yaxis.map(function(n,o){i.globals.zoomed||s[o]!==void 0?r(o):t.ctx.opts.yaxis[o]!==void 0&&(n.min=t.ctx.opts.yaxis[o].min,n.max=t.ctx.opts.yaxis[o].max)})}}]),y}();Xe=typeof window<"u"?window:void 0,et=function(y,e){var t=(this!==void 0?this:y).SVG=function(l){if(t.supported)return l=new t.Doc(l),t.parser.draw||t.prepare(),l};if(t.ns="http://www.w3.org/2000/svg",t.xmlns="http://www.w3.org/2000/xmlns/",t.xlink="http://www.w3.org/1999/xlink",t.svgjs="http://svgjs.dev",t.supported=!0,!t.supported)return!1;t.did=1e3,t.eid=function(l){return"Svgjs"+c(l)+t.did++},t.create=function(l){var g=e.createElementNS(this.ns,l);return g.setAttribute("id",this.eid(l)),g},t.extend=function(){var l,g;g=(l=[].slice.call(arguments)).pop();for(var b=l.length-1;b>=0;b--)if(l[b])for(var C in g)l[b].prototype[C]=g[C];t.Set&&t.Set.inherit&&t.Set.inherit()},t.invent=function(l){var g=typeof l.create=="function"?l.create:function(){this.constructor.call(this,t.create(l.create))};return l.inherit&&(g.prototype=new l.inherit),l.extend&&t.extend(g,l.extend),l.construct&&t.extend(l.parent||t.Container,l.construct),g},t.adopt=function(l){return l?l.instance?l.instance:((g=l.nodeName=="svg"?l.parentNode instanceof y.SVGElement?new t.Nested:new t.Doc:l.nodeName=="linearGradient"?new t.Gradient("linear"):l.nodeName=="radialGradient"?new t.Gradient("radial"):t[c(l.nodeName)]?new t[c(l.nodeName)]:new t.Element(l)).type=l.nodeName,g.node=l,l.instance=g,g instanceof t.Doc&&g.namespace().defs(),g.setData(JSON.parse(l.getAttribute("svgjs:data"))||{}),g):null;var g},t.prepare=function(){var l=e.getElementsByTagName("body")[0],g=(l?new t.Doc(l):t.adopt(e.documentElement).nested()).size(2,0);t.parser={body:l||e.documentElement,draw:g.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:g.polyline().node,path:g.path().node,native:t.create("svg")}},t.parser={native:t.create("svg")},e.addEventListener("DOMContentLoaded",function(){t.parser.draw||t.prepare()},!1),t.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},t.utils={map:function(l,g){for(var b=l.length,C=[],k=0;k1?1:l,new t.Color({r:~~(this.r+(this.destination.r-this.r)*l),g:~~(this.g+(this.destination.g-this.g)*l),b:~~(this.b+(this.destination.b-this.b)*l)})):this}}),t.Color.test=function(l){return l+="",t.regex.isHex.test(l)||t.regex.isRgb.test(l)},t.Color.isRgb=function(l){return l&&typeof l.r=="number"&&typeof l.g=="number"&&typeof l.b=="number"},t.Color.isColor=function(l){return t.Color.isRgb(l)||t.Color.test(l)},t.Array=function(l,g){(l=(l||[]).valueOf()).length==0&&g&&(l=g.valueOf()),this.value=this.parse(l)},t.extend(t.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(l){return l=l.valueOf(),Array.isArray(l)?l:this.split(l)}}),t.PointArray=function(l,g){t.Array.call(this,l,g||[[0,0]])},t.PointArray.prototype=new t.Array,t.PointArray.prototype.constructor=t.PointArray;for(var i={M:function(l,g,b){return g.x=b.x=l[0],g.y=b.y=l[1],["M",g.x,g.y]},L:function(l,g){return g.x=l[0],g.y=l[1],["L",l[0],l[1]]},H:function(l,g){return g.x=l[0],["H",l[0]]},V:function(l,g){return g.y=l[0],["V",l[0]]},C:function(l,g){return g.x=l[4],g.y=l[5],["C",l[0],l[1],l[2],l[3],l[4],l[5]]},Q:function(l,g){return g.x=l[2],g.y=l[3],["Q",l[0],l[1],l[2],l[3]]},S:function(l,g){return g.x=l[2],g.y=l[3],["S",l[0],l[1],l[2],l[3]]},Z:function(l,g,b){return g.x=b.x,g.y=b.y,["Z"]}},a="mlhvqtcsaz".split(""),s=0,r=a.length;sI);return C},bbox:function(){return t.parser.draw||t.prepare(),t.parser.path.setAttribute("d",this.toString()),t.parser.path.getBBox()}}),t.Number=t.invent({create:function(l,g){this.value=0,this.unit=g||"",typeof l=="number"?this.value=isNaN(l)?0:isFinite(l)?l:l<0?-34e37:34e37:typeof l=="string"?(g=l.match(t.regex.numberAndUnit))&&(this.value=parseFloat(g[1]),g[5]=="%"?this.value/=100:g[5]=="s"&&(this.value*=1e3),this.unit=g[5]):l instanceof t.Number&&(this.value=l.valueOf(),this.unit=l.unit)},extend:{toString:function(){return(this.unit=="%"?~~(1e8*this.value)/1e6:this.unit=="s"?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(l){return l=new t.Number(l),new t.Number(this+l,this.unit||l.unit)},minus:function(l){return l=new t.Number(l),new t.Number(this-l,this.unit||l.unit)},times:function(l){return l=new t.Number(l),new t.Number(this*l,this.unit||l.unit)},divide:function(l){return l=new t.Number(l),new t.Number(this/l,this.unit||l.unit)},to:function(l){var g=new t.Number(this);return typeof l=="string"&&(g.unit=l),g},morph:function(l){return this.destination=new t.Number(l),l.relative&&(this.destination.value+=this.value),this},at:function(l){return this.destination?new t.Number(this.destination).minus(this).times(l).plus(this):this}}}),t.Element=t.invent({create:function(l){this._stroke=t.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=l)&&(this.type=l.nodeName,this.node.instance=this,this._stroke=l.getAttribute("stroke")||this._stroke)},extend:{x:function(l){return this.attr("x",l)},y:function(l){return this.attr("y",l)},cx:function(l){return l==null?this.x()+this.width()/2:this.x(l-this.width()/2)},cy:function(l){return l==null?this.y()+this.height()/2:this.y(l-this.height()/2)},move:function(l,g){return this.x(l).y(g)},center:function(l,g){return this.cx(l).cy(g)},width:function(l){return this.attr("width",l)},height:function(l){return this.attr("height",l)},size:function(l,g){var b=u(this,l,g);return this.width(new t.Number(b.width)).height(new t.Number(b.height))},clone:function(l){this.writeDataToDom();var g=x(this.node.cloneNode(!0));return l?l.add(g):this.after(g),g},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(l){return this.after(l).remove(),l},addTo:function(l){return l.put(this)},putIn:function(l){return l.add(this)},id:function(l){return this.attr("id",l)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return this.style("display")!="none"},toString:function(){return this.attr("id")},classes:function(){var l=this.attr("class");return l==null?[]:l.trim().split(t.regex.delimiter)},hasClass:function(l){return this.classes().indexOf(l)!=-1},addClass:function(l){if(!this.hasClass(l)){var g=this.classes();g.push(l),this.attr("class",g.join(" "))}return this},removeClass:function(l){return this.hasClass(l)&&this.attr("class",this.classes().filter(function(g){return g!=l}).join(" ")),this},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l)},reference:function(l){return t.get(this.attr(l))},parent:function(l){var g=this;if(!g.node.parentNode)return null;if(g=t.adopt(g.node.parentNode),!l)return g;for(;g&&g.node instanceof y.SVGElement;){if(typeof l=="string"?g.matches(l):g instanceof l)return g;if(!g.node.parentNode||g.node.parentNode.nodeName=="#document")return null;g=t.adopt(g.node.parentNode)}},doc:function(){return this instanceof t.Doc?this:this.parent(t.Doc)},parents:function(l){var g=[],b=this;do{if(!(b=b.parent(l))||!b.node)break;g.push(b)}while(b.parent);return g},matches:function(l){return function(g,b){return(g.matches||g.matchesSelector||g.msMatchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.oMatchesSelector).call(g,b)}(this.node,l)},native:function(){return this.node},svg:function(l){var g=e.createElementNS("http://www.w3.org/2000/svg","svg");if(!(l&&this instanceof t.Parent))return g.appendChild(l=e.createElementNS("http://www.w3.org/2000/svg","svg")),this.writeDataToDom(),l.appendChild(this.node.cloneNode(!0)),g.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");g.innerHTML=""+l.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var b=0,C=g.firstChild.childNodes.length;b":function(l){return-Math.cos(l*Math.PI)/2+.5},">":function(l){return Math.sin(l*Math.PI/2)},"<":function(l){return 1-Math.cos(l*Math.PI/2)}},t.morph=function(l){return function(g,b){return new t.MorphObj(g,b).at(l)}},t.Situation=t.invent({create:function(l){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new t.Number(l.duration).valueOf(),this.delay=new t.Number(l.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=l.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),t.FX=t.invent({create:function(l){this._target=l,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(l,g,b){R(l)==="object"&&(g=l.ease,b=l.delay,l=l.duration);var C=new t.Situation({duration:l||1e3,delay:b||0,ease:t.easing[g||"-"]||g});return this.queue(C),this},target:function(l){return l&&l instanceof t.Element?(this._target=l,this):this._target},timeToAbsPos:function(l){return(l-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(l){return this.situation.duration/this._speed*l+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=y.requestAnimationFrame((function(){this.step()}).bind(this))},stopAnimFrame:function(){y.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(l){return(typeof l=="function"||l instanceof t.Situation)&&this.situations.push(l),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof t.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var l,g=this.situation;if(g.init)return this;for(var b in g.animations){l=this.target()[b](),Array.isArray(l)||(l=[l]),Array.isArray(g.animations[b])||(g.animations[b]=[g.animations[b]]);for(var C=l.length;C--;)g.animations[b][C]instanceof t.Number&&(l[C]=new t.Number(l[C])),g.animations[b][C]=l[C].morph(g.animations[b][C])}for(var b in g.attrs)g.attrs[b]=new t.MorphObj(this.target().attr(b),g.attrs[b]);for(var b in g.styles)g.styles[b]=new t.MorphObj(this.target().style(b),g.styles[b]);return g.initialTransformation=this.target().matrixify(),g.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(l,g){var b=this.active;return this.active=!1,g&&this.clearQueue(),l&&this.situation&&(!b&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(l){var g=this.last();return this.target().on("finished.fx",function b(C){C.detail.situation==g&&(l.call(this,g),this.off("finished.fx",b))}),this._callStart()},during:function(l){var g=this.last(),b=function(C){C.detail.situation==g&&l.call(this,C.detail.pos,t.morph(C.detail.pos),C.detail.eased,g)};return this.target().off("during.fx",b).on("during.fx",b),this.after(function(){this.off("during.fx",b)}),this._callStart()},afterAll:function(l){var g=function b(C){l.call(this),this.off("allfinished.fx",b)};return this.target().off("allfinished.fx",g).on("allfinished.fx",g),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(l,g,b){return this.last()[b||"animations"][l]=g,this._callStart()},step:function(l){var g,b,C;l||(this.absPos=this.timeToAbsPos(+new Date)),this.situation.loops!==!1?(g=Math.max(this.absPos,0),b=Math.floor(g),this.situation.loops===!0||bthis.lastPos&&P<=k&&(this.situation.once[P].call(this.target(),this.pos,k),delete this.situation.once[P]);return this.active&&this.target().fire("during",{pos:this.pos,eased:k,fx:this,situation:this.situation}),this.situation?(this.eachAt(),this.pos==1&&!this.situation.reversed||this.situation.reversed&&this.pos==0?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=k,this):this},eachAt:function(){var l,g=this,b=this.target(),C=this.situation;for(var k in C.animations)l=[].concat(C.animations[k]).map(function(E){return typeof E!="string"&&E.at?E.at(C.ease(g.pos),g.pos):E}),b[k].apply(b,l);for(var k in C.attrs)l=[k].concat(C.attrs[k]).map(function(Y){return typeof Y!="string"&&Y.at?Y.at(C.ease(g.pos),g.pos):Y}),b.attr.apply(b,l);for(var k in C.styles)l=[k].concat(C.styles[k]).map(function(Y){return typeof Y!="string"&&Y.at?Y.at(C.ease(g.pos),g.pos):Y}),b.style.apply(b,l);if(C.transforms.length){l=C.initialTransformation,k=0;for(var P=C.transforms.length;k=0;--b)this[v[b]]=l[v[b]]!=null?l[v[b]]:g[v[b]]},extend:{extract:function(){var l=f(this,0,1);f(this,1,0);var g=180/Math.PI*Math.atan2(l.y,l.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(g*Math.PI/180)+this.f*Math.sin(g*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(g*Math.PI/180)+this.e*Math.sin(-g*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:g,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new t.Matrix(this)}},clone:function(){return new t.Matrix(this)},morph:function(l){return this.destination=new t.Matrix(l),this},multiply:function(l){return new t.Matrix(this.native().multiply(function(g){return g instanceof t.Matrix||(g=new t.Matrix(g)),g}(l).native()))},inverse:function(){return new t.Matrix(this.native().inverse())},translate:function(l,g){return new t.Matrix(this.native().translate(l||0,g||0))},native:function(){for(var l=t.parser.native.createSVGMatrix(),g=v.length-1;g>=0;g--)l[v[g]]=this[v[g]];return l},toString:function(){return"matrix("+m(this.a)+","+m(this.b)+","+m(this.c)+","+m(this.d)+","+m(this.e)+","+m(this.f)+")"}},parent:t.Element,construct:{ctm:function(){return new t.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof t.Nested){var l=this.rect(1,1),g=l.node.getScreenCTM();return l.remove(),new t.Matrix(g)}return new t.Matrix(this.node.getScreenCTM())}}}),t.Point=t.invent({create:function(l,g){var b;b=Array.isArray(l)?{x:l[0],y:l[1]}:R(l)==="object"?{x:l.x,y:l.y}:l!=null?{x:l,y:g??l}:{x:0,y:0},this.x=b.x,this.y=b.y},extend:{clone:function(){return new t.Point(this)},morph:function(l,g){return this.destination=new t.Point(l,g),this}}}),t.extend(t.Element,{point:function(l,g){return new t.Point(l,g).transform(this.screenCTM().inverse())}}),t.extend(t.Element,{attr:function(l,g,b){if(l==null){for(l={},b=(g=this.node.attributes).length-1;b>=0;b--)l[g[b].nodeName]=t.regex.isNumber.test(g[b].nodeValue)?parseFloat(g[b].nodeValue):g[b].nodeValue;return l}if(R(l)==="object")for(var C in l)this.attr(C,l[C]);else if(g===null)this.node.removeAttribute(l);else{if(g==null)return(g=this.node.getAttribute(l))==null?t.defaults.attrs[l]:t.regex.isNumber.test(g)?parseFloat(g):g;l=="stroke-width"?this.attr("stroke",parseFloat(g)>0?this._stroke:null):l=="stroke"&&(this._stroke=g),l!="fill"&&l!="stroke"||(t.regex.isImage.test(g)&&(g=this.doc().defs().image(g,0,0)),g instanceof t.Image&&(g=this.doc().defs().pattern(0,0,function(){this.add(g)}))),typeof g=="number"?g=new t.Number(g):t.Color.isColor(g)?g=new t.Color(g):Array.isArray(g)&&(g=new t.Array(g)),l=="leading"?this.leading&&this.leading(g):typeof b=="string"?this.node.setAttributeNS(b,l,g.toString()):this.node.setAttribute(l,g.toString()),!this.rebuild||l!="font-size"&&l!="x"||this.rebuild(l,g)}return this}}),t.extend(t.Element,{transform:function(l,g){var b;return R(l)!=="object"?(b=new t.Matrix(this).extract(),typeof l=="string"?b[l]:b):(b=new t.Matrix(this),g=!!g||!!l.relative,l.a!=null&&(b=g?b.multiply(new t.Matrix(l)):new t.Matrix(l)),this.attr("transform",b))}}),t.extend(t.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(t.regex.transforms).slice(0,-1).map(function(l){var g=l.trim().split("(");return[g[0],g[1].split(t.regex.delimiter).map(function(b){return parseFloat(b)})]}).reduce(function(l,g){return g[0]=="matrix"?l.multiply(p(g[1])):l[g[0]].apply(l,g[1])},new t.Matrix)},toParent:function(l){if(this==l)return this;var g=this.screenCTM(),b=l.screenCTM().inverse();return this.addTo(l).untransform().transform(b.multiply(g)),this},toDoc:function(){return this.toParent(this.doc())}}),t.Transformation=t.invent({create:function(l,g){if(arguments.length>1&&typeof g!="boolean")return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(l))for(var b=0,C=this.arguments.length;b=0},index:function(l){return[].slice.call(this.node.childNodes).indexOf(l.node)},get:function(l){return t.adopt(this.node.childNodes[l])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(l,g){for(var b=this.children(),C=0,k=b.length;C=0;g--)l.childNodes[g]instanceof y.SVGElement&&x(l.childNodes[g]);return t.adopt(l).id(t.eid(l.nodeName))}function m(l){return Math.abs(l)>1e-37?l:0}["fill","stroke"].forEach(function(l){var g={};g[l]=function(b){if(b===void 0)return this;if(typeof b=="string"||t.Color.isRgb(b)||b&&typeof b.fill=="function")this.attr(l,b);else for(var C=n[l].length-1;C>=0;C--)b[n[l][C]]!=null&&this.attr(n.prefix(l,n[l][C]),b[n[l][C]]);return this},t.extend(t.Element,t.FX,g)}),t.extend(t.Element,t.FX,{translate:function(l,g){return this.transform({x:l,y:g})},matrix:function(l){return this.attr("transform",new t.Matrix(arguments.length==6?[].slice.call(arguments):l))},opacity:function(l){return this.attr("opacity",l)},dx:function(l){return this.x(new t.Number(l).plus(this instanceof t.FX?0:this.x()),!0)},dy:function(l){return this.y(new t.Number(l).plus(this instanceof t.FX?0:this.y()),!0)}}),t.extend(t.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(l){return this.node.getPointAtLength(l)}}),t.Set=t.invent({create:function(l){Array.isArray(l)?this.members=l:this.clear()},extend:{add:function(){for(var l=[].slice.call(arguments),g=0,b=l.length;g-1&&this.members.splice(g,1),this},each:function(l){for(var g=0,b=this.members.length;g=0},index:function(l){return this.members.indexOf(l)},get:function(l){return this.members[l]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(l){return new t.Set(l)}}}),t.FX.Set=t.invent({create:function(l){this.set=l}}),t.Set.inherit=function(){var l=[];for(var g in t.Shape.prototype)typeof t.Shape.prototype[g]=="function"&&typeof t.Set.prototype[g]!="function"&&l.push(g);for(var g in l.forEach(function(C){t.Set.prototype[C]=function(){for(var k=0,P=this.members.length;k=0;l--)delete this.memory()[arguments[l]];return this},memory:function(){return this._memory||(this._memory={})}}),t.get=function(l){var g=e.getElementById(function(b){var C=(b||"").toString().match(t.regex.reference);if(C)return C[1]}(l)||l);return t.adopt(g)},t.select=function(l,g){return new t.Set(t.utils.map((g||e).querySelectorAll(l),function(b){return t.adopt(b)}))},t.extend(t.Parent,{select:function(l){return t.select(l,this.node)}});var v="abcdef".split("");if(typeof y.CustomEvent!="function"){var A=function(l,g){g=g||{bubbles:!1,cancelable:!1,detail:void 0};var b=e.createEvent("CustomEvent");return b.initCustomEvent(l,g.bubbles,g.cancelable,g.detail),b};A.prototype=y.Event.prototype,t.CustomEvent=A}else t.CustomEvent=y.CustomEvent;return t},R(S)==="object"?w.exports=Xe.document?et(Xe,Xe.document):function(y){return et(y,y.document)}:Xe.SVG=et(Xe,Xe.document),(function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(r,n){return this.add(r,n),!r.attr("in")&&this.autoSetIn&&r.attr("in",this.source),r.attr("result")||r.attr("result",r),r},blend:function(r,n,o){return this.put(new SVG.BlendEffect(r,n,o))},colorMatrix:function(r,n){return this.put(new SVG.ColorMatrixEffect(r,n))},convolveMatrix:function(r){return this.put(new SVG.ConvolveMatrixEffect(r))},componentTransfer:function(r){return this.put(new SVG.ComponentTransferEffect(r))},composite:function(r,n,o){return this.put(new SVG.CompositeEffect(r,n,o))},flood:function(r,n){return this.put(new SVG.FloodEffect(r,n))},offset:function(r,n){return this.put(new SVG.OffsetEffect(r,n))},image:function(r){return this.put(new SVG.ImageEffect(r))},merge:function(){var r=[void 0];for(var n in arguments)r.push(arguments[n]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,r)))},gaussianBlur:function(r,n){return this.put(new SVG.GaussianBlurEffect(r,n))},morphology:function(r,n){return this.put(new SVG.MorphologyEffect(r,n))},diffuseLighting:function(r,n,o){return this.put(new SVG.DiffuseLightingEffect(r,n,o))},displacementMap:function(r,n,o,h,c){return this.put(new SVG.DisplacementMapEffect(r,n,o,h,c))},specularLighting:function(r,n,o,h){return this.put(new SVG.SpecularLightingEffect(r,n,o,h))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(r,n,o,h,c){return this.put(new SVG.TurbulenceEffect(r,n,o,h,c))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(r){var n=this.put(new SVG.Filter);return typeof r=="function"&&r.call(n,n),n}}),SVG.extend(SVG.Container,{filter:function(r){return this.defs().filter(r)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(r){return this.filterer=r instanceof SVG.Element?r:this.doc().filter(r),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(r){return this.filterer&&r===!0&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(r){return r==null?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",r)},result:function(r){return r==null?this.attr("result"):this.attr("result",r)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(r){return r==null?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",r)},result:function(r){return r==null?this.attr("result"):this.attr("result",r)},toString:function(){return this.result()}}});var y={blend:function(r,n){return this.parent()&&this.parent().blend(this,r,n)},colorMatrix:function(r,n){return this.parent()&&this.parent().colorMatrix(r,n).in(this)},convolveMatrix:function(r){return this.parent()&&this.parent().convolveMatrix(r).in(this)},componentTransfer:function(r){return this.parent()&&this.parent().componentTransfer(r).in(this)},composite:function(r,n){return this.parent()&&this.parent().composite(this,r,n)},flood:function(r,n){return this.parent()&&this.parent().flood(r,n)},offset:function(r,n){return this.parent()&&this.parent().offset(r,n).in(this)},image:function(r){return this.parent()&&this.parent().image(r)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(r,n){return this.parent()&&this.parent().gaussianBlur(r,n).in(this)},morphology:function(r,n){return this.parent()&&this.parent().morphology(r,n).in(this)},diffuseLighting:function(r,n,o){return this.parent()&&this.parent().diffuseLighting(r,n,o).in(this)},displacementMap:function(r,n,o,h){return this.parent()&&this.parent().displacementMap(this,r,n,o,h)},specularLighting:function(r,n,o,h){return this.parent()&&this.parent().specularLighting(r,n,o,h).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(r,n,o,h,c){return this.parent()&&this.parent().turbulence(r,n,o,h,c).in(this)}};SVG.extend(SVG.Effect,y),SVG.extend(SVG.ParentEffect,y),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(r){this.attr("in",r)}}});var e={blend:function(r,n,o){this.attr({in:r,in2:n,mode:o||"normal"})},colorMatrix:function(r,n){r=="matrix"&&(n=a(n)),this.attr({type:r,values:n===void 0?null:n})},convolveMatrix:function(r){r=a(r),this.attr({order:Math.sqrt(r.split(" ").length),kernelMatrix:r})},composite:function(r,n,o){this.attr({in:r,in2:n,operator:o})},flood:function(r,n){this.attr("flood-color",r),n!=null&&this.attr("flood-opacity",n)},offset:function(r,n){this.attr({dx:r,dy:n})},image:function(r){this.attr("href",r,SVG.xlink)},displacementMap:function(r,n,o,h,c){this.attr({in:r,in2:n,scale:o,xChannelSelector:h,yChannelSelector:c})},gaussianBlur:function(r,n){r!=null||n!=null?this.attr("stdDeviation",function(o){if(!Array.isArray(o))return o;for(var h=0,c=o.length,d=[];h1&&(ee*=c=Math.sqrt(c),Q*=c),d=new SVG.Matrix().rotate(se).scale(1/ee,1/Q).rotate(-se),oe=oe.transform(d),ne=ne.transform(d),u=[ne.x-oe.x,ne.y-oe.y],p=u[0]*u[0]+u[1]*u[1],f=Math.sqrt(p),u[0]/=f,u[1]/=f,x=p<4?Math.sqrt(1-p/4):0,ue===fe&&(x*=-1),m=new SVG.Point((ne.x+oe.x)/2+x*-u[1],(ne.y+oe.y)/2+x*u[0]),v=new SVG.Point(oe.x-m.x,oe.y-m.y),A=new SVG.Point(ne.x-m.x,ne.y-m.y),l=Math.acos(v.x/Math.sqrt(v.x*v.x+v.y*v.y)),v.y<0&&(l*=-1),g=Math.acos(A.x/Math.sqrt(A.x*A.x+A.y*A.y)),A.y<0&&(g*=-1),fe&&l>g&&(g+=2*Math.PI),!fe&&lr.maxX-t.width&&(n=(a=r.maxX-t.width)-this.startPoints.box.x),r.minY!=null&&sr.maxY-t.height&&(o=(s=r.maxY-t.height)-this.startPoints.box.y),r.snapToGrid!=null&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,n-=n%r.snapToGrid,o-=o%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:n,y:o},!0):this.el.move(a,s));return i},y.prototype.end=function(e){var t=this.drag(e);this.el.fire("dragend",{event:e,p:t,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,t){typeof e!="function"&&typeof e!="object"||(t=e,e=!0);var i=this.remember("_draggable")||new y(this);return(e=e===void 0||e)?i.init(t||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}).call(void 0),function(){function y(e){this.el=e,e.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,i,a){var s=typeof t!="string"?t:i[t];return a?s/2:s},this.pointCoords=function(t,i){var a=this.pointsList[t];return{x:this.pointCoord(a[0],i,t==="t"||t==="b"),y:this.pointCoord(a[1],i,t==="r"||t==="l")}}}y.prototype.init=function(e,t){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],t[s]!==void 0&&(this.options[s]=t[s]);var r=["points","pointsExclude"];for(var s in r){var n=this.options[r[s]];typeof n=="string"?n=n.length>0?n.split(/\s*,\s*/i):[]:typeof n=="boolean"&&r[s]==="points"&&(n=n?a:[]),this.options[r[s]]=n}this.options.points=[a,this.options.points].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)>-1})}),this.options.points=[this.options.points,this.options.pointsExclude].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)<0})}),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&["line","polyline","polygon"].indexOf(this.el.type)!==-1?this.selectPoints(e):this.selectRect(e),this.observe(),this.cleanup()},y.prototype.selectPoints=function(e){return this.pointSelection.isSelected=e,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},y.prototype.getPointArray=function(){var e=this.el.bbox();return this.el.array().valueOf().map(function(t){return[t[0]-e.x,t[1]-e.y]})},y.prototype.drawPoints=function(){for(var e=this,t=this.getPointArray(),i=0,a=t.length;i0&&this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y+n[1]).size(this.parameters.box.width-n[0],this.parameters.box.height-n[1])}};break;case"rt":this.calc=function(s,r){var n=this.snapToGrid(s,r,2);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).size(this.parameters.box.width+n[0],this.parameters.box.height-n[1])}};break;case"rb":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+n[0],this.parameters.box.height+n[1])}};break;case"lb":this.calc=function(s,r){var n=this.snapToGrid(s,r,1);if(this.parameters.box.width-n[0]>0&&this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).size(this.parameters.box.width-n[0],this.parameters.box.height+n[1])}};break;case"t":this.calc=function(s,r){var n=this.snapToGrid(s,r,2);if(this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).height(this.parameters.box.height-n[1])}};break;case"r":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.width+n[0]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+n[0])}};break;case"b":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+n[1])}};break;case"l":this.calc=function(s,r){var n=this.snapToGrid(s,r,1);if(this.parameters.box.width-n[0]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).width(this.parameters.box.width-n[0])}};break;case"rot":this.calc=function(s,r){var n=s+this.parameters.p.x,o=r+this.parameters.p.y,h=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),c=Math.atan2(o-this.parameters.box.y-this.parameters.box.height/2,n-this.parameters.box.x-this.parameters.box.width/2),d=this.parameters.rotation+180*(c-h)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(d-d%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(s,r){var n=this.snapToGrid(s,r,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),o=this.el.array().valueOf();o[this.parameters.i][0]=this.parameters.pointCoords[0]+n[0],o[this.parameters.i][1]=this.parameters.pointCoords[1]+n[1],this.el.plot(o)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:e}),SVG.on(window,"touchmove.resize",function(s){t.update(s||window.event)}),SVG.on(window,"touchend.resize",function(){t.done()}),SVG.on(window,"mousemove.resize",function(s){t.update(s||window.event)}),SVG.on(window,"mouseup.resize",function(){t.done()})},y.prototype.update=function(e){if(e){var t=this._extractPosition(e),i=this.transformPoint(t.x,t.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:e})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},y.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},y.prototype.snapToGrid=function(e,t,i,a){var s;return a!==void 0?s=[(i+e)%this.options.snapToGrid,(a+t)%this.options.snapToGrid]:(i=i??3,s=[(this.parameters.box.x+e+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+t+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),e<0&&(s[0]-=this.options.snapToGrid),t<0&&(s[1]-=this.options.snapToGrid),e-=Math.abs(s[0])n.maxX&&(e=n.maxX-s),n.minY!==void 0&&r+tn.maxY&&(t=n.maxY-r),[e,t]},y.prototype.checkAspectRatio=function(e,t){if(!this.options.saveAspectRatio)return e;var i=e.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+e[0],r=this.parameters.box.height-e[1],n=s/r;return na&&(i[0]=this.parameters.box.width-r*a,t&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new y(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),window.Apex===void 0&&(window.Apex={});var Kt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new ie(this.ctx),this.ctx.axes=new Ui(this.ctx),this.ctx.core=new ya(this.ctx.el,this.ctx),this.ctx.config=new _e({}),this.ctx.data=new Nt(this.ctx),this.ctx.grid=new Ht(this.ctx),this.ctx.graphics=new H(this.ctx),this.ctx.coreUtils=new re(this.ctx),this.ctx.crosshairs=new pt(this.ctx),this.ctx.events=new _i(this.ctx),this.ctx.exports=new Ke(this.ctx),this.ctx.localization=new ji(this.ctx),this.ctx.options=new ze,this.ctx.responsive=new qi(this.ctx),this.ctx.series=new Se(this.ctx),this.ctx.theme=new Zi(this.ctx),this.ctx.formatters=new Te(this.ctx),this.ctx.titleSubtitle=new $i(this.ctx),this.ctx.legend=new Wt(this.ctx),this.ctx.toolbar=new Gt(this.ctx),this.ctx.tooltip=new jt(this.ctx),this.ctx.dimensions=new Qe(this.ctx),this.ctx.updateHelpers=new wa(this.ctx),this.ctx.zoomPanSelection=new ia(this.ctx),this.ctx.w.globals.tooltip=new jt(this.ctx)}}]),y}(),Qt=function(){function y(e){T(this,y),this.ctx=e,this.w=e.w}return z(y,[{key:"clear",value:function(e){var t=e.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:t})}},{key:"killSVG",value:function(e){e.each(function(t,i){this.removeClass("*"),this.off(),this.stop()},!0),e.ungroup(),e.clear()}},{key:"clearDomElements",value:function(e){var t=this,i=e.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach(function(n){s.removeEventListener(n,t.ctx.events.documentEvent)});var r=this.w.globals.dom;if(this.ctx.el!==null)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),y}(),vt=new WeakMap,Aa=function(){function y(e,t){T(this,y),this.opts=t,this.ctx=this,this.w=new Vi(t).init(),this.el=e,this.w.globals.cuid=X.randomId(),this.w.globals.chartID=this.w.config.chart.id?X.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Kt(this).initModules(),this.create=X.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return z(y,[{key:"render",value:function(){var e=this;return new Promise(function(t,i){if(e.el!==null){Apex._chartInstances===void 0&&(Apex._chartInstances=[]),e.w.config.chart.id&&Apex._chartInstances.push({id:e.w.globals.chartID,group:e.w.config.chart.group,chart:e}),e.setLocale(e.w.config.chart.defaultLocale);var a=e.w.config.chart.events.beforeMount;typeof a=="function"&&a(e,e.w),e.events.fireEvent("beforeMount",[e,e.w]),window.addEventListener("resize",e.windowResizeHandler),function(u,f){var p=!1;if(u.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var x=u.getBoundingClientRect();u.style.display!=="none"&&x.width!==0||(p=!0)}var m=new ResizeObserver(function(v){p&&f.call(u,v),p=!0});u.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(u.children).forEach(function(v){return m.observe(v)}):m.observe(u),vt.set(f,m)}(e.el.parentNode,e.parentResizeHandler);var s=e.el.getRootNode&&e.el.getRootNode(),r=X.is("ShadowRoot",s),n=e.el.ownerDocument,o=r?s.getElementById("apexcharts-css"):n.getElementById("apexcharts-css");if(!o){var h;(o=document.createElement("style")).id="apexcharts-css",o.textContent=`@keyframes opaque { - 0% { - opacity: 0 - } - - to { - opacity: 1 - } -} - -@keyframes resizeanim { - - 0%, - to { - opacity: 0 - } -} - -.apexcharts-canvas { - position: relative; - user-select: none -} - -.apexcharts-canvas ::-webkit-scrollbar { - -webkit-appearance: none; - width: 6px -} - -.apexcharts-canvas ::-webkit-scrollbar-thumb { - border-radius: 4px; - background-color: rgba(0, 0, 0, .5); - box-shadow: 0 0 1px rgba(255, 255, 255, .5); - -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5) -} - -.apexcharts-inner { - position: relative -} - -.apexcharts-text tspan { - font-family: inherit -} - -rect.legend-mouseover-inactive, -.legend-mouseover-inactive rect, -.legend-mouseover-inactive path, -.legend-mouseover-inactive circle, -.legend-mouseover-inactive line, -.legend-mouseover-inactive text.apexcharts-yaxis-title-text, -.legend-mouseover-inactive text.apexcharts-yaxis-label { - transition: .15s ease all; - opacity: .2 -} - -.apexcharts-legend-text { - padding-left: 15px; - margin-left: -15px; -} - -.apexcharts-series-collapsed { - opacity: 0 -} - -.apexcharts-tooltip { - border-radius: 5px; - box-shadow: 2px 2px 6px -4px #999; - cursor: default; - font-size: 14px; - left: 62px; - opacity: 0; - pointer-events: none; - position: absolute; - top: 20px; - display: flex; - flex-direction: column; - overflow: hidden; - white-space: nowrap; - z-index: 12; - transition: .15s ease all -} - -.apexcharts-tooltip.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-tooltip.apexcharts-theme-light { - border: 1px solid #e3e3e3; - background: rgba(255, 255, 255, .96) -} - -.apexcharts-tooltip.apexcharts-theme-dark { - color: #fff; - background: rgba(30, 30, 30, .8) -} - -.apexcharts-tooltip * { - font-family: inherit -} - -.apexcharts-tooltip-title { - padding: 6px; - font-size: 15px; - margin-bottom: 4px -} - -.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title { - background: #eceff1; - border-bottom: 1px solid #ddd -} - -.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title { - background: rgba(0, 0, 0, .7); - border-bottom: 1px solid #333 -} - -.apexcharts-tooltip-text-goals-value, -.apexcharts-tooltip-text-y-value, -.apexcharts-tooltip-text-z-value { - display: inline-block; - margin-left: 5px; - font-weight: 600 -} - -.apexcharts-tooltip-text-goals-label:empty, -.apexcharts-tooltip-text-goals-value:empty, -.apexcharts-tooltip-text-y-label:empty, -.apexcharts-tooltip-text-y-value:empty, -.apexcharts-tooltip-text-z-value:empty, -.apexcharts-tooltip-title:empty { - display: none -} - -.apexcharts-tooltip-text-goals-label, -.apexcharts-tooltip-text-goals-value { - padding: 6px 0 5px -} - -.apexcharts-tooltip-goals-group, -.apexcharts-tooltip-text-goals-label, -.apexcharts-tooltip-text-goals-value { - display: flex -} - -.apexcharts-tooltip-text-goals-label:not(:empty), -.apexcharts-tooltip-text-goals-value:not(:empty) { - margin-top: -6px -} - -.apexcharts-tooltip-marker { - width: 12px; - height: 12px; - position: relative; - top: 0; - margin-right: 10px; - border-radius: 50% -} - -.apexcharts-tooltip-series-group { - padding: 0 10px; - display: none; - text-align: left; - justify-content: left; - align-items: center -} - -.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker { - opacity: 1 -} - -.apexcharts-tooltip-series-group.apexcharts-active, -.apexcharts-tooltip-series-group:last-child { - padding-bottom: 4px -} - -.apexcharts-tooltip-y-group { - padding: 6px 0 5px -} - -.apexcharts-custom-tooltip, -.apexcharts-tooltip-box { - padding: 4px 8px -} - -.apexcharts-tooltip-boxPlot { - display: flex; - flex-direction: column-reverse -} - -.apexcharts-tooltip-box>div { - margin: 4px 0 -} - -.apexcharts-tooltip-box span.value { - font-weight: 700 -} - -.apexcharts-tooltip-rangebar { - padding: 5px 8px -} - -.apexcharts-tooltip-rangebar .category { - font-weight: 600; - color: #777 -} - -.apexcharts-tooltip-rangebar .series-name { - font-weight: 700; - display: block; - margin-bottom: 5px -} - -.apexcharts-xaxistooltip, -.apexcharts-yaxistooltip { - opacity: 0; - pointer-events: none; - color: #373d3f; - font-size: 13px; - text-align: center; - border-radius: 2px; - position: absolute; - z-index: 10; - background: #eceff1; - border: 1px solid #90a4ae -} - -.apexcharts-xaxistooltip { - padding: 9px 10px; - transition: .15s ease all -} - -.apexcharts-xaxistooltip.apexcharts-theme-dark { - background: rgba(0, 0, 0, .7); - border: 1px solid rgba(0, 0, 0, .5); - color: #fff -} - -.apexcharts-xaxistooltip:after, -.apexcharts-xaxistooltip:before { - left: 50%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none -} - -.apexcharts-xaxistooltip:after { - border-color: transparent; - border-width: 6px; - margin-left: -6px -} - -.apexcharts-xaxistooltip:before { - border-color: transparent; - border-width: 7px; - margin-left: -7px -} - -.apexcharts-xaxistooltip-bottom:after, -.apexcharts-xaxistooltip-bottom:before { - bottom: 100% -} - -.apexcharts-xaxistooltip-top:after, -.apexcharts-xaxistooltip-top:before { - top: 100% -} - -.apexcharts-xaxistooltip-bottom:after { - border-bottom-color: #eceff1 -} - -.apexcharts-xaxistooltip-bottom:before { - border-bottom-color: #90a4ae -} - -.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after, -.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before { - border-bottom-color: rgba(0, 0, 0, .5) -} - -.apexcharts-xaxistooltip-top:after { - border-top-color: #eceff1 -} - -.apexcharts-xaxistooltip-top:before { - border-top-color: #90a4ae -} - -.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after, -.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before { - border-top-color: rgba(0, 0, 0, .5) -} - -.apexcharts-xaxistooltip.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-yaxistooltip { - padding: 4px 10px -} - -.apexcharts-yaxistooltip.apexcharts-theme-dark { - background: rgba(0, 0, 0, .7); - border: 1px solid rgba(0, 0, 0, .5); - color: #fff -} - -.apexcharts-yaxistooltip:after, -.apexcharts-yaxistooltip:before { - top: 50%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none -} - -.apexcharts-yaxistooltip:after { - border-color: transparent; - border-width: 6px; - margin-top: -6px -} - -.apexcharts-yaxistooltip:before { - border-color: transparent; - border-width: 7px; - margin-top: -7px -} - -.apexcharts-yaxistooltip-left:after, -.apexcharts-yaxistooltip-left:before { - left: 100% -} - -.apexcharts-yaxistooltip-right:after, -.apexcharts-yaxistooltip-right:before { - right: 100% -} - -.apexcharts-yaxistooltip-left:after { - border-left-color: #eceff1 -} - -.apexcharts-yaxistooltip-left:before { - border-left-color: #90a4ae -} - -.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after, -.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before { - border-left-color: rgba(0, 0, 0, .5) -} - -.apexcharts-yaxistooltip-right:after { - border-right-color: #eceff1 -} - -.apexcharts-yaxistooltip-right:before { - border-right-color: #90a4ae -} - -.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after, -.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before { - border-right-color: rgba(0, 0, 0, .5) -} - -.apexcharts-yaxistooltip.apexcharts-active { - opacity: 1 -} - -.apexcharts-yaxistooltip-hidden { - display: none -} - -.apexcharts-xcrosshairs, -.apexcharts-ycrosshairs { - pointer-events: none; - opacity: 0; - transition: .15s ease all -} - -.apexcharts-xcrosshairs.apexcharts-active, -.apexcharts-ycrosshairs.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-ycrosshairs-hidden { - opacity: 0 -} - -.apexcharts-selection-rect { - cursor: move -} - -.svg_select_boundingRect, -.svg_select_points_rot { - pointer-events: none; - opacity: 0; - visibility: hidden -} - -.apexcharts-selection-rect+g .svg_select_boundingRect, -.apexcharts-selection-rect+g .svg_select_points_rot { - opacity: 0; - visibility: hidden -} - -.apexcharts-selection-rect+g .svg_select_points_l, -.apexcharts-selection-rect+g .svg_select_points_r { - cursor: ew-resize; - opacity: 1; - visibility: visible -} - -.svg_select_points { - fill: #efefef; - stroke: #333; - rx: 2 -} - -.apexcharts-svg.apexcharts-zoomable.hovering-zoom { - cursor: crosshair -} - -.apexcharts-svg.apexcharts-zoomable.hovering-pan { - cursor: move -} - -.apexcharts-menu-icon, -.apexcharts-pan-icon, -.apexcharts-reset-icon, -.apexcharts-selection-icon, -.apexcharts-toolbar-custom-icon, -.apexcharts-zoom-icon, -.apexcharts-zoomin-icon, -.apexcharts-zoomout-icon { - cursor: pointer; - width: 20px; - height: 20px; - line-height: 24px; - color: #6e8192; - text-align: center -} - -.apexcharts-menu-icon svg, -.apexcharts-reset-icon svg, -.apexcharts-zoom-icon svg, -.apexcharts-zoomin-icon svg, -.apexcharts-zoomout-icon svg { - fill: #6e8192 -} - -.apexcharts-selection-icon svg { - fill: #444; - transform: scale(.76) -} - -.apexcharts-theme-dark .apexcharts-menu-icon svg, -.apexcharts-theme-dark .apexcharts-pan-icon svg, -.apexcharts-theme-dark .apexcharts-reset-icon svg, -.apexcharts-theme-dark .apexcharts-selection-icon svg, -.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg, -.apexcharts-theme-dark .apexcharts-zoom-icon svg, -.apexcharts-theme-dark .apexcharts-zoomin-icon svg, -.apexcharts-theme-dark .apexcharts-zoomout-icon svg { - fill: #f3f4f5 -} - -.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg, -.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg, -.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg { - fill: #008ffb -} - -.apexcharts-theme-light .apexcharts-menu-icon:hover svg, -.apexcharts-theme-light .apexcharts-reset-icon:hover svg, -.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg, -.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg, -.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg, -.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg { - fill: #333 -} - -.apexcharts-menu-icon, -.apexcharts-selection-icon { - position: relative -} - -.apexcharts-reset-icon { - margin-left: 5px -} - -.apexcharts-menu-icon, -.apexcharts-reset-icon, -.apexcharts-zoom-icon { - transform: scale(.85) -} - -.apexcharts-zoomin-icon, -.apexcharts-zoomout-icon { - transform: scale(.7) -} - -.apexcharts-zoomout-icon { - margin-right: 3px -} - -.apexcharts-pan-icon { - transform: scale(.62); - position: relative; - left: 1px; - top: 0 -} - -.apexcharts-pan-icon svg { - fill: #fff; - stroke: #6e8192; - stroke-width: 2 -} - -.apexcharts-pan-icon.apexcharts-selected svg { - stroke: #008ffb -} - -.apexcharts-pan-icon:not(.apexcharts-selected):hover svg { - stroke: #333 -} - -.apexcharts-toolbar { - position: absolute; - z-index: 11; - max-width: 176px; - text-align: right; - border-radius: 3px; - padding: 0 6px 2px; - display: flex; - justify-content: space-between; - align-items: center -} - -.apexcharts-menu { - background: #fff; - position: absolute; - top: 100%; - border: 1px solid #ddd; - border-radius: 3px; - padding: 3px; - right: 10px; - opacity: 0; - min-width: 110px; - transition: .15s ease all; - pointer-events: none -} - -.apexcharts-menu.apexcharts-menu-open { - opacity: 1; - pointer-events: all; - transition: .15s ease all -} - -.apexcharts-menu-item { - padding: 6px 7px; - font-size: 12px; - cursor: pointer -} - -.apexcharts-theme-light .apexcharts-menu-item:hover { - background: #eee -} - -.apexcharts-theme-dark .apexcharts-menu { - background: rgba(0, 0, 0, .7); - color: #fff -} - -@media screen and (min-width:768px) { - .apexcharts-canvas:hover .apexcharts-toolbar { - opacity: 1 - } -} - -.apexcharts-canvas .apexcharts-element-hidden, -.apexcharts-datalabel.apexcharts-element-hidden, -.apexcharts-hide .apexcharts-series-points { - opacity: 0; -} - -.apexcharts-hidden-element-shown { - opacity: 1; - transition: 0.25s ease all; -} - -.apexcharts-datalabel, -.apexcharts-datalabel-label, -.apexcharts-datalabel-value, -.apexcharts-datalabels, -.apexcharts-pie-label { - cursor: default; - pointer-events: none -} - -.apexcharts-pie-label-delay { - opacity: 0; - animation-name: opaque; - animation-duration: .3s; - animation-fill-mode: forwards; - animation-timing-function: ease -} - -.apexcharts-radialbar-label { - cursor: pointer; -} - -.apexcharts-annotation-rect, -.apexcharts-area-series .apexcharts-area, -.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, -.apexcharts-gridline, -.apexcharts-line, -.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, -.apexcharts-point-annotation-label, -.apexcharts-radar-series path:not(.apexcharts-marker), -.apexcharts-radar-series polygon, -.apexcharts-toolbar svg, -.apexcharts-tooltip .apexcharts-marker, -.apexcharts-xaxis-annotation-label, -.apexcharts-yaxis-annotation-label, -.apexcharts-zoom-rect { - pointer-events: none -} - -.apexcharts-tooltip-active .apexcharts-marker { - transition: .15s ease all -} - -.resize-triggers { - animation: 1ms resizeanim; - visibility: hidden; - opacity: 0; - height: 100%; - width: 100%; - overflow: hidden -} - -.contract-trigger:before, -.resize-triggers, -.resize-triggers>div { - content: " "; - display: block; - position: absolute; - top: 0; - left: 0 -} - -.resize-triggers>div { - height: 100%; - width: 100%; - background: #eee; - overflow: auto -} - -.contract-trigger:before { - overflow: hidden; - width: 200%; - height: 200% -} - -.apexcharts-bar-goals-markers { - pointer-events: none -} - -.apexcharts-bar-shadows { - pointer-events: none -} - -.apexcharts-rangebar-goals-markers { - pointer-events: none -}`;var c=((h=e.opts.chart)===null||h===void 0?void 0:h.nonce)||e.w.config.chart.nonce;c&&o.setAttribute("nonce",c),r?s.prepend(o):n.head.appendChild(o)}var d=e.create(e.w.config.series,{});if(!d)return t(e);e.mount(d).then(function(){typeof e.w.config.chart.events.mounted=="function"&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent("mounted",[e,e.w]),t(d)}).catch(function(u){i(u)})}else i(new Error("Element not found"))})}},{key:"create",value:function(e,t){var i=this.w;new Kt(this).initModules();var a=this.w.globals;if(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(t),i.config.xaxis.convertedCatToNumeric&&new Ve(i.config).convertCatToNumericXaxis(i.config,this.ctx),this.el===null||(this.core.setupElements(),i.config.chart.type==="treemap"&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),a.svgWidth===0))return a.animationEnded=!0,null;var s=re.checkComboSeries(e,i.config.chart.type);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=e.every(function(c){return c.data&&c.data.length===0});(e.length===0||r&&a.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(e),this.theme.init(),new De(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),i.config.xaxis.type!=="category"&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new re(this).getLargestMarkerSize(),this.dimensions.plotCoords();var n=this.core.xySettings();this.grid.createGridMask();var o=this.core.plotChartType(e,n),h=new Ne(this);return h.bringForward(),i.config.dataLabels.background.enabled&&h.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:o,xyRatios:n,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:"mount",value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=this,a=i.w;return new Promise(function(s,r){if(i.el===null)return r(new Error("Not enough data to display or target element not found"));(t===null||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Ht(i);var n,o,h=i.grid.drawGrid();if(i.annotations=new Gi(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),a.config.grid.position==="back"&&(h&&a.globals.dom.elGraphical.add(h.el),h!=null&&(n=h.elGridBorders)!==null&&n!==void 0&&n.node&&a.globals.dom.elGraphical.add(h.elGridBorders)),Array.isArray(t.elGraph))for(var c=0;c0&&a.globals.memory.methodsToExec.forEach(function(p){p.method(p.params,!1,p.context)}),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)})}},{key:"destroy",value:function(){var e,t;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,e=this.parentResizeHandler,(t=vt.get(e))&&(t.disconnect(),vt.delete(e));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach(function(a,s){a.id===X.escapeString(i)&&Apex._chartInstances.splice(s,1)}),new Qt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],a=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],n=this.w;return n.globals.selection=void 0,e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map(function(o,h){return t.updateHelpers._extendSeries(o,h)})),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,i,a,s,r)}},{key:"updateSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,i)}},{key:"appendSeries",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=this.w.config.series.slice();return a.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,t,i)}},{key:"appendData",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];this.series.resetSeries(e,t)}},{key:"addEventListener",value:function(e,t){this.events.addEventListener(e,t)}},{key:"removeEventListener",value:function(e,t){this.events.removeEventListener(e,t)}},{key:"addXaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(e,t,a)}},{key:"addYaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(e,t,a)}},{key:"addPointAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(e,t,a)}},{key:"clearAnnotations",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:"removeAnnotation",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,i=this;t&&(i=t),i.annotations.removeAnnotation(i,e)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:"getHighestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new gt(this.ctx).getMinYMaxY(e).highestY}},{key:"getLowestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new gt(this.ctx).getMinYMaxY(e).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:"zoomX",value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:"setLocale",value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:"dataURI",value:function(e){return new Ke(this.ctx).dataURI(e)}},{key:"exportToCSV",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return new Ke(this.ctx).exportToCSV(e)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()},150)}},{key:"_windowResizeHandler",value:function(){var e=this.w.config.chart.redrawOnWindowResize;typeof e=="function"&&(e=e()),e&&this._windowResize()}}],[{key:"getChartByID",value:function(e){var t=X.escapeString(e);if(Apex._chartInstances){var i=Apex._chartInstances.filter(function(a){return a.id===t})[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),t=0;t2?s-2:0),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 z zDp*f$RPnWut{G`ho{2pPdzbD@W=Bic+X-Vo3BrH=5=nZT;u!CU2VyDBG~ z(cOBDyhGqMo~dHl^N3P~Km#Qa*28+K+G!cRTIVmaJxooDS=knmslZCdHEKTq z?1Fy9Lj5fhqYz`g>ljvx8sh5-hPZ0_csiaNX4$VcNfG_DsYtsV!#LdZLQm5e1fV{- zXk8*-TS2}AzwCVO15EHbWGI%v5m^VX-0efI+{)=pVqpHL;J9q#a(~~{HaDsQAFVpth^`kHHdc(R8rY_e_jSv_+l?b!fw2Gx zRpn7K5jh)Y`*xB|Uek=?11I*_=gU?|LQ(A|r8Wb4r!A7Y1B_XWktGkhPFQhI>PUDX zaTn6#QK3w4Y7GRm93~erYowbKV*1=fPf7a+bgux`}F{(Qq4($U_ z(6V;L#TJLdJq}xJq0|N6@Z}A}CVc6H2TpFcYo z#cZ<8h0|=1DKAJord^*=@AVI|@VsC<{sEG}_c1fS2ninvGpsslJ4F>{tlN#c-Accd z3!}aL9^;VJPD^{|oN`soJBI~vYArAPzhs+PoH=^HHX)u{Q>esfTNL4A1FmdZ>j$>Y zmSP#ku*s7-1jaG=Qb2%;VtEOJ0lpC?9<{rbE$p;Xcc$Pb-PGv?V`WIGI;2NVINS)2 z`WU8%s{bVE4WLHz;20|s X1f|G4)QW96LU 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%0A%EBHUol4eS3jz(Zovr5 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 diff --git a/src/web/assets/dist/assets/vue-apexcharts-Bqp5DSZb.js.map b/src/web/assets/dist/assets/vue-apexcharts-Bqp5DSZb.js.map deleted file mode 100644 index ccfb7786..00000000 --- a/src/web/assets/dist/assets/vue-apexcharts-Bqp5DSZb.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"vue-apexcharts-Bqp5DSZb.js","sources":["../../../../../buildchain/node_modules/axios/lib/helpers/bind.js","../../../../../buildchain/node_modules/axios/lib/utils.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/null.js","../../../../../buildchain/node_modules/axios/lib/helpers/toFormData.js","../../../../../buildchain/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/helpers/buildURL.js","../../../../../buildchain/node_modules/axios/lib/core/InterceptorManager.js","../../../../../buildchain/node_modules/axios/lib/defaults/transitional.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/index.js","../../../../../buildchain/node_modules/axios/lib/platform/common/utils.js","../../../../../buildchain/node_modules/axios/lib/platform/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../buildchain/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../buildchain/node_modules/axios/lib/defaults/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/transformData.js","../../../../../buildchain/node_modules/axios/lib/cancel/isCancel.js","../../../../../buildchain/node_modules/axios/lib/cancel/CanceledError.js","../../../../../buildchain/node_modules/axios/lib/core/settle.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseProtocol.js","../../../../../buildchain/node_modules/axios/lib/helpers/speedometer.js","../../../../../buildchain/node_modules/axios/lib/helpers/throttle.js","../../../../../buildchain/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../buildchain/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../buildchain/node_modules/axios/lib/helpers/cookies.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../buildchain/node_modules/axios/lib/helpers/combineURLs.js","../../../../../buildchain/node_modules/axios/lib/core/buildFullPath.js","../../../../../buildchain/node_modules/axios/lib/core/mergeConfig.js","../../../../../buildchain/node_modules/axios/lib/helpers/resolveConfig.js","../../../../../buildchain/node_modules/axios/lib/adapters/xhr.js","../../../../../buildchain/node_modules/axios/lib/helpers/composeSignals.js","../../../../../buildchain/node_modules/axios/lib/helpers/trackStream.js","../../../../../buildchain/node_modules/axios/lib/adapters/fetch.js","../../../../../buildchain/node_modules/axios/lib/adapters/adapters.js","../../../../../buildchain/node_modules/axios/lib/core/dispatchRequest.js","../../../../../buildchain/node_modules/axios/lib/env/data.js","../../../../../buildchain/node_modules/axios/lib/helpers/validator.js","../../../../../buildchain/node_modules/axios/lib/core/Axios.js","../../../../../buildchain/node_modules/axios/lib/cancel/CancelToken.js","../../../../../buildchain/node_modules/axios/lib/helpers/spread.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../buildchain/node_modules/axios/lib/axios.js","../../../../../buildchain/node_modules/apexcharts/dist/apexcharts.min.js","../../../../../buildchain/node_modules/vue-apexcharts/dist/vue-apexcharts.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n isStreamResponse && onFinish();\n }, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.4\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*!\n * ApexCharts v3.52.0\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===i(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"preciseAddition\",value:function(t,e){var i=(String(t).split(\".\")[1]||\"\").length,a=(String(e).split(\".\")[1]||\"\").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isIE11\",value:function(){if(-1!==window.navigator.userAgent.indexOf(\"MSIE\")||window.navigator.appVersion.indexOf(\"Trident/\")>-1)return!0}},{key:\"isIE\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"MSIE \");if(e>0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")>0){var i=t.indexOf(\"rv:\");return parseInt(t.substring(i+3,t.indexOf(\".\",i)),10)}var a=t.indexOf(\"Edge/\");return a>0&&parseInt(t.substring(a+5,t.indexOf(\".\",a)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":default:t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a){t.attr({opacity:0}).animate(e,i).attr({opacity:1}).afterAll((function(){a()}))}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a,s=this.w,r=i.blur,o=i.top,n=i.left,l=i.color,h=i.opacity;if((null===(a=s.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===s.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;var c=t.flood(Array.isArray(l)?l[e]:l,h).composite(t.sourceAlpha,\"in\").offset(n,o).gaussianBlur(r).merge(t.source);return t.blend(t.source,c)}},{key:\"dropShadow\",value:function(t,e){var i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e.top,o=e.left,n=e.blur,l=e.color,h=e.opacity,c=e.noUserSpaceOnUse,d=this.w;if(t.unfilter(!0),x.isIE()&&\"radialBar\"===d.config.chart.type)return t;if((null===(i=d.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=d.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(s)))return t;return l=Array.isArray(l)?l[s]:l,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n):t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var o=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;\"Z\"==o[o.length-1][0]&&o[0].length>2&&(h=[\"L\",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&\"L\"==g[0]&&u.length>2&&\"L\"==u[0]){var p,f,x=r(d),b=r(g),v=r(u);p=i(b,x,e),f=i(b,v,e),s(g,p),g.origPoint=b,n.push(g);var m=a(p,b,.5),y=a(b,f,.5),w=[\"C\",m.x,m.y,y.x,y.y,f.x,f.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push([\"Z\"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":p,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n=\"a\");var l=[n,t,e,i,a,s,r,o].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?i=r:(i=o,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:T});if(z.attr(\"index\",s),x&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0){var u=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/o[e]};if(r.isMultipleYAxis){l=[];for(var p=0;p0&&e.forEach((function(e){var o=[],n=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(o.push(t.series[a]),n.push(i))})),o.length>0&&r.push(a.draw(o,i,n))})),r}}],[{key:\"checkComboSeries\",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e=\"line\"),t.length&&void 0!==t[0].type&&t.forEach((function(t){\"bar\"!==t.type&&\"column\"!==t.type&&\"candlestick\"!==t.type&&\"boxPlot\"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,o,n,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(o=r.annotations)&&void 0!==o&&o.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(n=e)&&void 0!==n&&null!==(l=n.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=!1,r=this.w;if(this.annoCtx.invertAxis){var o=r.globals.labels;r.config.xaxis.convertedCatToNumeric&&(o=r.globals.categoryLabels);var n=o.indexOf(a),l=r.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(n+1)+\")\");i=l?parseFloat(l.getAttribute(\"y\")):(r.globals.gridHeight/o.length-1)*(n+1)-r.globals.barHeight,void 0!==e.seriesIndex&&r.globals.barHeight&&(i=i-r.globals.barHeight/2*(r.globals.series.length-1)+r.globals.barHeight*e.seriesIndex)}else{var h,c=r.globals.seriesYAxisMap[e.yAxisIndex][0];if(r.config.yaxis[e.yAxisIndex].logarithmic)h=(a=new y(this.annoCtx.ctx).getLogVal(r.config.yaxis[e.yAxisIndex].logBase,a,c))/r.globals.yLogRatio[c];else h=(a-r.globals.minYArr[c])/(r.globals.yRange[c]/r.globals.gridHeight);h>r.globals.gridHeight?(h=r.globals.gridHeight,s=!0):h<0&&(h=0,s=!0),i=r.globals.gridHeight-h,!e.marker||void 0!==e.y&&null!==e.y||(i=0),r.config.yaxis[e.yAxisIndex]&&r.config.yaxis[e.yAxisIndex].reversed&&(i=h)}return\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),{yP:i,clipped:s}}},{key:\"getX1X2\",value:function(t,e){var i,a=\"x1\"===t?e.x:e.x2,s=this.w,r=this.annoCtx.invertAxis?s.globals.minY:s.globals.minX,o=this.annoCtx.invertAxis?s.globals.maxY:s.globals.maxX,n=this.annoCtx.invertAxis?s.globals.yRange[0]:s.globals.xRange,l=!1;return i=this.annoCtx.inversedReversedAxis?(o-a)/(n/s.globals.gridWidth):(a-r)/(n/s.globals.gridWidth),\"category\"!==s.config.xaxis.type&&!s.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||s.globals.dataFormatXNumeric||s.config.chart.sparkline.enabled||(i=this.getStringX(a)),\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),null==a&&e.marker&&(i=s.globals.gridWidth),void 0!==e.seriesIndex&&s.globals.barWidth&&!this.annoCtx.invertAxis&&(i=i-s.globals.barWidth/2*(s.globals.series.length-1)+s.globals.barWidth*e.seriesIndex),i>s.globals.gridWidth?(i=s.globals.gridWidth,l=!0):i<0&&(i=0,l=!0),{x:i,clipped:l}}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=r.x,n=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(x.isNumber(o)){if(null===t.x2||void 0===t.x2){if(!n){var d=this.annoCtx.graphics.drawLine(o+t.offsetX,0+t.offsetY,o+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var g=this.helpers.getX1X2(\"x2\",t);if(a=g.x,l=g.clipped,!n||!l){if(a12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])h/g,\"$1\"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(f))).replace(/(^|[^\\\\])m/g,\"$1\"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),S=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return r(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new A(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;if(x.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(x.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(x.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),C=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new S(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new A(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new A(this.ctx).formatDate,w:n})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),g=x===f,i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new m(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var y=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&y)&&(h=\"\"),{x:i,text:h,textRect:v,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.xa.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:\"isYAxisHidden\",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new y(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:\"getYAxisForeColor\",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:\"drawYAxisTicks\",value:function(t,e,i,a,s,r,o){var n=this.w,l=new m(this.ctx),h=n.globals.translateY+n.config.yaxis[s].labels.offsetY;if(n.globals.isBarHorizontal?h=0:\"heatmap\"===n.config.chart.type&&(h+=r/2),a.show&&e>0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);o.add(d),h+=r}}}}]),t}(),L=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx),this.axesUtils=new C(this.annoCtx)}return r(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,o=this.helpers.getY1Y2(\"y1\",t),n=o.yP,l=o.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var g=this.annoCtx.graphics.drawLine(0+t.offsetX,n+t.offsetY,this._getYAxisAnnotationWidth(t),n+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(g.node),t.id&&g.node.classList.add(t.id)}}else{if(a=(o=this.helpers.getY1Y2(\"y2\",t)).yP,h=o.clipped,a>n){var u=n;n=a,a=u}if(!l||!h){c=!0;var p=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),n-a,0,t.fillColor,t.opacity,1,t.borderColor,r);p.node.classList.add(\"apexcharts-annotation-rect\"),p.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(c){var f=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:f+t.label.offsetX,y:(null!=a?a:n)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),P=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addPointAnnotation\",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2(\"x1\",t),s=a.x,r=a.clipped,o=(a=this.helpers.getY1Y2(\"y1\",t)).yP,n=a.clipped;if(x.isNumber(s)&&!n&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,o+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:\"\",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:o+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var g=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});g.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(o+t.customSVG.offsetY,\")\")}),g.node.innerHTML=t.customSVG.SVG,e.appendChild(g.node)}if(t.image.path){var u=t.image.width?t.image.width:20,p=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-u/2,y:o+t.image.offsetY-p/2,width:u,height:p,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&h.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener(\"click\",t.click.bind(this,t))}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var M={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},I=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"\",locales:[M],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0}},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new L(this),this.pointsAnnotations=new P(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var I=P.bbox();if(s){var T=this.graphics.drawRect(I.x-m,I.y-C,I.width+m+w,I.height+A+C,p,d||\"transparent\",1,g,f,u);M.insertBefore(T.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-svg\":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new I,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\");e.globals.memory.methodsToExec.map((function(t,i){\"addText\"!==t.label&&\"addAnnotation\"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),z=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:\"\",u=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof p&&(g=p(g,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new S(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new A(a).formatDate,w:l}));\"function\"==typeof u&&(d=u(d,f)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x=\"\",b=\"\",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var m=new A(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},X=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'

'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[o].type||\"rangeBar\"===t.w.config.series[o].type?c:\"\".concat(h,\"\"):c)+\"
\"},E=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"slope\",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+\": \"+t:\"\"},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:\"top\",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:\"straight\"}}}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),e(e({},this.bar()),{},{chart:{animations:{easing:\"linear\",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:7,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=z(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=z(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=z(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:\"brush\",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return e(e({},t),{},{plotOptions:e(e({},t.plotOptions),{},{bar:e(e({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\"}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+o+\"
\"+(n?\"
\".concat(a[2],': ')+n+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),Y=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new I,r=new E(a);this.chartType=a.chart.type,a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&\"object\"===i(a)){var l,h,c,d,g,u,p,f,b,v,m={};m=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),null!==(l=a.plotOptions)&&void 0!==l&&null!==(h=l.bar)&&void 0!==h&&h.isFunnel&&(m=r.funnel()),a.chart.stacked&&\"bar\"===a.chart.type&&(m=r.stackedBars()),null!==(c=a.chart.brush)&&void 0!==c&&c.enabled&&(m=r.brush(m)),null!==(d=a.plotOptions)&&void 0!==d&&null!==(g=d.line)&&void 0!==g&&g.isSlopeChart&&(m=r.slope()),a.chart.stacked&&\"100%\"===a.chart.stackType&&(a=r.stacked100(a)),null!==(u=a.plotOptions)&&void 0!==u&&null!==(p=u.bar)&&void 0!==p&&p.isDumbbell&&(a=r.dumbbell(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),(null!==(f=(a=this.checkForCatToNumericXAxis(this.chartType,m,a)).chart.sparkline)&&void 0!==f&&f.enabled||null!==(b=window.Apex.chart)&&void 0!==b&&null!==(v=b.sparkline)&&void 0!==v&&v.enabled)&&(m=r.sparkline(m)),n=x.extend(o,m)}var y=x.extend(n,window.Apex);return o=x.extend(y,a),o=this.handleUserInputErrors(o)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new E(i),o=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new I;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new I;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new I;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new I;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),F=function(){function t(){a(this,t)}return r(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),R=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(){var t=new Y(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new F).init(t)}}}]),t}(),H=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color),o||(o=\"#fff\",console.warn(\"undefined color - ApexCharts\"));var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),\"gradient\"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=x.getOpacityFromRGBA(g));var p=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n=\"dark\"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var f=o.gradient.gradientToColors[l.seriesNumber];n=f,f.indexOf(\"rgba\")>-1&&(p=x.getOpacityFromRGBA(f))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf(\"rgb\")>-1&&(g=x.rgb2hex(g)),n.indexOf(\"rgb\")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,p,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),D=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){x.isNumber(l.y[g])?p+=\" w\".concat(x.randomId()):p=\"apexcharts-nullpoint\";var f=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(f.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(f.pointStrokeColor=o.config.series[n].data[u].strokeColor)),void 0!==a&&(f.pSize=a),(l.x[g]<-o.globals.markers.largestSize||l.x[g]>o.globals.gridWidth+o.globals.markers.largestSize||l.y[g]<-o.globals.markers.largestSize||l.y[g]>o.globals.gridHeight+o.globals.markers.largestSize)&&(f.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],f)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",f.pSize),new v(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,o=void 0===r?null:r,n=t.size,l=void 0===n?null:n,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,g=this.getMarkerStyle(i),u=null===l?d.globals.markers.size[i]:l,p=d.config.markers;return null!==s&&p.discrete.length&&p.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(g.pointStrokeColor=t.strokeColor,g.pointFillColor=t.fillColor,u=t.size,g.pointShape=t.shape)})),{pSize:null===o?u:o,pRadius:null!==o?o:p.radius,pointStrokeWidth:null!==c?c:Array.isArray(p.strokeWidth)?p.strokeWidth[i]:p.strokeWidth,pointStrokeColor:g.pointStrokeColor,pointFillColor:g.pointFillColor,shape:g.pointShape||(Array.isArray(p.shape)?p.shape[i]:p.shape),class:e,pointStrokeOpacity:Array.isArray(p.strokeOpacity)?p.strokeOpacity[i]:p.strokeOpacity,pointStrokeDashArray:Array.isArray(p.strokeDashArray)?p.strokeDashArray[i]:p.strokeDashArray,pointFillOpacity:Array.isArray(p.fillOpacity)?p.fillOpacity[i]:p.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),O=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return r(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cp.maxBubbleRadius&&(u=p.maxBubbleRadius)}var f=o.x[c],x=o.y[c];if(u=u||0,null!==x&&void 0!==a.globals.series[r][d]||(g=!1),g){var b=this.drawPoint(f,x,u,r,d,e);h.add(b)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r){var o=this.w,n=a,l=new b(this.ctx),h=new v(this.ctx),c=new H(this.ctx),d=new D(this.ctx),g=new m(this.ctx),u=d.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:n,dataPointIndex:s,radius:\"bubble\"===o.config.chart.type||o.globals.comboCharts&&o.config.series[a]&&\"bubble\"===o.config.series[a].type?i:null}),p=c.fillPath({seriesNumber:a,dataPointIndex:s,color:u.pointFillColor,patternUnits:\"objectBoundingBox\",value:o.globals.series[a][r]}),f=g.drawMarker(t,e,u);if(o.config.series[n].data[s]&&o.config.series[n].data[s].fillColor&&(p=o.config.series[n].data[s].fillColor),f.attr({fill:p}),o.config.chart.dropShadow.enabled){var x=o.config.chart.dropShadow;h.dropShadow(f,x,a)}if(!this.initialAnim||o.globals.dataChanged||o.globals.resized)o.globals.animationEnded=!0;else{var y=o.config.chart.animations.speed;l.animateMarker(f,y,o.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(f)}),100)}))}return f.attr({rel:s,j:s,index:a,\"default-marker-size\":u.pSize}),h.setSelectionFilter(f,a,s),d.addEvents(f),f.node.classList.add(\"apexcharts-marker\"),f}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),N=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"dataLabelsCorrection\",value:function(t,e,i,a,s,r,o){var n=this.w,l=!1,h=new m(this.ctx).getTextRects(i,o),c=h.width,d=h.height;e<0&&(e=0),e>n.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width||e>p.y+p.height||e+de.globals.gridWidth+b.textRects.width+30)&&(n=\"\");var y=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(y=e.globals.dataLabels.style.colors[o]),\"function\"==typeof y&&(y=y({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(y=g);var w=d.offsetX,k=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(w=0,k=0),e.globals.isSlopeChart&&(0!==o&&(w=-2*d.offsetX+5),0!==o&&o!==e.config.series[r].data.length-1&&(w=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+w,y:s+k,foreColor:y,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"})).attr({class:f||\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var A=d.dropShadow;new v(this.ctx).dropShadow(x,A)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}return x}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:\"#fff\",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"toggleSeriesOnHover\",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\");if(\"mousemove\"===t.type){var s=parseInt(e.getAttribute(\"rel\"),10)-1,r=null,o=null,n=null;if(i.globals.axisCharts||\"radialBar\"===i.config.chart.type)if(i.globals.axisCharts){r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(s,\"']\")),o=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(s,\"']\"));var l=i.globals.seriesYAxisReverseMap[s];n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(l,\"']\"))}else r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"']\"));else r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"'] path\"));for(var h=0;h=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else\"mouseout\"===t.type&&r(\"remove\")}},{key:\"getActiveConfigSeriesIndex\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new W(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new W(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new A(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push(\"series-\"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var n=[],l=u(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);n[i]||(n[i]=[]),n[i].push(s.seriesNames[e])})),s.seriesGroups=n;for(var h=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return x.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new E(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"fixSvgStringForIe11\",value:function(t){if(!x.isIE11())return t.replace(/ /g,\" \");var e=0,i=t.replace(/xmlns=\"http:\\/\\/www.w3.org\\/2000\\/svg\"/g,(function(t){return 2===++e?'xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:svgjs=\"http://svgjs.dev\"':t}));return i=(i=i.replace(/xmlns:NS\\d+=\"\"/g,\"\")).replace(/NS\\d+:(\\w+:\\w+=\")/g,\"$1\")}},{key:\"getSvgString\",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});return URL.createObjectURL(e)}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:\"#fff\",n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d=\"data:image/svg+xml,\"+encodeURIComponent(l),g=new Image;g.crossOrigin=\"anonymous\",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},g.src=d}}))}},{key:\"exportToSVG\",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,\".svg\")}},{key:\"exportToPng\",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h,c,d=[],g=[],p=\"\",f=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),b=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):\"datetime\"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():x.isNumber(t)?t:t.split(r).join(\"\")},v=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},m=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),y=new B(this.ctx),w=new C(this.ctx),k=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new W(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=w.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?\"nullvalue\":(Array.isArray(i)&&(i=i.join(\" \")),x.isNumber(i)?i:i.split(r).join(\"\"))},A=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(m)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/Math.min(y,v-1),b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2-2,e.gridWidth+a+n+o+4,e.gridHeight+a+4,0,\"#fff\");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d0&&\"datetime\"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||\"on\"!==i.config.xaxis.tickPlacement||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[o],a=Math.max((h.svgHeight-100)/15,2)),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,g=d?i.tickAmount:i.forceNiceScale?h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)]:10;if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(g=h.multiAxisTickAmount,d=!0),g=\"dataPoints\"===g?h.dataPoints-1:Math.abs(Math.round(g)),(t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=x.isNumber(i.min)?i.min:0,e=x.isNumber(i.max)?i.max:t+g,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var u=e;e=t,t=u}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];g<1&&(g=1);var f=g,b=Math.abs(e-t);if(i.forceNiceScale){!s&&t>0&&t/b<.15&&(t=0,s=!0),!r&&e<0&&-e/b<.15&&(e=0,r=!0),b=Math.abs(e-t)}var v=b/f,m=v,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(v=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(v=i.stepSize,c=!0):c&&(v=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(v));v*=Math.pow(10,y-A)}if(s&&r){var S=b/f;if(d)if(c)if(0!=x.mod(b,v)){var C=x.getGCD(v,S);v=S/C<10?C:S}else 0==x.mod(v,S)?v=S:(S=v,d=!1);else v=S;else if(c)0==x.mod(b,v)?S=v:v=S;else if(0==x.mod(b,v))S=v;else{S=b/(f=Math.ceil(b/v));var L=x.getGCD(b,v);b/La&&(t=e-v*g,t+=v*Math.floor((P-t)/v))}else if(s)if(d)e=t+v*f;else{var M=e;e=v*Math.ceil(e/v),Math.abs(e-t)/x.getGCD(b,v)>a&&(e=t+v*g,e+=v*Math.ceil((M-e)/v))}}else if(d){var I=v/(e-t>e?1:2),T=I*Math.floor(t/I);Math.abs(T-t)<=I/2?e=(t=T)+v*f:t=(e=I*Math.ceil(e/I))-v*f}else t=v*Math.floor(t/v),e=v*Math.ceil(e/v);b=Math.abs(e-t),v=x.getGCD(b,v),f=Math.round(b/v)}if(d||s||r||(f=Math.ceil((b-n)/(v+n)))>16&&x.getPrimeFactors(f).length<2&&f++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&f>b&&(f=b,v=Math.round(b/f)),f>a&&(!d&&!c||i.forceNiceScale)){var z=x.getPrimeFactors(f),X=z.length-1,E=f;t:for(var Y=0;YW);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),o=[];if(t===e)return{result:o=[t],niceMin:o[0],niceMax:o[o.length-1]};\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var n=t;i>=0;)o.push(n),n=x.preciseAddition(n,s),i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&x.isNumber(i)&&e!==Number.MAX_VALUE&&x.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);if(e!==-Number.MAX_VALUE&&x.isNumber(e)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(t,e,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,g=c,u=d;if(e.chart.stacked)!function(){var t=i.seriesX[a[0]],s=[],r=[],p=[];n.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),p.push(t.map((function(){return Number.MIN_VALUE})))}));for(var f=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:\"axis-\".concat(o),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,n.forEach((function(t,a){if(e.series[c].group===t)for(var o=0;o=0?r[a][o]+=n:p[a][o]+=n,s[a][o]+=n,g=Math.min(g,n),u=Math.max(u,n)}}))),\"bar\"!==l&&\"column\"!==l||i.barGroups.push(h)},x=0;x1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var g,u=null===(g=r.brushSource)||void 0===g?void 0:g.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=u&&u.enabled&&null!=u&&u.autoScaleYaxis)&&(d=!0)}for(var p=t;pb&&r.seriesX[p][v]>s.xaxis.max;v--);}for(var m=b;m<=v&&mh[p][m]&&h[p][m]<0&&(n=h[p][m])}else r.hasNullValues=!0}\"bar\"!==f&&\"column\"!==f||(n<0&&o<0&&(o=0,i=Math.max(i,0)),n===Number.MIN_VALUE&&(n=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):\"dataPoints\"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var o=0;o0?a[i][o]+=parseFloat(e.series[r][o])+1e-4:s[i][o]+=parseFloat(e.series[r][o]))}}))})),Object.entries(a).forEach((function(t){var i=g(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),q=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,\"bottom\"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new C(e)}return r(t,[{key:\"drawYaxis\",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\"+i.globals.translateYAxisX[t]+\", 0)\"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:\"apexcharts-yaxis-texts-g\"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.yLabelFormatters[t],u=i.globals.yAxisScale[t].result.slice();u=this.axesUtils.checkForReversedLabels(t,u);var p=\"\";if(i.config.yaxis[t].labels.show){var f=i.globals.translateY+i.config.yaxis[t].labels.offsetY;i.globals.isBarHorizontal?f=0:\"heatmap\"===i.config.chart.type&&(f-=d/2),f+=parseInt(i.config.yaxis[t].labels.style.fontSize,10)/3;for(var b=function(l){var b=u[l];b=g(b,l,i);var v=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(v*=-1);var m=\"end\";i.config.yaxis[t].opposite&&(m=\"start\"),\"left\"===i.config.yaxis[t].labels.align?m=\"start\":\"center\"===i.config.yaxis[t].labels.align?m=\"middle\":\"right\"===i.config.yaxis[t].labels.align&&(m=\"end\");var y=e.axesUtils.getYAxisForeColor(s.colors,t),w=x.listToArray(i.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-label tspan\"))).map((function(t){return t.textContent})),k=a.drawText({x:v,y:f,text:w.indexOf(b)>=0?\"\":b,textAnchor:m,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(y)?y[l]:y,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \"+s.cssClass});l===c&&(p=k),h.add(k);var A=document.createElementNS(i.globals.SVGNS,\"title\");if(A.textContent=Array.isArray(b)?b.join(\" \"):b,k.node.appendChild(A),0!==i.config.yaxis[t].labels.rotate){var S=a.rotateAroundCenter(p.node),C=a.rotateAroundCenter(k.node);k.node.setAttribute(\"transform\",\"rotate(\".concat(i.config.yaxis[t].labels.rotate,\" \").concat(S.x,\" \").concat(C.y,\")\"))}f+=d},v=c;v>=0;v--)b(v)}if(void 0!==i.config.yaxis[t].title.text){var y=a.group({class:\"apexcharts-yaxis-title\"}),w=0;i.config.yaxis[t].opposite&&(w=i.globals.translateYAxisX[t]);var k=a.drawText({x:w,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});y.add(k),l.add(y)}var A=i.config.yaxis[t].axisBorder,S=31+A.offsetX;if(i.config.yaxis[t].opposite&&(S=-31-A.offsetX),A.show){var C=a.drawLine(S,i.globals.translateY+A.offsetY-2,S,i.globals.gridHeight+i.globals.translateY+A.offsetY+2,A.color,0,A.width);l.add(C)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(S,c,A,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,\"title\");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=x.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=x.extend(M,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new V(this.ctx,e),l=new q(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(y=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Y({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=x.clone(i.globals.initialConfig);n.series=x.clone(i.config.series);var l=y.extendArrayProps(r,n,i);t=x.extend(l,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h0&&\"function\"==typeof i.config.colors[0]&&(i.globals.colors=i.config.series.map((function(t,a){var s=i.config.colors[a];return s||(s=i.config.colors[0]),\"function\"==typeof s?(e.isColorFn=!0,s({value:i.globals.axisCharts?i.globals.series[a][0]?i.globals.series[a][0]:0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:i})):s})))),i.globals.seriesColors.map((function(t,e){t&&(i.globals.colors[e]=t)})),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var o=i.config.theme.monochrome.color,n=1/(r/i.config.theme.monochrome.shadeIntensity),l=i.config.theme.monochrome.shadeTo,h=0,c=0;c2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getDatalabelsRect\",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,o){var n;n=e.globals.series[r][o],a=e.config.dataLabels.formatter(n,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:o,w:e}),i.push(a)}))}));var a=x.getLargestStringFromArr(i),s=new m(this.dCtx.ctx),r=e.config.dataLabels.style,o=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*o.width,height:o.height}}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new S(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new A(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new A(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,n)))||void 0===a?void 0:a.length)?t:e}),d),u=g=c(g,n);if(void 0!==g&&0!==g.length||(g=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=x.getLargestStringFromArr(p),g=c(g,{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(h>y.width||h>v.width?h:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new C(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},r=i.chart.type,o=0,n=s(r)?i.series.length:1;a.comboBarCount>0&&(n=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(n-=1)})),i.chart.stacked&&(n=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&n>0&&0!==h){var c,d;h<=3&&(h=a.dataPoints),c=h/t,a.minXDiff&&a.minXDiff/c>0&&(d=a.minXDiff/c),d>t/2&&(d/=2),(o=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(o=1),a.barPadForNumericAxis=o}return o}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new C(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,u(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case\"right\":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight-i.grid.padding.top-i.grid.padding.bottom;var n=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(n,e.gridHeight)-i.grid.padding.left-i.grid.padding.right,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n margin-right: 1px;\\n }\\n\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\");return a.appendChild(r),a}},{key:\"getLegendDimensions\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\"),e=t.offsetWidth;return{clwh:t.offsetHeight,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"hideSeries\",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=a.globals,r=x.clone(a.config.series);if(s.axisCharts){var o=a.config.yaxis[s.seriesYAxisReverseMap[i]];if(o&&o.show&&o.showAlways)s.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(s.ancillaryCollapsedSeries.push({index:i,data:r[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),s.ancillaryCollapsedSeriesIndices.push(i));else if(s.collapsedSeriesIndices.indexOf(i)<0){s.collapsedSeries.push({index:i,data:r[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),s.collapsedSeriesIndices.push(i);var n=s.risingSeries.indexOf(i);s.risingSeries.splice(n,1)}}else s.collapsedSeries.push({index:i,data:r[i]}),s.collapsedSeriesIndices.push(i);for(var l=e.childNodes,h=0;h0){for(var r=0;r1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName(\"head\")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"createLegendMarker\",value:function(t){var i=t.i,a=t.fillcolor,s=this.w,r=document.createElement(\"span\");r.classList.add(\"apexcharts-legend-marker\");var o=s.config.legend.markers.shape||s.config.markers.shape,n=o;Array.isArray(o)&&(n=o[i]);var l=Array.isArray(s.config.legend.markers.size)?parseFloat(s.config.legend.markers.size[i]):parseFloat(s.config.legend.markers.size),h=Array.isArray(s.config.legend.markers.offsetX)?parseFloat(s.config.legend.markers.offsetX[i]):parseFloat(s.config.legend.markers.offsetX),c=Array.isArray(s.config.legend.markers.offsetY)?parseFloat(s.config.legend.markers.offsetY[i]):parseFloat(s.config.legend.markers.offsetY),d=Array.isArray(s.config.legend.markers.strokeWidth)?parseFloat(s.config.legend.markers.strokeWidth[i]):parseFloat(s.config.legend.markers.strokeWidth),g=r.style;if(g.height=2*(l+d)+\"px\",g.width=2*(l+d)+\"px\",g.left=h+\"px\",g.top=c+\"px\",s.config.legend.markers.customHTML)g.background=\"transparent\",g.color=a[i],Array.isArray(s.config.legend.markers.customHTML)?s.config.legend.markers.customHTML[i]&&(r.innerHTML=s.config.legend.markers.customHTML[i]()):r.innerHTML=s.config.legend.markers.customHTML();else{var u=new D(this.ctx).getMarkerConfig({cssClass:\"apexcharts-legend-marker apexcharts-marker apexcharts-marker-\".concat(n),seriesIndex:i,strokeWidth:d,size:l}),p=SVG(r).size(\"100%\",\"100%\"),f=new m(this.ctx).drawMarker(0,0,e(e({},u),{},{pointFillColor:Array.isArray(a)?a[i]:u.pointFillColor,shape:n}));SVG.select(\".apexcharts-legend-marker.apexcharts-marker\").members.forEach((function(t){t.node.classList.contains(\"apexcharts-marker-triangle\")?t.node.style.transform=\"translate(50%, 45%)\":t.node.style.transform=\"translate(50%, 50%)\"})),p.add(f)}return r}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.config.legend.markers.fillColors?e.config.legend.markers.fillColors.slice():e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h,c=o(a[l],{seriesIndex:l,w:e}),d=!1,g=!1;if(e.globals.collapsedSeries.length>0)for(var u=0;u0)for(var p=0;p0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendDimensions(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new W(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new W(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,o,n,l=i.gridRect.getBoundingClientRect(),h=r.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(h.left-l.left)*s.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(h.right-l.left)*s.invertedYRatio,o=0,n=1):(t=a.globals.xAxisScale.niceMin+(h.left-l.left)*s.xRatio,e=a.globals.xAxisScale.niceMin+(h.right-l.left)*s.xRatio,o=a.globals.yAxisScale[0].niceMin+(l.bottom-h.bottom)*s.yRatio[0],n=a.globals.yAxisScale[0].niceMax-(h.top-l.top)*s.yRatio[0]);var c={xaxis:{min:t,max:e},yaxis:{min:o,max:n}};a.config.chart.events.selection(i.ctx,c),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,c)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(p={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),o){var f=o.getBeforeZoomRange(p,u);f&&(p=f.xaxis?f.xaxis:p,u=f.yaxis?f.yaxis:u)}var b={xaxis:p};a.config.chart.group||(b.yaxis=u),s.ctx.updateHelpers._updateOptions(b,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var v,m=null;v={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(m=x.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=g[e],m[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:v,yaxis:m})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(ht),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return x.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,n=i)}))})),-1!==n){var c=a[r][n],d=Math.abs(e-c);o=r,a.forEach((function(t,i){var a=Math.abs(e-t[n]);a<=d&&(d=a,o=i)}))}return{index:o,j:n}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=u(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getPathFromPoint\",value:function(t,e){var i=Number(t.getAttribute(\"cx\")),a=Number(t.getAttribute(\"cy\")),s=t.getAttribute(\"shape\");return new m(this.ctx).getMarkerPath(i,a,s,e)}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==p&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==p?p:\"\");if(o&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?f[0].parentNode.style.display=\"none\":f[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(f[0].parentNode.style.display=\"none\")}},{key:\"toggleActiveInactiveSeries\",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var a=i.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group-\".concat(e));a&&(a.classList.add(\"apexcharts-active\"),a.style.display=i.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new S(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new A(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0){var u=g.getAttribute(\"shape\"),p=l.getMarkerPath(s,r,u,1.5*c);g.setAttribute(\"d\",p)}this.moveXCrosshairs(s),n.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray,n=new W(this.ctx),l=new m(this.ctx);e=n.getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var h=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var c=i.tooltipUtil.getAllMarkers();if(null!==c)for(var d=0;d0){var b=l.getMarkerPath(s,u,f,h);c[d].setAttribute(\"d\",b)}else c[d].setAttribute(\"d\",\"\")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new W(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));o||\"number\"!=typeof e||(o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var n=o?parseFloat(o.getAttribute(\"cx\")):0,l=o?parseFloat(o.getAttribute(\"cy\")):0,h=o?parseFloat(o.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains(\"apexcharts-candlestick-area\")||o.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new m(this.ctx),i=new D(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute(\"d\",a)}else t[e].setAttribute(\"d\",\"M0,0\")}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w;var i=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&\"rangeBar\"===i.config.chart.type&&i.config.plotOptions.bar.rangeBarGroupRows}return r(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=x.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i,d.barHeight;var g=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var u=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10);if(r.globals.isMultipleYAxis?r.config.yaxis[u]&&r.config.yaxis[u].reversed:r.config.yaxis[0].reversed,h+o.tooltipRect.ttWidth>r.globals.gridWidth?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var p=o.getElGrid().getBoundingClientRect();c=o.e.clientY-p.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,o=this.ttCtx,n=0,l=0,h=0,c=0,d=0,g=i.target.classList;if(g.contains(\"apexcharts-bar-area\")||g.contains(\"apexcharts-candlestick-area\")||g.contains(\"apexcharts-boxPlot-area\")||g.contains(\"apexcharts-rangebar-area\")){var u=i.target,p=u.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,v=parseInt(u.getAttribute(\"cx\"),10),m=parseInt(u.getAttribute(\"cy\"),10);c=parseFloat(u.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(u.getAttribute(\"j\"),10),n=parseInt(u.parentNode.getAttribute(\"rel\"),10)-1;var w=u.getAttribute(\"data-range-y1\"),k=u.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?v-b/2:e.isVerticalGroupedRangeBar?v+b/2:v-o.dataPointsDividedWidth+b/2},S=function(){return m-o.dataPointsDividedHeight+x/2-o.tooltipRect.ttHeight/2};o.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:n,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!o.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=S()):(l=A(),h=i.clientY-f.top-o.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=v)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,o=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&o.length>0){var n=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=o[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],g=r.maxYArr[h]-r.minYArr[h],u=r.minYArr[h]+(g-d);s.config.yaxis[t].reversed&&(u=r.maxYArr[h]-(g-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=n(u),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new pt(this),this.intersect=new ft(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\",\"apexcharts-tooltip-series-group-\".concat(r)),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new W(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=i;\"mouseup\"===t.type&&this.markerClick(t,a,s),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(a),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var M=S.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T0?C.marker.enlargePoints(s):C.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new m(this.ctx),H=S.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(s,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,a);for(var D=0;D0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=h*A)),k){g=g+d.height/2-b/2-2}var C=e.globals.series[i][a]<0,L=n;switch(this.barCtx.isReversed&&(L=n+(C?c:-c)),f.position){case\"center\":u=k?C?L-c/2+y:L+c/2-y:C?L-c/2+d.height/2+y:L+c/2+d.height/2-y;break;case\"bottom\":u=k?C?L-c+y:L+c-y:C?L-c+d.height+b+y:L+c-d.height/2+b-y;break;case\"top\":u=k?C?L+y:L-y:C?L-d.height/2-y:L+d.height+y}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var P=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),p.fontSize);r=C?L-P.height/2-y-x.offsetY+18:L+P.height+y+x.offsetY-18;var M=S;o=w+(e.globals.isXNumeric?-h*e.globals.barGroups.length/2:e.globals.barGroups.length*h/2-(e.globals.barGroups.length-1)*h-M)+x.offsetX}return e.config.chart.stacked||(u<0?u=0+b:u+d.height/3>e.globals.gridHeight&&(u=e.globals.gridHeight-b)),{bcx:l,bcy:n,dataLabelsX:g,dataLabelsY:u,totalDataLabelsX:o,totalDataLabelsY:r,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex;t.columnGroupIndex;var o=t.bcy,n=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,g=t.dataLabelsConfig,u=t.barDataLabelsConfig,p=t.barTotalDataLabelsConfig,f=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var v,y,w=o-(this.barCtx.isRangeBar?0:b)+n/2+h.height/2+x-3,k=\"start\",A=e.globals.series[a][s]<0,S=i;switch(this.barCtx.isReversed&&(S=i+(A?-l:l),k=A?\"start\":\"end\"),u.position){case\"center\":c=A?S+l/2-f:Math.max(h.width/2,S-l/2)+f;break;case\"bottom\":c=A?S+l-d-Math.round(h.width/2)-f:S-l+d+Math.round(h.width/2)+f;break;case\"top\":c=A?S-d+Math.round(h.width/2)-f:S-d-Math.round(h.width/2)+f}if(this.barCtx.lastActiveBarSerieIndex===r&&p.enabled){var C=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),g.fontSize);A?(v=S-d-f-p.offsetX,k=\"end\"):v=S+f+p.offsetX+(this.barCtx.isReversed?-(l+d):d),y=w-h.height/2+C.height/2+p.offsetY+d}return e.config.chart.stacked||(c<0?c=c+h.width+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d)),{bcx:i,bcy:o,dataLabelsX:c,dataLabelsY:w,totalDataLabelsX:v,totalDataLabelsY:y,totalDataLabelsAnchor:k}}},{key:\"drawCalculatedDataLabels\",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g=\"rotate(0)\";\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(i,\", \").concat(a,\")\"));var u=new N(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:\"apexcharts-data-labels\",transform:g});var v=\"\";void 0!==s&&(v=f(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d}))),!s&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v=\"\");var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===w&&(c.textAnchor=y?\"end\":\"start\"),\"center\"===w&&(c.textAnchor=\"middle\"),\"bottom\"===w&&(c.textAnchor=y?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=\"\"):n.height/1.6>Math.abs(l)&&(v=\"\"));var k=e({},c);this.barCtx.isHorizontal&&s<0&&(\"start\"===c.textAnchor?k.textAnchor=\"end\":\"end\"===c.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val;t.barWidth,t.barHeight;var s=t.realIndex,r=t.textAnchor,o=t.barTotalDataLabelsConfig;this.w;var n,l=new m(this.barCtx.ctx);return o.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(n=l.drawText({x:e,y:i,foreColor:o.style.color,text:a,textAnchor:r,fontFamily:o.style.fontFamily,fontSize:o.style.fontSize,fontWeight:o.style.fontWeight})),n}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"initializeStackedPrevVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:\"initializeStackedXYVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,o,n,l,h=this.w,c=new H(this.barCtx.ctx),d=null,g=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(d=a.color)}));return null!==(s=h.config.series[e].data[i])&&void 0!==s&&s.fillColor&&(d=h.config.series[e].data[i].fillColor),c.fillPath({seriesNumber:this.barCtx.barOptions.distributed?g:a,dataPointIndex:i,color:d,value:t[e][i],fillConfig:null===(r=h.config.series[e].data[i])||void 0===r?void 0:r.fill,fillType:null!==(o=h.config.series[e].data[i])&&void 0!==o&&null!==(n=o.fill)&&void 0!==n&&n.type?null===(l=h.config.series[e].data[i])||void 0===l?void 0:l.fill.type:Array.isArray(h.config.fill.type)?h.config.fill.type[a]:h.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"shouldApplyRadius\",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&\"last\"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new W(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var f=o/2,x=p+f,b=p+u-f;s+=.001-f,r+=.001+f;var v=g.move(x,s),y=g.move(x,s),w=g.line(b,s);if(d.globals.previousPaths.length>0&&(y=this.barCtx.getPreviousPath(l,c,!1)),v=v+g.line(x,r)+g.line(b,r)+g.line(b,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),y=y+g.line(x,s)+w+w+w+w+w+g.line(x,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).yArrj.push(r-f),k.yArrjF.push(Math.abs(s-r+o)),k.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:y}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,p=a+d.config.series[l].data[c].barHeightOffset);var f=o/2,x=u+f,b=u+p-f;s+=.001-f,r+=.001+f;var v=g.move(s,x),y=g.move(s,x);d.globals.previousPaths.length>0&&(y=this.barCtx.getPreviousPath(l,c,!1));var w=g.line(s,b);if(v=v+g.line(r,x)+g.line(r,b)+w+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),y=y+g.line(s,x)+w+w+w+w+w+g.line(s,x)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).xArrj.push(r+f),k.xArrjF.push(Math.abs(s-r)),k.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:y}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:\"getGoalValues\",value:function(t,i,a,s,r,n){var l=this,h=this.w,c=[],d=function(e,s){var r;c.push((o(r={},t,\"x\"===t?l.getXForValue(e,i,!1):l.getYForValue(e,a,n,!1)),o(r,\"attrs\",s),r))};if(h.globals.seriesGoals[s]&&h.globals.seriesGoals[s][r]&&Array.isArray(h.globals.seriesGoals[s][r])&&h.globals.seriesGoals[s][r].forEach((function(t){d(t.value,t)})),this.barCtx.barOptions.isDumbbell&&h.globals.seriesRange.length){var g=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:h.globals.colors,u={strokeHeight:\"x\"===t?0:h.globals.markers.size[s],strokeWidth:\"x\"===t?h.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(g[s])?g[s][0]:g[s]};d(h.globals.seriesRangeStart[s][r],u),d(h.globals.seriesRangeEnd[s][r],e(e({},u),{},{strokeColor:Array.isArray(g[s])?g[s][1]:g[s]}))}return c}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=n.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=n.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,o=e.x1,n=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=n+i.barHeight,g=new m(this.barCtx.ctx),u=new x,p=g.move(o,d)+g.line(r,d)+g.line(l,c)+g.line(h,c)+g.line(o,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\");return g.drawPath({d:p,fill:u.shadeColor(.5,x.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadows\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,o=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new W(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]),this.columnGroupIndices=[];var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var A=0,S=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[v],this.translationsIndex=v);var C=this.translationsIndex;this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var L=this.barHelpers.initialPositions();p=L.y,A=L.barHeight,c=L.yDivision,g=L.zeroW,u=L.x,S=L.barWidth,h=L.xDivision,d=L.zeroH,this.horizontal||b.push(u+S/2);var P=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v});a.globals.delayedElements.push({el:P.node}),P.node.classList.add(\"apexcharts-element-hidden\");var M=s.group({class:\"apexcharts-bar-goals-markers\"}),I=s.group({class:\"apexcharts-bar-shadows\"});a.globals.delayedElements.push({el:I.node}),I.node.classList.add(\"apexcharts-element-hidden\");for(var T=0;T0){var F=this.barHelpers.drawBarShadow({color:\"string\"==typeof Y&&-1===(null==Y?void 0:Y.indexOf(\"url\"))?Y:x.hexToRgba(a.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:X});F&&I.add(F)}this.pathArr.push(X);var R=this.barHelpers.drawGoalLine({barXPosition:X.barXPosition,barYPosition:X.barYPosition,goalX:X.goalX,goalY:X.goalY,barHeight:A,barWidth:S});R&&M.add(R),p=X.y,u=X.x,T>0&&b.push(u+S/2),f.push(p),this.renderSeries({realIndex:v,pathFill:Y,j:T,i:n,columnGroupIndex:w,pathFrom:X.pathFrom,pathTo:X.pathTo,strokeWidth:z,elSeries:k,x:u,y:p,series:t,barHeight:Math.abs(X.barHeight?X.barHeight:A),barWidth:Math.abs(X.barWidth?X.barWidth:S),elDataLabelsWrap:P,elGoalsMarkers:M,elBarShadows:I,visibleSeries:this.visibleI,type:\"bar\"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(k)}return o}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.columnGroupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,y=t.barXPosition,w=t.barYPosition,k=t.elDataLabelsWrap,A=t.elGoalsMarkers,S=t.elBarShadows,C=t.visibleSeries,L=t.type,P=this.w,M=new m(this.ctx);if(!a){var I=\"function\"==typeof P.globals.stroke.colors[e]?function(t){var e,i=P.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=\"\"),\"function\"==typeof e)?e({value:P.globals.series[t][s],dataPointIndex:s,w:P}):e}(e):P.globals.stroke.colors[e];a=this.barOptions.distributed?P.globals.stroke.colors[s]:I}P.config.series[r].data[s]&&P.config.series[r].data[s].strokeColor&&(a=P.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var T=s/P.config.chart.animations.animateGradually.delay*(P.config.chart.animations.speed/P.globals.dataPoints)/2.4,z=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:P.config.stroke.lineCap,fill:i,animationDelay:T,initialSpeed:P.config.chart.animations.speed,dataChangeSpeed:P.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(L,\"-area\")});z.attr(\"clip-path\",\"url(#gridRectMask\".concat(P.globals.cuid,\")\"));var X=P.config.forecastDataPoints;X.count>0&&s>=P.globals.dataPoints-X.count&&(z.node.setAttribute(\"stroke-dasharray\",X.dashArray),z.node.setAttribute(\"stroke-width\",X.strokeWidth),z.node.setAttribute(\"fill-opacity\",X.fillOpacity)),void 0!==u&&void 0!==p&&(z.attr(\"data-range-y1\",u),z.attr(\"data-range-y2\",p)),new v(this.ctx).setSelectionFilter(z,e,s),c.add(z);var E=new vt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,columnGroupIndex:o,barHeight:x,barWidth:b,barXPosition:y,barYPosition:w,renderedPath:z,visibleSeries:C});return null!==E.dataLabels&&k.add(E.dataLabels),E.totalDataLabels&&k.add(E.totalDataLabels),c.add(k),A&&c.add(A),S&&c.add(S),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*p}else e=n+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][g],r)-r)/2),o=this.barHelpers.getXForValue(this.series[d][g],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x1:r,x:o,y:n,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,g),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.translationsIndex,u=i.i,p=i.j,f=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:p,realIndex:d,barWidth:o});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:u,j:p}),v=b.nonZeroColumns,m=b.zeroEncounters;v>0&&(o=this.seriesLen*o/v),e=a+o*this.visibleI,e-=o*m}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[u][p],n,g);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:d,i:u,j:p,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:f,j:p,i:u,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,n,u,p,g),barXPosition:e,barWidth:o}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,o=a;return r.globals.seriesX[a].length||(o=r.globals.maxValsInArrayIndex),r.globals.seriesX[o][s]&&(e=(r.globals.seriesX[o][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===s.config.chart.stackType&&(t=s.globals.comboCharts?i.map((function(t){return s.globals.seriesPercent[t]})):s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),n=0,l=0,h=function(r,h){var c=void 0,d=void 0,g=void 0,u=void 0,p=s.globals.comboCharts?i[r]:r,f=a.barHelpers.getGroupIndex(p),b=f.groupIndex,v=f.columnGroupIndex;a.groupCtx=a[s.globals.seriesGroups[b]];var m=[],y=[],w=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[p][0],w=p),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var k=a.graphics.group({class:\"apexcharts-series\",seriesName:x.escapeString(s.globals.seriesNames[p]),rel:r+1,\"data:realIndex\":p});a.ctx.series.addCollapsedClassToSeries(k,p);var A=a.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":p}),S=a.graphics.group({class:\"apexcharts-bar-goals-markers\"}),C=0,L=0,P=a.initialPositions(n,l,c,d,g,u,w);l=P.y,C=P.barHeight,d=P.yDivision,u=P.zeroW,n=P.x,L=P.barWidth,c=P.xDivision,g=P.zeroH,s.globals.barHeight=C,s.globals.barWidth=L,a.barHelpers.initializeStackedXYVars(a),1===a.groupCtx.prevY.length&&a.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map((function(){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(){return 0})));for(var M=0;M1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf(\"%\")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=h.globals.gridHeight-this.baseLineY[o]-(this.isReversed?h.globals.gridHeight:0),t=h.globals.padHorizontal+(i-l)/2}var g=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:n/g,barWidth:l/g,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+l*a,p=i.i,f=i.j,x=i.realIndex,b=i.translationsIndex,v=0,m=0;m0){var w=r;this.groupCtx.prevXVal[y-1][f]<0?w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]+v-2*(this.isReversed?v:0):this.groupCtx.prevX[y-1][f]:this.groupCtx.prevXVal[y-1][f]>=0&&(w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]:this.groupCtx.prevX[y-1][f]-v+2*(this.isReversed?v:0)),e=w}else e=r;o=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:g});return this.barHelpers.barBackground({j:f,i:p,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,p,f,b),barXPosition:e,barYPosition:u,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc,p=e.realIndex,f=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[p][g];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,v=i+n*r,m=0,y=0;y0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[p-1][g]===c.globals.seriesX[p][g]){var k,A,S,C=Math.min(this.yRatio.length+1,p+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L=0?S-m+2*(this.isReversed?m:0):S;break}if((null===(T=this.groupCtx.prevYVal[w-M])||void 0===T?void 0:T[g])>=0){A=this.series[d][g]>=0?S:S+m-2*(this.isReversed?m:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:A}else b=o;a=this.series[d][g]?b-this.series[d][g]/this.yRatio[f]+2*(this.isReversed?this.series[d][g]/this.yRatio[f]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:v,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[f],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:v,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:v,x:c.globals.isXNumeric?i:i+s,y:a}}}]),s}(yt),kt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i,a){var s=this,r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=new H(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal;var h=new y(this.ctx,r);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var c=o.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),d=function(i){s.isBoxPlot=\"boxPlot\"===r.config.chart.type||\"boxPlot\"===r.config.series[i].type;var n,h,d,g,u=void 0,p=void 0,f=[],b=[],v=r.globals.comboCharts?a[i]:i,m=s.barHelpers.getGroupIndex(v).columnGroupIndex,y=o.group({class:\"apexcharts-series\",seriesName:x.escapeString(r.globals.seriesNames[v]),rel:i+1,\"data:realIndex\":v});s.ctx.series.addCollapsedClassToSeries(y,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var w,k,A=0;s.yRatio.length>1&&(s.yaxisIndex=r.globals.seriesYAxisReverseMap[v][0],A=v);var S=s.barHelpers.initialPositions();p=S.y,w=S.barHeight,h=S.yDivision,g=S.zeroW,u=S.x,k=S.barWidth,n=S.xDivision,d=S.zeroH,b.push(u+k/2);for(var C=o.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),L=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,x={indexes:{i:i,j:a,realIndex:v,translationsIndex:A},x:u,y:p,strokeWidth:o,elSeries:y};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:h,barHeight:w,zeroW:g})):s.drawVerticalBoxPaths(e(e({},x),{},{xDivision:n,barWidth:k,zeroH:d})),p=c.y,u=c.x,a>0&&b.push(u+k/2),f.push(p),c.pathTo.forEach((function(e,n){var h=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?c.color[n]:r.globals.stroke.colors[i],d=l.fillPath({seriesNumber:v,dataPointIndex:a,color:c.color[n],value:t[i][a]});s.renderSeries({realIndex:v,pathFill:d,lineFill:h,j:a,i:i,pathFrom:c.pathFrom,pathTo:e,strokeWidth:o,elSeries:y,x:u,y:p,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:C,visibleSeries:s.visibleI,type:r.config.chart.type})}))},P=0;Pb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+\"z\"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+\"z\"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(yt),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l=\"dark\"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new N(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new m(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:\"draw\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),g=i.centerY+r*Math.sin(l),u=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=x.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),b=x.polarToCartesian(i.centerX,i.centerY,i.donutSize,n),v=s>180?1:0,y=[\"M\",d,g,\"A\",r,r,0,v,1,u,p];return e=\"donut\"===i.chartType?[].concat(y,[\"L\",f.x,f.y,\"A\",i.donutSize,i.donutSize,0,v,0,b.x,b.y,\"L\",d,g,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(y,[\"L\",i.centerX,i.centerY,\"L\",d,g]).join(\" \"):[].concat(y).join(\" \"),o.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new m(this.ctx),a=new H(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;if(this.radialDataLabels.show){var p=e.globals.dom.Paper.select(\".apexcharts-datalabels-group\").members[0];u=this.renderInnerDataLabels(p,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})}\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var b=f?t.series.length-1:0;f?b>=0:b100?100:t.series[b])/100,C=Math.round(this.totalAngle*S)+this.startAngle,L=void 0;e.globals.dataChanged&&(A=this.startAngle,L=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[b])/100)+A),Math.abs(C)+Math.abs(k)>=360&&(C-=.01),Math.abs(L)+Math.abs(A)>=360&&(L-=.01);var P=C-k,M=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[b]:e.config.stroke.dashArray,I=i.drawPath({d:\"\",stroke:w,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+b,strokeDashArray:M});if(m.setAttrs(I.node,{\"data:angle\":P,\"data:value\":t.series[b]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,b)}if(s.setSelectionFilter(I,0,b),this.addListeners(I,this.radialDataLabels),y.add(I),I.attr({index:0,j:b}),this.barLabels.enabled){var z=x.polarToCartesian(t.centerX,t.centerY,t.size,k),X=this.barLabels.formatter(e.globals.seriesNames[b],{seriesIndex:b,w:e}),E=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||E.push(\"apexcharts-no-click\");var Y=this.barLabels.useSeriesColors?e.globals.colors[b]:e.config.chart.foreColor;Y||(Y=e.config.chart.foreColor);var F=z.x+this.barLabels.offsetX,R=z.y+this.barLabels.offsetY,D=i.drawText({x:F,y:R,text:X,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:Y,cssClass:E.join(\" \")});D.on(\"click\",this.onBarLabelClick),D.attr({rel:b+1}),0!==k&&D.attr({\"transform-origin\":\"\".concat(F,\" \").concat(R),transform:\"rotate(\".concat(k,\" 0 0)\")}),y.add(D)}var O=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(O=e.config.chart.animations.speed),e.globals.dataChanged&&(O=e.config.chart.animations.dynamicAnimation.speed),this.animDur=O/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:C,startAngle:k,prevEndAngle:L,prevStartAngle:A,size:t.size,i:b,totalItems:2,animBeginArr:this.animBeginArr,dur:O,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new H(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),i}(Lt),It=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),o=0;o0&&(this.visibleI=this.visibleI+1);var b=0,v=0,y=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[u][0],y=u);var w=this.barHelpers.initialPositions();g=w.y,c=w.zeroW,d=w.x,v=w.barWidth,b=w.barHeight,n=w.xDivision,l=w.yDivision,h=w.zeroH;for(var k=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),A=s.group({class:\"apexcharts-rangebar-goals-markers\"}),S=0;S0}));return this.isHorizontal?(a=g.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+n*this.visibleI+h*b,v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(a=(n=d.barHeight/u.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+n*(this.visibleI+u.indexOf(p))+h*b)):(b>-1&&!g.globals.timescaleLabels.length&&(s=g.config.plotOptions.bar.rangeBarGroupRows?o+c*b:o+l*this.visibleI+c*b),v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/u.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+u.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:n,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,o=t.zeroH,n=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,g=this.yRatio[d],u=this.getRangeValue(c,h),p=Math.min(u.start,u.end),f=Math.max(u.start,u.end);void 0===this.series[l][h]||null===this.series[l][h]?p=o:(p=o-p/g,f=o-f/g);var x=Math.abs(f-p),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:p,y2:f,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:n});if(n.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=v.x,r=v.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:u.start<0&&u.end<0?p:f,goalY:this.barHelpers.getGoalValues(\"y\",null,o,l,h,d),barXPosition:r}}},{key:\"preventBarOverflow\",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,g=this.preventBarOverflow(l+a/this.invertedYRatio),u=this.preventBarOverflow(l+s/this.invertedYRatio),p=this.getRangeValue(c,d),f=Math.abs(u-g),x=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:g,x2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:f,x:p.start<0&&p.end<0?g:u,goalX:this.barHelpers.getGoalValues(\"x\",l,null,c,d),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(yt),Tt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a,s=t.i,r=t.realIndex,o=t.series,n=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=o[s])||void 0===a?void 0:a[0]))n=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-o[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?o[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===o[s][0])for(var g=s-1;g>=0;g--)if(null!==o[g][0]&&void 0!==o[g][0]){n=l=this.lineCtx.prevSeriesY[g][0];break}return{prevY:n,lineYPosition:l}}}]),t}(),zt=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Yt(i,a),r=1,o=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=o;h++)s=(t[Math.min(o,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([s||0,r[h]*s||0]);return n},Xt=function(t){var e=zt(t),i=t[1],a=t[0],s=[],r=e[1],o=e[0];s.push(a,[a[0]+o[0],a[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var n=2,l=e.length;n1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Yt(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ft=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new O(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Tt(this),this.markers=new D(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:\"draw\",value:function(t,i,a,s){var r,o=this.w,n=new m(this.ctx),l=o.globals.comboCharts?i:o.config.chart.type,h=n.group({class:\"apexcharts-\".concat(l,\"-series apexcharts-plot-series\")}),c=new y(this.ctx,o);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=c.getLogSeries(t),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var d=[],g=0;g1?u:0;this._initSerieVariables(t,g,u);var f=[],x=[],b=[],v=o.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,u),o.globals.isXNumeric&&o.globals.seriesX.length>0&&(v=(o.globals.seriesX[u][0]-o.globals.minX)/this.xRatio),b.push(v);var w,k=v,A=void 0,S=k,C=this.zeroY,L=this.zeroY;C=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:t,prevY:C,lineYPosition:0,translationsIndex:p}).prevY,\"monotoneCubic\"===o.config.stroke.curve&&null===t[g][0]?f.push(null):f.push(C),w=C;\"rangeArea\"===l&&(A=L=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:s,prevY:L,lineYPosition:0,translationsIndex:p}).prevY,x.push(null!==f[0]?L:null));var P=this._calculatePathsFrom({type:l,series:t,i:g,realIndex:u,translationsIndex:p,prevX:S,prevY:C,prevY2:L}),M=[f[0]],I=[x[0]],T={type:l,series:t,realIndex:u,translationsIndex:p,i:g,x:v,y:1,pX:k,pY:w,pathsFrom:P,linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:b,yArrj:f,y2Arrj:x,seriesRangeEnd:s},z=this._iterateOverDataPoints(e(e({},T),{},{iterations:\"rangeArea\"===l?t[g].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===l){for(var X=this._calculatePathsFrom({series:s,i:g,realIndex:u,prevX:S,prevY:L}),E=this._iterateOverDataPoints(e(e({},T),{},{series:s,xArrj:[v],yArrj:M,y2Arrj:I,pY:A,areaPaths:z.areaPaths,pathsFrom:X,iterations:s[g].length-1,isRangeStart:!1})),Y=z.linePaths.length/2,F=0;F=0;R--)h.add(d[R]);else for(var H=0;H1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var o=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":o,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,g=t.prevY2,u=this.w,p=new m(this.ctx);if(null===o[n][0]){for(var f=0;f0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new H(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&\"rangeArea\"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(i)};if(\"area\"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0&&\"rangeArea\"!==i){var S=n.renderPaths(k);S.node.setAttribute(\"stroke-dasharray\",h.dashArray),h.strokeWidth&&S.node.setAttribute(\"stroke-width\",h.strokeWidth),this.elSeries.add(S),S.attr(\"clip-path\",\"url(#forecastMask\".concat(o.globals.cuid,\")\")),A.attr(\"clip-path\",\"url(#nonForecastMask\".concat(o.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i,a=this,s=t.type,r=t.series,o=t.iterations,n=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,g=t.pX,u=t.pY,p=t.pathsFrom,f=t.linePaths,b=t.areaPaths,v=t.seriesIndex,y=t.lineYPosition,w=t.xArrj,k=t.yArrj,A=t.y2Arrj,S=t.isRangeStart,C=t.seriesRangeEnd,L=this.w,P=new m(this.ctx),M=this.yRatio,I=p.prevY,T=p.linePath,z=p.areaPath,X=p.pathFromLine,E=p.pathFromArea,Y=x.isNumber(L.globals.minYArr[n])?L.globals.minYArr[n]:L.globals.minY;o||(o=L.globals.dataPoints>1?L.globals.dataPoints-1:L.globals.dataPoints);var F=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},R=d,H=L.config.chart.stacked&&!L.globals.comboCharts||L.config.chart.stacked&&L.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[n])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[n])||void 0===i?void 0:i.type)),D=L.config.stroke.curve;Array.isArray(D)&&(D=Array.isArray(v)?D[v[h]]:D[h]);for(var O,N=0,W=0;W0&&L.globals.collapsedSeries.length0;e--){if(!(L.globals.collapsedSeriesIndices.indexOf((null==v?void 0:v[e])||e)>-1))return e;e--}return 0}(h-1)][W+1]}else y=this.zeroY;else y=this.zeroY;B?d=F(Y,y):(d=F(r[h][W+1],y),\"rangeArea\"===s&&(R=F(C[h][W+1],y))),w.push(c),!B||\"smooth\"!==L.config.stroke.curve&&\"monotoneCubic\"!==L.config.stroke.curve?(k.push(d),A.push(R)):(k.push(null),A.push(null));var V=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:n,i:h,j:W,prevY:I}),j=this._createPaths({type:s,series:r,i:h,realIndex:n,j:W,x:c,y:d,y2:R,xArrj:w,yArrj:k,y2Arrj:A,pX:g,pY:u,pathState:N,segmentStartX:O,linePath:T,areaPath:z,linePaths:f,areaPaths:b,curve:D,isRangeStart:S});b=j.areaPaths,f=j.linePaths,g=j.pX,u=j.pY,N=j.pathState,O=j.segmentStartX,z=j.areaPath,T=j.linePath,!this.appendPathFrom||\"monotoneCubic\"===D&&\"rangeArea\"===s||(X+=P.line(c,this.zeroY),E+=P.line(c,this.zeroY)),this.handleNullDataPoints(r,V,h,W,n),this._handleMarkersAndLabels({type:s,pointsPos:V,i:h,j:W,realIndex:n,isRangeStart:S})}return{yArrj:k,xArrj:w,pathFromArea:E,areaPaths:b,pathFromLine:X,linePaths:f,linePath:T,areaPath:z}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new N(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s=t.j,r=t.x,o=t.y,n=t.xArrj,l=t.yArrj,h=t.y2,c=t.y2Arrj,d=t.pX,g=t.pY,u=t.pathState,p=t.segmentStartX,f=t.linePath,x=t.areaPath,b=t.linePaths,v=t.areaPaths,y=t.curve,w=t.isRangeStart;this.w;var k,A=new m(this.ctx),S=this.areaBottomY,C=\"rangeArea\"===e,L=\"rangeArea\"===e&&w;switch(y){case\"monotoneCubic\":var P=w?l:c;switch(u){case 0:if(null===P[s+1])break;u=1;case 1:if(!(C?n.length===i[a].length:s===i[a].length-2))break;case 2:var M=w?n:n.slice().reverse(),I=w?P:P.slice().reverse(),T=(k=I,M.map((function(t,e){return[t,k[e]]})).filter((function(t){return null!==t[1]}))),z=T.length>1?Xt(T):T,X=[];C&&(L?v=T:X=v.reverse());var E=0,Y=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e}(t),i=Y,a=(Y+=t.length)-1;L?f=A.move(T[i][0],T[i][1])+e:C?f=A.move(X[i][0],X[i][1])+A.line(T[i][0],T[i][1])+e+A.line(X[a][0],X[a][1]):(f=A.move(T[i][0],T[i][1])+e,x=f+A.line(T[a][0],S)+A.line(T[i][0],S)+\"z\",v.push(x)),b.push(f)})),C&&E>1&&!L){var F=b.slice(E).reverse();b.splice(E),F.forEach((function(t){return b.push(t)}))}u=0}break;case\"smooth\":var R=.35*(r-d);if(null===i[a][s])u=0;else switch(u){case 0:if(p=d,f=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s=i[a].length-2&&(L&&(f+=A.curve(r,o,r,o,r,h)+A.move(r,h)),x+=A.curve(r,o,r,o,r,S)+A.line(p,S)+\"z\",b.push(f),v.push(x),u=-1)}}d=r,g=o;break;default:var O=function(t,e,i){var a=[];switch(t){case\"stepline\":a=A.line(e,null,\"H\")+A.line(null,i,\"V\");break;case\"linestep\":a=A.line(null,i,\"V\")+A.line(e,null,\"H\");break;case\"straight\":a=A.line(e,i)}return a};if(null===i[a][s])u=0;else switch(u){case 0:if(p=d,f=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s=i[a].length-2&&(L&&(f+=A.line(r,h)),x+=A.line(r,S)+A.line(p,S)+\"z\",b.push(f),v.push(x),u=-1)}}d=r,g=o}return{linePaths:b,areaPaths:v,pX:d,pY:g,pathState:u,segmentStartX:p,linePath:f,areaPath:x}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.strokeWidth-r.config.markers.strokeWidth/2;o>0||(o=0);var n=this.markers.plotChartMarkers(e,s,a+1,o,!0);null!==n&&this.elPointsMain.add(n)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var o=new m(this.ctx),n=o.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=o.getTextBasedOnMaxWidth({text:t,maxWidth:n,fontSize:e});return t.length!==l.length&&n/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ot=86400,Nt=10/Ot,Wt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:\"calculateTimeScaleTicks\",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new A(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Ot),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?e(e({},i),{},{value:t.value}):\"minute\"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):\"second\"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0)}if(\"hours\"===a.tickInterval||\"minutes_fives\"===a.tickInterval||\"seconds_tens\"===a.tickInterval||\"seconds_fives\"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new A(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c=\"year\",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u;60===d&&(g=0,p=u=e.minHour);var f=i;p>=24&&(p=0,f+=1,l=\"day\");var b=h(f,a).month;b=c(f,b),this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)}),p++;for(var v=g,m=0;m=24)p=0,l=\"day\",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:\"minute\",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:\"second\",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new A(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Bt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].indexOf(i)>-1,t.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].indexOf(i)>-1,t.isBarHorizontal=(\"bar\"===e.chart.type||\"rangeBar\"===e.chart.type||\"boxPlot\"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=\".apexcharts\"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(e.chart.offsetX,\", \").concat(e.chart.offsetY,\")\")}),t.dom.Paper.node.style.background=\"dark\"!==e.theme.mode||e.chart.background?\"light\"!==e.theme.mode||e.chart.background?e.chart.background:\"#fff\":\"#424242\",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\"),m.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},p={series:[],seriesRangeEnd:[],i:[]},f=void 0!==a.chart.type?a.chart.type:\"line\",x=null,b=0;s.series.forEach((function(e,a){var u=t[a].type||f;switch(u){case\"column\":case\"bar\":h.series.push(e),h.i.push(a),i.globals.columnSeries=h;break;case\"area\":o.series.push(e),o.i.push(a);break;case\"line\":r.series.push(e),r.i.push(a);break;case\"scatter\":n.series.push(e),n.i.push(a);break;case\"bubble\":l.series.push(e),l.i.push(a);break;case\"candlestick\":c.series.push(e),c.i.push(a);break;case\"boxPlot\":d.series.push(e),d.i.push(a);break;case\"rangeBar\":g.series.push(e),g.i.push(a);break;case\"rangeArea\":p.series.push(s.seriesRangeStart[a]),p.seriesRangeEnd.push(s.seriesRangeEnd[a]),p.i.push(a);break;case\"heatmap\":case\"treemap\":case\"pie\":case\"donut\":case\"polarArea\":case\"radialBar\":case\"radar\":x=u;break;default:console.warn(\"You have specified an unrecognized series type (\",u,\").\")}f!==u&&\"scatter\"!==u&&b++})),b>0&&(null!==x&&console.warn(\"Chart or series type \",x,\" can not appear with other chart or series types.\"),h.series.length>0&&a.plotOptions.bar.horizontal&&(b-=h.length,h={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"))),s.comboCharts||(s.comboCharts=b>0);var v=new Ft(this.ctx,e),m=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var w=new Mt(this.ctx);this.ctx.rangeBar=new It(this.ctx,e);var k=new Pt(this.ctx),A=[];if(s.comboCharts){var S,C,L=new y(this.ctx);if(o.series.length>0)(S=A).push.apply(S,u(L.drawSeriesByGroup(o,s.areaGroups,\"area\",v)));if(h.series.length>0)if(i.config.chart.stacked){var P=new wt(this.ctx,e);A.push(P.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),A.push(this.ctx.bar.draw(h.series,h.i));if(p.series.length>0&&A.push(v.draw(p.series,\"rangeArea\",p.i,p.seriesRangeEnd)),r.series.length>0)(C=A).push.apply(C,u(L.drawSeriesByGroup(r,s.lineGroups,\"line\",v)));if(c.series.length>0&&A.push(m.draw(c.series,\"candlestick\",c.i)),d.series.length>0&&A.push(m.draw(d.series,\"boxPlot\",d.i)),g.series.length>0&&A.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var M=new Ft(this.ctx,e,!0);A.push(M.draw(n.series,\"scatter\",n.i))}if(l.series.length>0){var I=new Ft(this.ctx,e,!0);A.push(I.draw(l.series,\"bubble\",l.i))}}else switch(a.chart.type){case\"line\":A=v.draw(s.series,\"line\");break;case\"area\":A=v.draw(s.series,\"area\");break;case\"bar\":if(a.chart.stacked)A=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),A=this.ctx.bar.draw(s.series);break;case\"candlestick\":A=new kt(this.ctx,e).draw(s.series,\"candlestick\");break;case\"boxPlot\":A=new kt(this.ctx,e).draw(s.series,a.chart.type);break;case\"rangeBar\":A=this.ctx.rangeBar.draw(s.series);break;case\"rangeArea\":A=v.draw(s.seriesRangeStart,\"rangeArea\",void 0,s.seriesRangeEnd);break;case\"heatmap\":A=new St(this.ctx,e).draw(s.series);break;case\"treemap\":A=new Dt(this.ctx,e).draw(s.series);break;case\"pie\":case\"donut\":case\"polarArea\":A=this.ctx.pie.draw(s.series);break;case\"radialBar\":A=w.draw(s.series);break;case\"radar\":A=k.draw(s.series);break;default:A=v.draw(s.series)}return A}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;e.chart.width||(e.chart.width=\"100%\"),e.chart.height||(e.chart.height=\"auto\"),t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):\"px\"!==a&&\"\"!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=String(e.chart.height).toString().split(/[0-9]+/g).pop();if(\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),\"%\"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+\"px\"}t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,\"top\"!==t.config.legend.position&&\"bottom\"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendDimensions().clwh+10);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).indexOf(\"%\")>0||(e.dom.elWrap.style.height=l+\"px\",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+\"px\")}},{key:\"coreCalculations\",value:function(){new U(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new F,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if(\"back\"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if(\"back\"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if(\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Wt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Gt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"_updateOptions\",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&\"object\"===i(t)&&(r.config=new Y(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:null==s?void 0:s.name,color:t.color?t.color:null==s?void 0:s.color,type:t.type?t.type:null==s?void 0:s.type,group:t.group?t.group:null==s?void 0:s.group,data:t.data?t.data:null==s?void 0:s.data,zIndex:void 0!==t.zIndex?t.zIndex:i})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new E(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Rt=\"undefined\"!=typeof window?window:void 0,Ht=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns=\"http://www.w3.org/2000/svg\",a.xmlns=\"http://www.w3.org/2000/xmlns/\",a.xlink=\"http://www.w3.org/1999/xlink\",a.svgjs=\"http://svgjs.dev\",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return\"Svgjs\"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:\"linearGradient\"==e.nodeName?new a.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new a.Gradient(\"radial\"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:i.polyline().node,path:i.path().node,native:a.create(\"svg\")}},a.parser={native:a.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+=\"\",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},r=\"mlhvqtcsaz\".split(\"\"),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute(\"d\",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if(\"string\"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||\"#document\"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");i.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=i.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){\"object\"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||\"-\"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off(\"during.fx\",i).on(\"during.fx\",i),this.after((function(){this.off(\"during.fx\",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[v[s]]=null!=t[v[s]]?t[v[s]]:e[v[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return\"matrix(\"+b(this.a)+\",\"+b(this.b)+\",\"+b(this.c)+\",\"+b(this.d)+\",\"+b(this.e)+\",\"+b(this.f)+\")\"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if(\"object\"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return\"object\"!==i(t)?(s=new a.Matrix(this).extract(),\"string\"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr(\"transform\",s))}}),a.extend(a.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||a.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)\"function\"==typeof a.Shape.prototype[e]&&\"function\"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||\"\").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,a.CustomEvent=m}else a.CustomEvent=t.CustomEvent;return a},\"function\"==typeof define&&define.amd?define((function(){return Ht(Rt,Rt.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":i(exports))&&\"undefined\"!=typeof module?module.exports=Rt.document?Ht(Rt,Rt.document):function(t){return Ht(t,t.document)}:Rt.SVG=Ht(Rt,Rt.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n * https://github.com/wout/svg.filter.js\n * Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(M*=a=Math.sqrt(a),I*=a);s=(new SVG.Matrix).rotate(T).scale(1/M,1/I).rotate(-T),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Vt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"isSeriesHidden\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Bt(this.ctx.el,this.ctx),this.ctx.config=new Y({}),this.ctx.data=new B(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new I,this.ctx.responsive=new K(this.ctx),this.ctx.series=new W(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new S(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Gt(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),jt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(t,e){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),_t=new WeakMap;var Ut=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new R(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Vt(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),_t.set(e,s)}(t.el.parentNode,t.parentResizeHandler);var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=r?s.getElementById(\"apexcharts-css\"):o.getElementById(\"apexcharts-css\");if(!n){var l;(n=document.createElement(\"style\")).id=\"apexcharts-css\",n.textContent='@keyframes opaque {\\n 0% {\\n opacity: 0\\n }\\n\\n to {\\n opacity: 1\\n }\\n}\\n\\n@keyframes resizeanim {\\n\\n 0%,\\n to {\\n opacity: 0\\n }\\n}\\n\\n.apexcharts-canvas {\\n position: relative;\\n user-select: none\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0, 0, 0, .5);\\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\\n}\\n\\n.apexcharts-inner {\\n position: relative\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit\\n}\\n\\nrect.legend-mouseover-inactive,\\n.legend-mouseover-inactive rect,\\n.legend-mouseover-inactive path,\\n.legend-mouseover-inactive circle,\\n.legend-mouseover-inactive line,\\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\\n transition: .15s ease all;\\n opacity: .2\\n}\\n\\n.apexcharts-legend-text {\\n padding-left: 15px;\\n margin-left: -15px;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255, 255, 255, .96)\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30, 30, 30, .8)\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit\\n}\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #eceff1;\\n border-bottom: 1px solid #ddd\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0, 0, 0, .7);\\n border-bottom: 1px solid #333\\n}\\n\\n.apexcharts-tooltip-text-goals-value,\\n.apexcharts-tooltip-text-y-value,\\n.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n margin-left: 5px;\\n font-weight: 600\\n}\\n\\n.apexcharts-tooltip-text-goals-label:empty,\\n.apexcharts-tooltip-text-goals-value:empty,\\n.apexcharts-tooltip-text-y-label:empty,\\n.apexcharts-tooltip-text-y-value:empty,\\n.apexcharts-tooltip-text-z-value:empty,\\n.apexcharts-tooltip-title:empty {\\n display: none\\n}\\n\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-tooltip-goals-group,\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n display: flex\\n}\\n\\n.apexcharts-tooltip-text-goals-label:not(:empty),\\n.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0;\\n margin-right: 10px;\\n border-radius: 50%\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,\\n.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-custom-tooltip,\\n.apexcharts-tooltip-box {\\n padding: 4px 8px\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_boundingRect,\\n.svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_boundingRect,\\n.apexcharts-selection-rect+g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_points_l,\\n.apexcharts-selection-rect+g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-toolbar-custom-icon,\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, .7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,\\n.apexcharts-datalabel.apexcharts-element-hidden,\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value,\\n.apexcharts-datalabels,\\n.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-gridline,\\n.apexcharts-line,\\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-point-annotation-label,\\n.apexcharts-radar-series path:not(.apexcharts-marker),\\n.apexcharts-radar-series polygon,\\n.apexcharts-toolbar svg,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-zoom-rect {\\n pointer-events: none\\n}\\n\\n.apexcharts-tooltip-active .apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,\\n.resize-triggers,\\n.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers {\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows {\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers {\\n pointer-events: none\\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&n.setAttribute(\"nonce\",h),r?s.prepend(n):o.head.appendChild(n)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this.w;new Vt(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new E(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t,i.config.chart.type);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r&&a.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new D(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),\"category\"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new N(this);return l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:n,xyRatios:o,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o,n,l=i.grid.drawGrid();(i.annotations=new T(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=_t.get(t))&&(e.disconnect(),_t.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new jt(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new G(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new G(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=x.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),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
d8es5v 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⁣MykB-+ZyktjcTmxJJS+_78;wro!}MT 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 B<&XdX diff --git a/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js b/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js new file mode 100644 index 00000000..c1a06085 --- /dev/null +++ b/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js @@ -0,0 +1,801 @@ +import{c as xi,g as La}from"./_plugin-vue2_normalizer-DeOsZA-U.js";function bi(w,S){return function(){return w.apply(S,arguments)}}const{toString:Pa}=Object.prototype,{getPrototypeOf:Rt}=Object,ot=(w=>S=>{const P=Pa.call(S);return w[P]||(w[P]=P.slice(8,-1).toLowerCase())})(Object.create(null)),Me=w=>(w=w.toLowerCase(),S=>ot(S)===w),lt=w=>S=>typeof S===w,{isArray:We}=Array,$e=lt("undefined");function Ma(w){return w!==null&&!$e(w)&&w.constructor!==null&&!$e(w.constructor)&&Ce(w.constructor.isBuffer)&&w.constructor.isBuffer(w)}const mi=Me("ArrayBuffer");function Ea(w){let S;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?S=ArrayBuffer.isView(w):S=w&&w.buffer&&mi(w.buffer),S}const Ta=lt("string"),Ce=lt("function"),vi=lt("number"),ht=w=>w!==null&&typeof w=="object",Ia=w=>w===!0||w===!1,at=w=>{if(ot(w)!=="object")return!1;const S=Rt(w);return(S===null||S===Object.prototype||Object.getPrototypeOf(S)===null)&&!(Symbol.toStringTag in w)&&!(Symbol.iterator in w)},Ra=Me("Date"),za=Me("File"),Xa=Me("Blob"),Oa=Me("FileList"),Fa=w=>ht(w)&&Ce(w.pipe),Ya=w=>{let S;return w&&(typeof FormData=="function"&&w instanceof FormData||Ce(w.append)&&((S=ot(w))==="formdata"||S==="object"&&Ce(w.toString)&&w.toString()==="[object FormData]"))},Da=Me("URLSearchParams"),[Na,Ha,Ba,Wa]=["ReadableStream","Request","Response","Headers"].map(Me),Ga=w=>w.trim?w.trim():w.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Je(w,S,{allOwnKeys:P=!1}={}){if(w===null||typeof w>"u")return;let M,E;if(typeof w!="object"&&(w=[w]),We(w))for(M=0,E=w.length;M0;)if(E=P[M],S===E.toLowerCase())return E;return null}const Fe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,wi=w=>!$e(w)&&w!==Fe;function Ct(){const{caseless:w}=wi(this)&&this||{},S={},P=(M,E)=>{const X=w&&yi(S,E)||E;at(S[X])&&at(M)?S[X]=Ct(S[X],M):at(M)?S[X]=Ct({},M):We(M)?S[X]=M.slice():S[X]=M};for(let M=0,E=arguments.length;M(Je(S,(E,X)=>{P&&Ce(E)?w[X]=bi(E,P):w[X]=E},{allOwnKeys:M}),w),_a=w=>(w.charCodeAt(0)===65279&&(w=w.slice(1)),w),ja=(w,S,P,M)=>{w.prototype=Object.create(S.prototype,M),w.prototype.constructor=w,Object.defineProperty(w,"super",{value:S.prototype}),P&&Object.assign(w.prototype,P)},Ua=(w,S,P,M)=>{let E,X,I;const F={};if(S=S||{},w==null)return S;do{for(E=Object.getOwnPropertyNames(w),X=E.length;X-- >0;)I=E[X],(!M||M(I,w,S))&&!F[I]&&(S[I]=w[I],F[I]=!0);w=P!==!1&&Rt(w)}while(w&&(!P||P(w,S))&&w!==Object.prototype);return S},qa=(w,S,P)=>{w=String(w),(P===void 0||P>w.length)&&(P=w.length),P-=S.length;const M=w.indexOf(S,P);return M!==-1&&M===P},Za=w=>{if(!w)return null;if(We(w))return w;let S=w.length;if(!vi(S))return null;const P=new Array(S);for(;S-- >0;)P[S]=w[S];return P},$a=(w=>S=>w&&S instanceof w)(typeof Uint8Array<"u"&&Rt(Uint8Array)),Ja=(w,S)=>{const M=(w&&w[Symbol.iterator]).call(w);let E;for(;(E=M.next())&&!E.done;){const X=E.value;S.call(w,X[0],X[1])}},Ka=(w,S)=>{let P;const M=[];for(;(P=w.exec(S))!==null;)M.push(P);return M},Qa=Me("HTMLFormElement"),es=w=>w.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(P,M,E){return M.toUpperCase()+E}),ti=(({hasOwnProperty:w})=>(S,P)=>w.call(S,P))(Object.prototype),ts=Me("RegExp"),Ai=(w,S)=>{const P=Object.getOwnPropertyDescriptors(w),M={};Je(P,(E,X)=>{let I;(I=S(E,X,w))!==!1&&(M[X]=I||E)}),Object.defineProperties(w,M)},is=w=>{Ai(w,(S,P)=>{if(Ce(w)&&["arguments","caller","callee"].indexOf(P)!==-1)return!1;const M=w[P];if(Ce(M)){if(S.enumerable=!1,"writable"in S){S.writable=!1;return}S.set||(S.set=()=>{throw Error("Can not rewrite read-only method '"+P+"'")})}})},as=(w,S)=>{const P={},M=E=>{E.forEach(X=>{P[X]=!0})};return We(w)?M(w):M(String(w).split(S)),P},ss=()=>{},rs=(w,S)=>w!=null&&Number.isFinite(w=+w)?w:S,wt="abcdefghijklmnopqrstuvwxyz",ii="0123456789",ki={DIGIT:ii,ALPHA:wt,ALPHA_DIGIT:wt+wt.toUpperCase()+ii},ns=(w=16,S=ki.ALPHA_DIGIT)=>{let P="";const{length:M}=S;for(;w--;)P+=S[Math.random()*M|0];return P};function os(w){return!!(w&&Ce(w.append)&&w[Symbol.toStringTag]==="FormData"&&w[Symbol.iterator])}const ls=w=>{const S=new Array(10),P=(M,E)=>{if(ht(M)){if(S.indexOf(M)>=0)return;if(!("toJSON"in M)){S[E]=M;const X=We(M)?[]:{};return Je(M,(I,F)=>{const N=P(I,E+1);!$e(N)&&(X[F]=N)}),S[E]=void 0,X}}return M};return P(w,0)},hs=Me("AsyncFunction"),cs=w=>w&&(ht(w)||Ce(w))&&Ce(w.then)&&Ce(w.catch),Si=((w,S)=>w?setImmediate:S?((P,M)=>(Fe.addEventListener("message",({source:E,data:X})=>{E===Fe&&X===P&&M.length&&M.shift()()},!1),E=>{M.push(E),Fe.postMessage(P,"*")}))(`axios@${Math.random()}`,[]):P=>setTimeout(P))(typeof setImmediate=="function",Ce(Fe.postMessage)),ds=typeof queueMicrotask<"u"?queueMicrotask.bind(Fe):typeof process<"u"&&process.nextTick||Si,D={isArray:We,isArrayBuffer:mi,isBuffer:Ma,isFormData:Ya,isArrayBufferView:Ea,isString:Ta,isNumber:vi,isBoolean:Ia,isObject:ht,isPlainObject:at,isReadableStream:Na,isRequest:Ha,isResponse:Ba,isHeaders:Wa,isUndefined:$e,isDate:Ra,isFile:za,isBlob:Xa,isRegExp:ts,isFunction:Ce,isStream:Fa,isURLSearchParams:Da,isTypedArray:$a,isFileList:Oa,forEach:Je,merge:Ct,extend:Va,trim:Ga,stripBOM:_a,inherits:ja,toFlatObject:Ua,kindOf:ot,kindOfTest:Me,endsWith:qa,toArray:Za,forEachEntry:Ja,matchAll:Ka,isHTMLForm:Qa,hasOwnProperty:ti,hasOwnProp:ti,reduceDescriptors:Ai,freezeMethods:is,toObjectSet:as,toCamelCase:es,noop:ss,toFiniteNumber:rs,findKey:yi,global:Fe,isContextDefined:wi,ALPHABET:ki,generateString:ns,isSpecCompliantForm:os,toJSONObject:ls,isAsyncFn:hs,isThenable:cs,setImmediate:Si,asap:ds};function ie(w,S,P,M,E){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=w,this.name="AxiosError",S&&(this.code=S),P&&(this.config=P),M&&(this.request=M),E&&(this.response=E,this.status=E.status?E.status:null)}D.inherits(ie,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:D.toJSONObject(this.config),code:this.code,status:this.status}}});const Ci=ie.prototype,Li={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(w=>{Li[w]={value:w}});Object.defineProperties(ie,Li);Object.defineProperty(Ci,"isAxiosError",{value:!0});ie.from=(w,S,P,M,E,X)=>{const I=Object.create(Ci);return D.toFlatObject(w,I,function(N){return N!==Error.prototype},F=>F!=="isAxiosError"),ie.call(I,w.message,S,P,M,E),I.cause=w,I.name=w.name,X&&Object.assign(I,X),I};const us=null;function Lt(w){return D.isPlainObject(w)||D.isArray(w)}function Pi(w){return D.endsWith(w,"[]")?w.slice(0,-2):w}function ai(w,S,P){return w?w.concat(S).map(function(E,X){return E=Pi(E),!P&&X?"["+E+"]":E}).join(P?".":""):S}function gs(w){return D.isArray(w)&&!w.some(Lt)}const fs=D.toFlatObject(D,{},null,function(S){return/^is[A-Z]/.test(S)});function ct(w,S,P){if(!D.isObject(w))throw new TypeError("target must be an object");S=S||new FormData,P=D.toFlatObject(P,{metaTokens:!0,dots:!1,indexes:!1},!1,function(Q,U){return!D.isUndefined(U[Q])});const M=P.metaTokens,E=P.visitor||_,X=P.dots,I=P.indexes,N=(P.Blob||typeof Blob<"u"&&Blob)&&D.isSpecCompliantForm(S);if(!D.isFunction(E))throw new TypeError("visitor must be a function");function G($){if($===null)return"";if(D.isDate($))return $.toISOString();if(!N&&D.isBlob($))throw new ie("Blob is not supported. Use a Buffer instead.");return D.isArrayBuffer($)||D.isTypedArray($)?N&&typeof Blob=="function"?new Blob([$]):Buffer.from($):$}function _($,Q,U){let ue=$;if($&&!U&&typeof $=="object"){if(D.endsWith(Q,"{}"))Q=M?Q:Q.slice(0,-2),$=JSON.stringify($);else if(D.isArray($)&&gs($)||(D.isFileList($)||D.endsWith(Q,"[]"))&&(ue=D.toArray($)))return Q=Pi(Q),ue.forEach(function(pe,z){!(D.isUndefined(pe)||pe===null)&&S.append(I===!0?ai([Q],z,X):I===null?Q:Q+"[]",G(pe))}),!1}return Lt($)?!0:(S.append(ai(U,Q,X),G($)),!1)}const Z=[],ae=Object.assign(fs,{defaultVisitor:_,convertValue:G,isVisitable:Lt});function V($,Q){if(!D.isUndefined($)){if(Z.indexOf($)!==-1)throw Error("Circular reference detected in "+Q.join("."));Z.push($),D.forEach($,function(ue,se){(!(D.isUndefined(ue)||ue===null)&&E.call(S,ue,D.isString(se)?se.trim():se,Q,ae))===!0&&V(ue,Q?Q.concat(se):[se])}),Z.pop()}}if(!D.isObject(w))throw new TypeError("data must be an object");return V(w),S}function si(w){const S={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(w).replace(/[!'()~]|%20|%00/g,function(M){return S[M]})}function zt(w,S){this._pairs=[],w&&ct(w,this,S)}const Mi=zt.prototype;Mi.append=function(S,P){this._pairs.push([S,P])};Mi.toString=function(S){const P=S?function(M){return S.call(this,M,si)}:si;return this._pairs.map(function(E){return P(E[0])+"="+P(E[1])},"").join("&")};function ps(w){return encodeURIComponent(w).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ei(w,S,P){if(!S)return w;const M=P&&P.encode||ps,E=P&&P.serialize;let X;if(E?X=E(S,P):X=D.isURLSearchParams(S)?S.toString():new zt(S,P).toString(M),X){const I=w.indexOf("#");I!==-1&&(w=w.slice(0,I)),w+=(w.indexOf("?")===-1?"?":"&")+X}return w}class ri{constructor(){this.handlers=[]}use(S,P,M){return this.handlers.push({fulfilled:S,rejected:P,synchronous:M?M.synchronous:!1,runWhen:M?M.runWhen:null}),this.handlers.length-1}eject(S){this.handlers[S]&&(this.handlers[S]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(S){D.forEach(this.handlers,function(M){M!==null&&S(M)})}}const Ti={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},xs=typeof URLSearchParams<"u"?URLSearchParams:zt,bs=typeof FormData<"u"?FormData:null,ms=typeof Blob<"u"?Blob:null,vs={isBrowser:!0,classes:{URLSearchParams:xs,FormData:bs,Blob:ms},protocols:["http","https","file","blob","url","data"]},Xt=typeof window<"u"&&typeof document<"u",Pt=typeof navigator=="object"&&navigator||void 0,ys=Xt&&(!Pt||["ReactNative","NativeScript","NS"].indexOf(Pt.product)<0),ws=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",As=Xt&&window.location.href||"http://localhost",ks=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Xt,hasStandardBrowserEnv:ys,hasStandardBrowserWebWorkerEnv:ws,navigator:Pt,origin:As},Symbol.toStringTag,{value:"Module"})),Ae={...ks,...vs};function Ss(w,S){return ct(w,new Ae.classes.URLSearchParams,Object.assign({visitor:function(P,M,E,X){return Ae.isNode&&D.isBuffer(P)?(this.append(M,P.toString("base64")),!1):X.defaultVisitor.apply(this,arguments)}},S))}function Cs(w){return D.matchAll(/\w+|\[(\w*)]/g,w).map(S=>S[0]==="[]"?"":S[1]||S[0])}function Ls(w){const S={},P=Object.keys(w);let M;const E=P.length;let X;for(M=0;M=P.length;return I=!I&&D.isArray(E)?E.length:I,N?(D.hasOwnProp(E,I)?E[I]=[E[I],M]:E[I]=M,!F):((!E[I]||!D.isObject(E[I]))&&(E[I]=[]),S(P,M,E[I],X)&&D.isArray(E[I])&&(E[I]=Ls(E[I])),!F)}if(D.isFormData(w)&&D.isFunction(w.entries)){const P={};return D.forEachEntry(w,(M,E)=>{S(Cs(M),E,P,0)}),P}return null}function Ps(w,S,P){if(D.isString(w))try{return(S||JSON.parse)(w),D.trim(w)}catch(M){if(M.name!=="SyntaxError")throw M}return(P||JSON.stringify)(w)}const Ke={transitional:Ti,adapter:["xhr","http","fetch"],transformRequest:[function(S,P){const M=P.getContentType()||"",E=M.indexOf("application/json")>-1,X=D.isObject(S);if(X&&D.isHTMLForm(S)&&(S=new FormData(S)),D.isFormData(S))return E?JSON.stringify(Ii(S)):S;if(D.isArrayBuffer(S)||D.isBuffer(S)||D.isStream(S)||D.isFile(S)||D.isBlob(S)||D.isReadableStream(S))return S;if(D.isArrayBufferView(S))return S.buffer;if(D.isURLSearchParams(S))return P.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),S.toString();let F;if(X){if(M.indexOf("application/x-www-form-urlencoded")>-1)return Ss(S,this.formSerializer).toString();if((F=D.isFileList(S))||M.indexOf("multipart/form-data")>-1){const N=this.env&&this.env.FormData;return ct(F?{"files[]":S}:S,N&&new N,this.formSerializer)}}return X||E?(P.setContentType("application/json",!1),Ps(S)):S}],transformResponse:[function(S){const P=this.transitional||Ke.transitional,M=P&&P.forcedJSONParsing,E=this.responseType==="json";if(D.isResponse(S)||D.isReadableStream(S))return S;if(S&&D.isString(S)&&(M&&!this.responseType||E)){const I=!(P&&P.silentJSONParsing)&&E;try{return JSON.parse(S)}catch(F){if(I)throw F.name==="SyntaxError"?ie.from(F,ie.ERR_BAD_RESPONSE,this,null,this.response):F}}return S}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ae.classes.FormData,Blob:Ae.classes.Blob},validateStatus:function(S){return S>=200&&S<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};D.forEach(["delete","get","head","post","put","patch"],w=>{Ke.headers[w]={}});const Ms=D.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Es=w=>{const S={};let P,M,E;return w&&w.split(` +`).forEach(function(I){E=I.indexOf(":"),P=I.substring(0,E).trim().toLowerCase(),M=I.substring(E+1).trim(),!(!P||S[P]&&Ms[P])&&(P==="set-cookie"?S[P]?S[P].push(M):S[P]=[M]:S[P]=S[P]?S[P]+", "+M:M)}),S},ni=Symbol("internals");function Ze(w){return w&&String(w).trim().toLowerCase()}function st(w){return w===!1||w==null?w:D.isArray(w)?w.map(st):String(w)}function Ts(w){const S=Object.create(null),P=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let M;for(;M=P.exec(w);)S[M[1]]=M[2];return S}const Is=w=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(w.trim());function At(w,S,P,M,E){if(D.isFunction(M))return M.call(this,S,P);if(E&&(S=P),!!D.isString(S)){if(D.isString(M))return S.indexOf(M)!==-1;if(D.isRegExp(M))return M.test(S)}}function Rs(w){return w.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(S,P,M)=>P.toUpperCase()+M)}function zs(w,S){const P=D.toCamelCase(" "+S);["get","set","has"].forEach(M=>{Object.defineProperty(w,M+P,{value:function(E,X,I){return this[M].call(this,S,E,X,I)},configurable:!0})})}class ke{constructor(S){S&&this.set(S)}set(S,P,M){const E=this;function X(F,N,G){const _=Ze(N);if(!_)throw new Error("header name must be a non-empty string");const Z=D.findKey(E,_);(!Z||E[Z]===void 0||G===!0||G===void 0&&E[Z]!==!1)&&(E[Z||N]=st(F))}const I=(F,N)=>D.forEach(F,(G,_)=>X(G,_,N));if(D.isPlainObject(S)||S instanceof this.constructor)I(S,P);else if(D.isString(S)&&(S=S.trim())&&!Is(S))I(Es(S),P);else if(D.isHeaders(S))for(const[F,N]of S.entries())X(N,F,M);else S!=null&&X(P,S,M);return this}get(S,P){if(S=Ze(S),S){const M=D.findKey(this,S);if(M){const E=this[M];if(!P)return E;if(P===!0)return Ts(E);if(D.isFunction(P))return P.call(this,E,M);if(D.isRegExp(P))return P.exec(E);throw new TypeError("parser must be boolean|regexp|function")}}}has(S,P){if(S=Ze(S),S){const M=D.findKey(this,S);return!!(M&&this[M]!==void 0&&(!P||At(this,this[M],M,P)))}return!1}delete(S,P){const M=this;let E=!1;function X(I){if(I=Ze(I),I){const F=D.findKey(M,I);F&&(!P||At(M,M[F],F,P))&&(delete M[F],E=!0)}}return D.isArray(S)?S.forEach(X):X(S),E}clear(S){const P=Object.keys(this);let M=P.length,E=!1;for(;M--;){const X=P[M];(!S||At(this,this[X],X,S,!0))&&(delete this[X],E=!0)}return E}normalize(S){const P=this,M={};return D.forEach(this,(E,X)=>{const I=D.findKey(M,X);if(I){P[I]=st(E),delete P[X];return}const F=S?Rs(X):String(X).trim();F!==X&&delete P[X],P[F]=st(E),M[F]=!0}),this}concat(...S){return this.constructor.concat(this,...S)}toJSON(S){const P=Object.create(null);return D.forEach(this,(M,E)=>{M!=null&&M!==!1&&(P[E]=S&&D.isArray(M)?M.join(", "):M)}),P}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([S,P])=>S+": "+P).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(S){return S instanceof this?S:new this(S)}static concat(S,...P){const M=new this(S);return P.forEach(E=>M.set(E)),M}static accessor(S){const M=(this[ni]=this[ni]={accessors:{}}).accessors,E=this.prototype;function X(I){const F=Ze(I);M[F]||(zs(E,I),M[F]=!0)}return D.isArray(S)?S.forEach(X):X(S),this}}ke.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);D.reduceDescriptors(ke.prototype,({value:w},S)=>{let P=S[0].toUpperCase()+S.slice(1);return{get:()=>w,set(M){this[P]=M}}});D.freezeMethods(ke);function kt(w,S){const P=this||Ke,M=S||P,E=ke.from(M.headers);let X=M.data;return D.forEach(w,function(F){X=F.call(P,X,E.normalize(),S?S.status:void 0)}),E.normalize(),X}function Ri(w){return!!(w&&w.__CANCEL__)}function Ge(w,S,P){ie.call(this,w??"canceled",ie.ERR_CANCELED,S,P),this.name="CanceledError"}D.inherits(Ge,ie,{__CANCEL__:!0});function zi(w,S,P){const M=P.config.validateStatus;!P.status||!M||M(P.status)?w(P):S(new ie("Request failed with status code "+P.status,[ie.ERR_BAD_REQUEST,ie.ERR_BAD_RESPONSE][Math.floor(P.status/100)-4],P.config,P.request,P))}function Xs(w){const S=/^([-+\w]{1,25})(:?\/\/|:)/.exec(w);return S&&S[1]||""}function Os(w,S){w=w||10;const P=new Array(w),M=new Array(w);let E=0,X=0,I;return S=S!==void 0?S:1e3,function(N){const G=Date.now(),_=M[X];I||(I=G),P[E]=N,M[E]=G;let Z=X,ae=0;for(;Z!==E;)ae+=P[Z++],Z=Z%w;if(E=(E+1)%w,E===X&&(X=(X+1)%w),G-I{P=_,E=null,X&&(clearTimeout(X),X=null),w.apply(null,G)};return[(...G)=>{const _=Date.now(),Z=_-P;Z>=M?I(G,_):(E=G,X||(X=setTimeout(()=>{X=null,I(E)},M-Z)))},()=>E&&I(E)]}const rt=(w,S,P=3)=>{let M=0;const E=Os(50,250);return Fs(X=>{const I=X.loaded,F=X.lengthComputable?X.total:void 0,N=I-M,G=E(N),_=I<=F;M=I;const Z={loaded:I,total:F,progress:F?I/F:void 0,bytes:N,rate:G||void 0,estimated:G&&F&&_?(F-I)/G:void 0,event:X,lengthComputable:F!=null,[S?"download":"upload"]:!0};w(Z)},P)},oi=(w,S)=>{const P=w!=null;return[M=>S[0]({lengthComputable:P,total:w,loaded:M}),S[1]]},li=w=>(...S)=>D.asap(()=>w(...S)),Ys=Ae.hasStandardBrowserEnv?function(){const S=Ae.navigator&&/(msie|trident)/i.test(Ae.navigator.userAgent),P=document.createElement("a");let M;function E(X){let I=X;return S&&(P.setAttribute("href",I),I=P.href),P.setAttribute("href",I),{href:P.href,protocol:P.protocol?P.protocol.replace(/:$/,""):"",host:P.host,search:P.search?P.search.replace(/^\?/,""):"",hash:P.hash?P.hash.replace(/^#/,""):"",hostname:P.hostname,port:P.port,pathname:P.pathname.charAt(0)==="/"?P.pathname:"/"+P.pathname}}return M=E(window.location.href),function(I){const F=D.isString(I)?E(I):I;return F.protocol===M.protocol&&F.host===M.host}}():function(){return function(){return!0}}(),Ds=Ae.hasStandardBrowserEnv?{write(w,S,P,M,E,X){const I=[w+"="+encodeURIComponent(S)];D.isNumber(P)&&I.push("expires="+new Date(P).toGMTString()),D.isString(M)&&I.push("path="+M),D.isString(E)&&I.push("domain="+E),X===!0&&I.push("secure"),document.cookie=I.join("; ")},read(w){const S=document.cookie.match(new RegExp("(^|;\\s*)("+w+")=([^;]*)"));return S?decodeURIComponent(S[3]):null},remove(w){this.write(w,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Ns(w){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(w)}function Hs(w,S){return S?w.replace(/\/?\/$/,"")+"/"+S.replace(/^\/+/,""):w}function Xi(w,S){return w&&!Ns(S)?Hs(w,S):S}const hi=w=>w instanceof ke?{...w}:w;function De(w,S){S=S||{};const P={};function M(G,_,Z){return D.isPlainObject(G)&&D.isPlainObject(_)?D.merge.call({caseless:Z},G,_):D.isPlainObject(_)?D.merge({},_):D.isArray(_)?_.slice():_}function E(G,_,Z){if(D.isUndefined(_)){if(!D.isUndefined(G))return M(void 0,G,Z)}else return M(G,_,Z)}function X(G,_){if(!D.isUndefined(_))return M(void 0,_)}function I(G,_){if(D.isUndefined(_)){if(!D.isUndefined(G))return M(void 0,G)}else return M(void 0,_)}function F(G,_,Z){if(Z in S)return M(G,_);if(Z in w)return M(void 0,G)}const N={url:X,method:X,data:X,baseURL:I,transformRequest:I,transformResponse:I,paramsSerializer:I,timeout:I,timeoutMessage:I,withCredentials:I,withXSRFToken:I,adapter:I,responseType:I,xsrfCookieName:I,xsrfHeaderName:I,onUploadProgress:I,onDownloadProgress:I,decompress:I,maxContentLength:I,maxBodyLength:I,beforeRedirect:I,transport:I,httpAgent:I,httpsAgent:I,cancelToken:I,socketPath:I,responseEncoding:I,validateStatus:F,headers:(G,_)=>E(hi(G),hi(_),!0)};return D.forEach(Object.keys(Object.assign({},w,S)),function(_){const Z=N[_]||E,ae=Z(w[_],S[_],_);D.isUndefined(ae)&&Z!==F||(P[_]=ae)}),P}const Oi=w=>{const S=De({},w);let{data:P,withXSRFToken:M,xsrfHeaderName:E,xsrfCookieName:X,headers:I,auth:F}=S;S.headers=I=ke.from(I),S.url=Ei(Xi(S.baseURL,S.url),w.params,w.paramsSerializer),F&&I.set("Authorization","Basic "+btoa((F.username||"")+":"+(F.password?unescape(encodeURIComponent(F.password)):"")));let N;if(D.isFormData(P)){if(Ae.hasStandardBrowserEnv||Ae.hasStandardBrowserWebWorkerEnv)I.setContentType(void 0);else if((N=I.getContentType())!==!1){const[G,..._]=N?N.split(";").map(Z=>Z.trim()).filter(Boolean):[];I.setContentType([G||"multipart/form-data",..._].join("; "))}}if(Ae.hasStandardBrowserEnv&&(M&&D.isFunction(M)&&(M=M(S)),M||M!==!1&&Ys(S.url))){const G=E&&X&&Ds.read(X);G&&I.set(E,G)}return S},Bs=typeof XMLHttpRequest<"u",Ws=Bs&&function(w){return new Promise(function(P,M){const E=Oi(w);let X=E.data;const I=ke.from(E.headers).normalize();let{responseType:F,onUploadProgress:N,onDownloadProgress:G}=E,_,Z,ae,V,$;function Q(){V&&V(),$&&$(),E.cancelToken&&E.cancelToken.unsubscribe(_),E.signal&&E.signal.removeEventListener("abort",_)}let U=new XMLHttpRequest;U.open(E.method.toUpperCase(),E.url,!0),U.timeout=E.timeout;function ue(){if(!U)return;const pe=ke.from("getAllResponseHeaders"in U&&U.getAllResponseHeaders()),xe={data:!F||F==="text"||F==="json"?U.responseText:U.response,status:U.status,statusText:U.statusText,headers:pe,config:w,request:U};zi(function(B){P(B),Q()},function(B){M(B),Q()},xe),U=null}"onloadend"in U?U.onloadend=ue:U.onreadystatechange=function(){!U||U.readyState!==4||U.status===0&&!(U.responseURL&&U.responseURL.indexOf("file:")===0)||setTimeout(ue)},U.onabort=function(){U&&(M(new ie("Request aborted",ie.ECONNABORTED,w,U)),U=null)},U.onerror=function(){M(new ie("Network Error",ie.ERR_NETWORK,w,U)),U=null},U.ontimeout=function(){let z=E.timeout?"timeout of "+E.timeout+"ms exceeded":"timeout exceeded";const xe=E.transitional||Ti;E.timeoutErrorMessage&&(z=E.timeoutErrorMessage),M(new ie(z,xe.clarifyTimeoutError?ie.ETIMEDOUT:ie.ECONNABORTED,w,U)),U=null},X===void 0&&I.setContentType(null),"setRequestHeader"in U&&D.forEach(I.toJSON(),function(z,xe){U.setRequestHeader(xe,z)}),D.isUndefined(E.withCredentials)||(U.withCredentials=!!E.withCredentials),F&&F!=="json"&&(U.responseType=E.responseType),G&&([ae,$]=rt(G,!0),U.addEventListener("progress",ae)),N&&U.upload&&([Z,V]=rt(N),U.upload.addEventListener("progress",Z),U.upload.addEventListener("loadend",V)),(E.cancelToken||E.signal)&&(_=pe=>{U&&(M(!pe||pe.type?new Ge(null,w,U):pe),U.abort(),U=null)},E.cancelToken&&E.cancelToken.subscribe(_),E.signal&&(E.signal.aborted?_():E.signal.addEventListener("abort",_)));const se=Xs(E.url);if(se&&Ae.protocols.indexOf(se)===-1){M(new ie("Unsupported protocol "+se+":",ie.ERR_BAD_REQUEST,w));return}U.send(X||null)})},Gs=(w,S)=>{const{length:P}=w=w?w.filter(Boolean):[];if(S||P){let M=new AbortController,E;const X=function(G){if(!E){E=!0,F();const _=G instanceof Error?G:this.reason;M.abort(_ instanceof ie?_:new Ge(_ instanceof Error?_.message:_))}};let I=S&&setTimeout(()=>{I=null,X(new ie(`timeout ${S} of ms exceeded`,ie.ETIMEDOUT))},S);const F=()=>{w&&(I&&clearTimeout(I),I=null,w.forEach(G=>{G.unsubscribe?G.unsubscribe(X):G.removeEventListener("abort",X)}),w=null)};w.forEach(G=>G.addEventListener("abort",X));const{signal:N}=M;return N.unsubscribe=()=>D.asap(F),N}},Vs=function*(w,S){let P=w.byteLength;if(!S||P{const E=_s(w,S);let X=0,I,F=N=>{I||(I=!0,M&&M(N))};return new ReadableStream({async pull(N){try{const{done:G,value:_}=await E.next();if(G){F(),N.close();return}let Z=_.byteLength;if(P){let ae=X+=Z;P(ae)}N.enqueue(new Uint8Array(_))}catch(G){throw F(G),G}},cancel(N){return F(N),E.return()}},{highWaterMark:2})},dt=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Fi=dt&&typeof ReadableStream=="function",Us=dt&&(typeof TextEncoder=="function"?(w=>S=>w.encode(S))(new TextEncoder):async w=>new Uint8Array(await new Response(w).arrayBuffer())),Yi=(w,...S)=>{try{return!!w(...S)}catch{return!1}},qs=Fi&&Yi(()=>{let w=!1;const S=new Request(Ae.origin,{body:new ReadableStream,method:"POST",get duplex(){return w=!0,"half"}}).headers.has("Content-Type");return w&&!S}),di=64*1024,Mt=Fi&&Yi(()=>D.isReadableStream(new Response("").body)),nt={stream:Mt&&(w=>w.body)};dt&&(w=>{["text","arrayBuffer","blob","formData","stream"].forEach(S=>{!nt[S]&&(nt[S]=D.isFunction(w[S])?P=>P[S]():(P,M)=>{throw new ie(`Response type '${S}' is not supported`,ie.ERR_NOT_SUPPORT,M)})})})(new Response);const Zs=async w=>{if(w==null)return 0;if(D.isBlob(w))return w.size;if(D.isSpecCompliantForm(w))return(await new Request(Ae.origin,{method:"POST",body:w}).arrayBuffer()).byteLength;if(D.isArrayBufferView(w)||D.isArrayBuffer(w))return w.byteLength;if(D.isURLSearchParams(w)&&(w=w+""),D.isString(w))return(await Us(w)).byteLength},$s=async(w,S)=>{const P=D.toFiniteNumber(w.getContentLength());return P??Zs(S)},Js=dt&&(async w=>{let{url:S,method:P,data:M,signal:E,cancelToken:X,timeout:I,onDownloadProgress:F,onUploadProgress:N,responseType:G,headers:_,withCredentials:Z="same-origin",fetchOptions:ae}=Oi(w);G=G?(G+"").toLowerCase():"text";let V=Gs([E,X&&X.toAbortSignal()],I),$;const Q=V&&V.unsubscribe&&(()=>{V.unsubscribe()});let U;try{if(N&&qs&&P!=="get"&&P!=="head"&&(U=await $s(_,M))!==0){let xe=new Request(S,{method:"POST",body:M,duplex:"half"}),ce;if(D.isFormData(M)&&(ce=xe.headers.get("content-type"))&&_.setContentType(ce),xe.body){const[B,de]=oi(U,rt(li(N)));M=ci(xe.body,di,B,de)}}D.isString(Z)||(Z=Z?"include":"omit");const ue="credentials"in Request.prototype;$=new Request(S,{...ae,signal:V,method:P.toUpperCase(),headers:_.normalize().toJSON(),body:M,duplex:"half",credentials:ue?Z:void 0});let se=await fetch($);const pe=Mt&&(G==="stream"||G==="response");if(Mt&&(F||pe&&Q)){const xe={};["status","statusText","headers"].forEach(ze=>{xe[ze]=se[ze]});const ce=D.toFiniteNumber(se.headers.get("content-length")),[B,de]=F&&oi(ce,rt(li(F),!0))||[];se=new Response(ci(se.body,di,B,()=>{de&&de(),Q&&Q()}),xe)}G=G||"text";let z=await nt[D.findKey(nt,G)||"text"](se,w);return!pe&&Q&&Q(),await new Promise((xe,ce)=>{zi(xe,ce,{data:z,headers:ke.from(se.headers),status:se.status,statusText:se.statusText,config:w,request:$})})}catch(ue){throw Q&&Q(),ue&&ue.name==="TypeError"&&/fetch/i.test(ue.message)?Object.assign(new ie("Network Error",ie.ERR_NETWORK,w,$),{cause:ue.cause||ue}):ie.from(ue,ue&&ue.code,w,$)}}),Et={http:us,xhr:Ws,fetch:Js};D.forEach(Et,(w,S)=>{if(w){try{Object.defineProperty(w,"name",{value:S})}catch{}Object.defineProperty(w,"adapterName",{value:S})}});const ui=w=>`- ${w}`,Ks=w=>D.isFunction(w)||w===null||w===!1,Di={getAdapter:w=>{w=D.isArray(w)?w:[w];const{length:S}=w;let P,M;const E={};for(let X=0;X`adapter ${F} `+(N===!1?"is not supported by the environment":"is not available in the build"));let I=S?X.length>1?`since : +`+X.map(ui).join(` +`):" "+ui(X[0]):"as no adapter specified";throw new ie("There is no suitable adapter to dispatch the request "+I,"ERR_NOT_SUPPORT")}return M},adapters:Et};function St(w){if(w.cancelToken&&w.cancelToken.throwIfRequested(),w.signal&&w.signal.aborted)throw new Ge(null,w)}function gi(w){return St(w),w.headers=ke.from(w.headers),w.data=kt.call(w,w.transformRequest),["post","put","patch"].indexOf(w.method)!==-1&&w.headers.setContentType("application/x-www-form-urlencoded",!1),Di.getAdapter(w.adapter||Ke.adapter)(w).then(function(M){return St(w),M.data=kt.call(w,w.transformResponse,M),M.headers=ke.from(M.headers),M},function(M){return Ri(M)||(St(w),M&&M.response&&(M.response.data=kt.call(w,w.transformResponse,M.response),M.response.headers=ke.from(M.response.headers))),Promise.reject(M)})}const Ni="1.7.7",Ot={};["object","boolean","number","function","string","symbol"].forEach((w,S)=>{Ot[w]=function(M){return typeof M===w||"a"+(S<1?"n ":" ")+w}});const fi={};Ot.transitional=function(S,P,M){function E(X,I){return"[Axios v"+Ni+"] Transitional option '"+X+"'"+I+(M?". "+M:"")}return(X,I,F)=>{if(S===!1)throw new ie(E(I," has been removed"+(P?" in "+P:"")),ie.ERR_DEPRECATED);return P&&!fi[I]&&(fi[I]=!0,console.warn(E(I," has been deprecated since v"+P+" and will be removed in the near future"))),S?S(X,I,F):!0}};function Qs(w,S,P){if(typeof w!="object")throw new ie("options must be an object",ie.ERR_BAD_OPTION_VALUE);const M=Object.keys(w);let E=M.length;for(;E-- >0;){const X=M[E],I=S[X];if(I){const F=w[X],N=F===void 0||I(F,X,w);if(N!==!0)throw new ie("option "+X+" must be "+N,ie.ERR_BAD_OPTION_VALUE);continue}if(P!==!0)throw new ie("Unknown option "+X,ie.ERR_BAD_OPTION)}}const Tt={assertOptions:Qs,validators:Ot},Re=Tt.validators;class Ye{constructor(S){this.defaults=S,this.interceptors={request:new ri,response:new ri}}async request(S,P){try{return await this._request(S,P)}catch(M){if(M instanceof Error){let E;Error.captureStackTrace?Error.captureStackTrace(E={}):E=new Error;const X=E.stack?E.stack.replace(/^.+\n/,""):"";try{M.stack?X&&!String(M.stack).endsWith(X.replace(/^.+\n.+\n/,""))&&(M.stack+=` +`+X):M.stack=X}catch{}}throw M}}_request(S,P){typeof S=="string"?(P=P||{},P.url=S):P=S||{},P=De(this.defaults,P);const{transitional:M,paramsSerializer:E,headers:X}=P;M!==void 0&&Tt.assertOptions(M,{silentJSONParsing:Re.transitional(Re.boolean),forcedJSONParsing:Re.transitional(Re.boolean),clarifyTimeoutError:Re.transitional(Re.boolean)},!1),E!=null&&(D.isFunction(E)?P.paramsSerializer={serialize:E}:Tt.assertOptions(E,{encode:Re.function,serialize:Re.function},!0)),P.method=(P.method||this.defaults.method||"get").toLowerCase();let I=X&&D.merge(X.common,X[P.method]);X&&D.forEach(["delete","get","head","post","put","patch","common"],$=>{delete X[$]}),P.headers=ke.concat(I,X);const F=[];let N=!0;this.interceptors.request.forEach(function(Q){typeof Q.runWhen=="function"&&Q.runWhen(P)===!1||(N=N&&Q.synchronous,F.unshift(Q.fulfilled,Q.rejected))});const G=[];this.interceptors.response.forEach(function(Q){G.push(Q.fulfilled,Q.rejected)});let _,Z=0,ae;if(!N){const $=[gi.bind(this),void 0];for($.unshift.apply($,F),$.push.apply($,G),ae=$.length,_=Promise.resolve(P);Z{if(!M._listeners)return;let X=M._listeners.length;for(;X-- >0;)M._listeners[X](E);M._listeners=null}),this.promise.then=E=>{let X;const I=new Promise(F=>{M.subscribe(F),X=F}).then(E);return I.cancel=function(){M.unsubscribe(X)},I},S(function(X,I,F){M.reason||(M.reason=new Ge(X,I,F),P(M.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(S){if(this.reason){S(this.reason);return}this._listeners?this._listeners.push(S):this._listeners=[S]}unsubscribe(S){if(!this._listeners)return;const P=this._listeners.indexOf(S);P!==-1&&this._listeners.splice(P,1)}toAbortSignal(){const S=new AbortController,P=M=>{S.abort(M)};return this.subscribe(P),S.signal.unsubscribe=()=>this.unsubscribe(P),S.signal}static source(){let S;return{token:new Ft(function(E){S=E}),cancel:S}}}function er(w){return function(P){return w.apply(null,P)}}function tr(w){return D.isObject(w)&&w.isAxiosError===!0}const It={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(It).forEach(([w,S])=>{It[S]=w});function Hi(w){const S=new Ye(w),P=bi(Ye.prototype.request,S);return D.extend(P,Ye.prototype,S,{allOwnKeys:!0}),D.extend(P,S,null,{allOwnKeys:!0}),P.create=function(E){return Hi(De(w,E))},P}const be=Hi(Ke);be.Axios=Ye;be.CanceledError=Ge;be.CancelToken=Ft;be.isCancel=Ri;be.VERSION=Ni;be.toFormData=ct;be.AxiosError=ie;be.Cancel=be.CanceledError;be.all=function(S){return Promise.all(S)};be.spread=er;be.isAxiosError=tr;be.mergeConfig=De;be.AxiosHeaders=ke;be.formToJSON=w=>Ii(D.isHTMLForm(w)?new FormData(w):w);be.getAdapter=Di.getAdapter;be.HttpStatusCode=It;be.default=be;var Bi={exports:{}},it={exports:{}};/*! + * ApexCharts v3.53.0 + * (c) 2018-2024 ApexCharts + * Released under the MIT License. + */var pi;function ir(){return pi||(pi=1,function(w,S){(function(P,M){w.exports=M()})(xi,function(){function P(y,e){(e==null||e>y.length)&&(e=y.length);for(var t=0,i=Array(e);t>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,t){return y.isColorHex(t)?this.shadeHexColor(e,t):this.shadeRGBColor(e,t)}}],[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&se(e)==="object"&&!Array.isArray(e)&&e!=null}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,i=[];for(t=0;t1&&arguments[1]!==void 0?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(t.length===1)return t[0];var i="",a=e<0?"-":"",s=t[0].replace(".",""),r=Number(t[1])+1;if(r<0){for(i=a+"0.";r++;)i+="0";return i+s.replace(/^-/,"")}for(r-=s.length;r--;)i+="0";return s+i}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),i=e.clientHeight,a=e.clientWidth;return i-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[a-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce(function(t,i){return Array.isArray(i)&&(i=i.reduce(function(a,s){return a.length>s.length?a:s})),t.length>i.length?t:i},0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"#999999",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.6;e.substring(0,1)!=="#"&&(e="#999999");var i=e.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&arguments[1]!==void 0?arguments[1]:"x",i=e.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,i){if(i>=e.length)for(var a=i-e.length+1;a--;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e.style.key=t[i])}},{key:"preciseAddition",value:function(e,t){var i=(String(e).split(".")[1]||"").length,a=(String(t).split(".")[1]||"").length,s=Math.pow(10,Math.max(i,a));return(Math.round(e*s)+Math.round(t*s))/s}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isMsEdge",value:function(){var e=window.navigator.userAgent,t=e.indexOf("Edge/");return t>0&&parseInt(e.substring(t+5,e.indexOf(".",t)),10)}},{key:"getGCD",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*a),t=Math.round(Math.abs(t)*a);t;){var s=t;t=e%t,e=s}return e/a}},{key:"getPrimeFactors",value:function(e){for(var t=[],i=2;e>=2;)e%i==0?(t.push(i),e/=i):i++;return t}},{key:"mod",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*a))%(t=Math.round(Math.abs(t)*a))/a}}]),y}(),xe=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return I(y,[{key:"setEasingFunctions",value:function(){var e;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":e="-";break;case"easein":e="<";break;case"easeout":e=">";break;case"easeinout":default:e="<>";break;case"swing":e=function(t){var i=1.70158;return(t-=1)*t*((i+1)*t+i)+1};break;case"bounce":e=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":e=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=e}}},{key:"animateLine",value:function(e,t,i,a){e.attr(t).animate(a).attr(i)}},{key:"animateMarker",value:function(e,t,i,a){e.attr({opacity:0}).animate(t,i).attr({opacity:1}).afterAll(function(){a()})}},{key:"animateRect",value:function(e,t,i,a,s){e.attr(t).animate(a).attr(i).afterAll(function(){return s()})}},{key:"animatePathsGradually",value:function(e){var t=e.el,i=e.realIndex,a=e.j,s=e.fill,r=e.pathFrom,n=e.pathTo,o=e.speed,h=e.delay,c=this.w,d=0;c.config.chart.animations.animateGradually.enabled&&(d=c.config.chart.animations.animateGradually.delay),c.config.chart.animations.dynamicAnimation.enabled&&c.globals.dataChanged&&c.config.chart.type!=="bar"&&(d=0),this.morphSVG(t,i,a,c.config.chart.type!=="line"||c.globals.comboCharts?s:"stroke",r,n,o,h*d)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(e){var t=e.el;t.classList.remove("apexcharts-element-hidden"),t.classList.add("apexcharts-hidden-element-shown")})}},{key:"animationCompleted",value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),typeof t.config.chart.events.animationEnd=="function"&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:"morphSVG",value:function(e,t,i,a,s,r,n,o){var h=this,c=this.w;s||(s=e.attr("pathFrom")),r||(r=e.attr("pathTo"));var d=function(u){return c.config.chart.type==="radar"&&(n=1),"M 0 ".concat(c.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=d()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=d()),c.globals.shouldAnimate||(n=1),e.plot(s).animate(1,c.globals.easing,o).plot(s).animate(n,c.globals.easing,o).plot(r).afterAll(function(){z.isNumber(i)?i===c.globals.series[c.globals.maxValsInArrayIndex].length-2&&c.globals.shouldAnimate&&h.animationCompleted(e):a!=="none"&&c.globals.shouldAnimate&&(!c.globals.comboCharts&&t===c.globals.series.length-1||c.globals.comboCharts)&&h.animationCompleted(e),h.showDelayedElements()})}}]),y}(),ce=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"getDefaultFilter",value:function(e,t){var i=this.w;e.unfilter(!0),new window.SVG.Filter().size("120%","180%","-5%","-40%"),i.config.states.normal.filter!=="none"?this.applyFilter(e,t,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addNormalFilter",value:function(e,t){var i=this.w;i.config.chart.dropShadow.enabled&&!e.node.classList.contains("apexcharts-marker")&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addLightenFilter",value:function(e,t,i){var a=this,s=this.w,r=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=s.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"addDarkenFilter",value:function(e,t,i){var a=this,s=this.w,r=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=s.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:r}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"applyFilter",value:function(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(e,t);break;case"lighten":this.addLightenFilter(e,t,{intensity:a});break;case"darken":this.addDarkenFilter(e,t,{intensity:a})}}},{key:"addShadow",value:function(e,t,i){var a,s=this.w,r=i.blur,n=i.top,o=i.left,h=i.color,c=i.opacity;if(((a=s.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.length)>0&&s.config.chart.dropShadow.enabledOnSeries.indexOf(t)===-1)return e;var d=e.flood(Array.isArray(h)?h[t]:h,c).composite(e.sourceAlpha,"in").offset(o,n).gaussianBlur(r).merge(e.source);return e.blend(e.source,d)}},{key:"dropShadow",value:function(e,t){var i,a,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=t.top,n=t.left,o=t.blur,h=t.color,c=t.opacity,d=t.noUserSpaceOnUse,u=this.w;return e.unfilter(!0),z.isMsEdge()&&u.config.chart.type==="radialBar"||((i=u.config.chart.dropShadow.enabledOnSeries)===null||i===void 0?void 0:i.length)>0&&((a=u.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.indexOf(s))===-1||(h=Array.isArray(h)?h[s]:h,e.filter(function(f){var p=null;p=z.isSafari()||z.isFirefox()||z.isMsEdge()?f.flood(h,c).composite(f.sourceAlpha,"in").offset(n,r).gaussianBlur(o):f.flood(h,c).composite(f.sourceAlpha,"in").offset(n,r).gaussianBlur(o).merge(f.source),f.blend(f.source,p)}),d||e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)),e}},{key:"setSelectionFilter",value:function(e,t,i){var a=this.w;if(a.globals.selectedDataPoints[t]!==void 0&&a.globals.selectedDataPoints[t].indexOf(i)>-1){e.node.setAttribute("selected",!0);var s=a.config.states.active.filter;s!=="none"&&this.applyFilter(e,t,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(e){(function(t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])})({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),y}(),B=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"roundPathCorners",value:function(e,t){function i(L,R,T){var Y=R.x-L.x,W=R.y-L.y,O=Math.sqrt(Y*Y+W*W);return a(L,R,Math.min(1,T/O))}function a(L,R,T){return{x:L.x+(R.x-L.x)*T,y:L.y+(R.y-L.y)*T}}function s(L,R){L.length>2&&(L[L.length-2]=R.x,L[L.length-1]=R.y)}function r(L){return{x:parseFloat(L[L.length-2]),y:parseFloat(L[L.length-1])}}e.indexOf("NaN")>-1&&(e="");var n=e.split(/[,\s]/).reduce(function(L,R){var T=R.match("([a-zA-Z])(.+)");return T?(L.push(T[1]),L.push(T[2])):L.push(R),L},[]).reduce(function(L,R){return parseFloat(R)==R&&L.length?L[L.length-1].push(R):L.push([R]),L},[]),o=[];if(n.length>1){var h=r(n[0]),c=null;n[n.length-1][0]=="Z"&&n[0].length>2&&(c=["L",h.x,h.y],n[n.length-1]=c),o.push(n[0]);for(var d=1;d2&&f[0]=="L"&&p.length>2&&p[0]=="L"){var x,m,v=r(u),A=r(f),l=r(p);x=i(A,v,t),m=i(A,l,t),s(f,x),f.origPoint=A,o.push(f);var g=a(x,A,.5),b=a(A,m,.5),C=["C",g.x,g.y,b.x,b.y,m.x,m.y];C.origPoint=A,o.push(C)}else o.push(f)}if(c){var k=r(o[o.length-1]);o.push(["Z"]),s(o[0],k)}}else o=n;return o.reduce(function(L,R){return L+R.join(" ")+" "},"")}},{key:"drawLine",value:function(e,t,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#a8a8a8",r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:e,y1:t,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":o})}},{key:"drawRect",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"#fefefe",n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:1,o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,h=arguments.length>8&&arguments[8]!==void 0?arguments[8]:null,c=arguments.length>9&&arguments[9]!==void 0?arguments[9]:0,d=this.w.globals.dom.Paper.rect();return d.attr({x:e,y:t,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,"stroke-width":o!==null?o:0,stroke:h!==null?h:"none","stroke-dasharray":c}),d.node.setAttribute("fill",r),d}},{key:"drawPolygon",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"#e1e1e1",i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(e).attr({fill:a,stroke:t,"stroke-width":i})}},{key:"drawCircle",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e<0&&(e=0);var i=this.w.globals.dom.Paper.circle(2*e);return t!==null&&i.attr(t),i}},{key:"drawPath",value:function(e){var t=e.d,i=t===void 0?"":t,a=e.stroke,s=a===void 0?"#a8a8a8":a,r=e.strokeWidth,n=r===void 0?1:r,o=e.fill,h=e.fillOpacity,c=h===void 0?1:h,d=e.strokeOpacity,u=d===void 0?1:d,f=e.classes,p=e.strokeLinecap,x=p===void 0?null:p,m=e.strokeDashArray,v=m===void 0?0:m,A=this.w;return x===null&&(x=A.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(A.globals.gridHeight)),A.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":c,stroke:s,"stroke-opacity":u,"stroke-linecap":x,"stroke-width":n,"stroke-dasharray":v,class:f})}},{key:"group",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w.globals.dom.Paper.group();return e!==null&&t.attr(e),t}},{key:"move",value:function(e,t){var i=["M",e,t].join(" ");return i}},{key:"line",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,a=null;return i===null?a=[" L",e,t].join(" "):i==="H"?a=[" H",e].join(" "):i==="V"&&(a=[" V",t].join(" ")),a}},{key:"curve",value:function(e,t,i,a,s,r){var n=["C",e,t,i,a,s,r].join(" ");return n}},{key:"quadraticCurve",value:function(e,t,i,a){return["Q",e,t,i,a].join(" ")}},{key:"arc",value:function(e,t,i,a,s,r,n){var o="A";arguments.length>7&&arguments[7]!==void 0&&arguments[7]&&(o="a");var h=[o,e,t,i,a,s,r,n].join(" ");return h}},{key:"renderPaths",value:function(e){var t,i=e.j,a=e.realIndex,s=e.pathFrom,r=e.pathTo,n=e.stroke,o=e.strokeWidth,h=e.strokeLinecap,c=e.fill,d=e.animationDelay,u=e.initialSpeed,f=e.dataChangeSpeed,p=e.className,x=e.shouldClipToGrid,m=x===void 0||x,v=e.bindEventsOnPaths,A=v===void 0||v,l=e.drawShadow,g=l===void 0||l,b=this.w,C=new ce(this.ctx),k=new xe(this.ctx),L=this.w.config.chart.animations.enabled,R=L&&this.w.config.chart.animations.dynamicAnimation.enabled,T=!!(L&&!b.globals.resized||R&&b.globals.dataChanged&&b.globals.shouldAnimate);T?t=s:(t=r,b.globals.animationEnded=!0);var Y=b.config.stroke.dashArray,W=0;W=Array.isArray(Y)?Y[a]:b.config.stroke.dashArray;var O=this.drawPath({d:t,stroke:n,strokeWidth:o,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:W});if(O.attr("index",a),m&&O.attr({"clip-path":"url(#gridRectMask".concat(b.globals.cuid,")")}),b.config.states.normal.filter.type!=="none")C.getDefaultFilter(O,a);else if(b.config.chart.dropShadow.enabled&&g){var H=b.config.chart.dropShadow;C.dropShadow(O,H,a)}A&&(O.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,O)),O.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,O)),O.node.addEventListener("mousedown",this.pathMouseDown.bind(this,O))),O.attr({pathTo:r,pathFrom:s});var j={el:O,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:c,strokeWidth:o,delay:d};return!L||b.globals.resized||b.globals.dataChanged?!b.globals.resized&&b.globals.dataChanged||k.showDelayedElements():k.animatePathsGradually(V(V({},j),{},{speed:u})),b.globals.dataChanged&&R&&T&&k.animatePathsGradually(V(V({},j),{},{speed:f})),O}},{key:"drawPattern",value:function(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#a8a8a8",s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;return this.w.globals.dom.Paper.pattern(t,i,function(r){e==="horizontalLines"?r.line(0,0,i,0).stroke({color:a,width:s+1}):e==="verticalLines"?r.line(0,0,0,t).stroke({color:a,width:s+1}):e==="slantedLines"?r.line(0,0,t,i).stroke({color:a,width:s}):e==="squares"?r.rect(t,i).fill("none").stroke({color:a,width:s}):e==="circles"&&r.circle(t).fill("none").stroke({color:a,width:s})})}},{key:"drawGradient",value:function(e,t,i,a,s){var r,n=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,h=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,c=arguments.length>8&&arguments[8]!==void 0?arguments[8]:0,d=this.w;t.length<9&&t.indexOf("#")===0&&(t=z.hexToRgba(t,a)),i.length<9&&i.indexOf("#")===0&&(i=z.hexToRgba(i,s));var u=0,f=1,p=1,x=null;o!==null&&(u=o[0]!==void 0?o[0]/100:0,f=o[1]!==void 0?o[1]/100:1,p=o[2]!==void 0?o[2]/100:1,x=o[3]!==void 0?o[3]/100:null);var m=!(d.config.chart.type!=="donut"&&d.config.chart.type!=="pie"&&d.config.chart.type!=="polarArea"&&d.config.chart.type!=="bubble");if(r=h===null||h.length===0?d.globals.dom.Paper.gradient(m?"radial":"linear",function(l){l.at(u,t,a),l.at(f,i,s),l.at(p,i,s),x!==null&&l.at(x,t,a)}):d.globals.dom.Paper.gradient(m?"radial":"linear",function(l){(Array.isArray(h[c])?h[c]:h).forEach(function(g){l.at(g.offset/100,g.color,g.opacity)})}),m){var v=d.globals.gridWidth/2,A=d.globals.gridHeight/2;d.config.chart.type!=="bubble"?r.attr({gradientUnits:"userSpaceOnUse",cx:v,cy:A,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else e==="vertical"?r.from(0,0).to(0,1):e==="diagonal"?r.from(0,0).to(1,1):e==="horizontal"?r.from(0,1).to(1,1):e==="diagonal2"&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(e){var t=e.text,i=e.maxWidth,a=e.fontSize,s=e.fontFamily,r=this.getTextRects(t,a,s),n=r.width/t.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var h=i.globals.dom.Paper.select(".apexcharts-series path").members,c=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,d=function(p){Array.prototype.forEach.call(p,function(x){x.node.setAttribute("selected","false"),a.getDefaultFilter(x,s)})};d(h),d(c)}e.node.setAttribute("selected","true"),n="true",i.globals.selectedDataPoints[s]===void 0&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(n==="true"){var u=i.config.states.active.filter;if(u!=="none")a.applyFilter(e,s,u.type,u.value);else if(i.config.states.hover.filter!=="none"&&!i.globals.isTouchDevice){var f=i.config.states.hover.filter;a.applyFilter(e,s,f.type,f.value)}}else i.config.states.active.filter.type!=="none"&&(i.config.states.hover.filter.type==="none"||i.globals.isTouchDevice?a.getDefaultFilter(e,s):(f=i.config.states.hover.filter,a.applyFilter(e,s,f.type,f.value)));typeof i.config.chart.events.dataPointSelection=="function"&&i.config.chart.events.dataPointSelection(t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),t&&this.ctx.events.fireEvent("dataPointSelection",[t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(e){var t={};return e&&typeof e.getBBox=="function"&&(t=e.getBBox()),{x:t.x+t.width/2,y:t.y+t.height/2}}},{key:"getTextRects",value:function(e,t,i,a){var s=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:e,textAnchor:"start",fontSize:t,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(e,t,i){if(typeof e.getComputedTextLength=="function"&&(e.textContent=t,t.length>0&&e.getComputedTextLength()>=i/1.1)){for(var a=t.length-3;a>0;a-=3)if(e.getSubStringLength(0,a)<=i/1.1)return void(e.textContent=t.substring(0,a)+"...");e.textContent="."}}}],[{key:"setAttrs",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}}]),y}(),de=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"getStackedSeriesTotals",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=this.w,i=[];if(t.globals.series.length===0)return i;for(var a=0;a0&&arguments[0]!==void 0?arguments[0]:null;return e===null?this.w.config.series.reduce(function(t,i){return t+i},0):this.w.globals.series[e].reduce(function(t,i){return t+i},0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var e=this,t=this.w,i=[];return t.globals.seriesGroups.forEach(function(a){var s=[];t.config.series.forEach(function(n,o){a.indexOf(t.globals.seriesNames[o])>-1&&s.push(o)});var r=t.globals.series.map(function(n,o){return s.indexOf(o)===-1?o:-1}).filter(function(n){return n!==-1});i.push(e.getStackedSeriesTotals(r))}),i}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],a=[],s=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(d){return Array.isArray(d.seriesName)});t.series.forEach(function(d,u){s.push(u),a.push(null)}),t.yaxis.forEach(function(d,u){i[u]=[]});var n=[];t.yaxis.forEach(function(d,u){var f=!1;if(d.seriesName){var p=[];Array.isArray(d.seriesName)?p=d.seriesName:p.push(d.seriesName),p.forEach(function(x){t.series.forEach(function(m,v){if(m.name===x){var A=v;u===v||r?!r||s.indexOf(v)>-1?i[u].push([u,v]):console.warn("Series '"+m.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[v].push([v,u]),A=u),f=!0,(A=s.indexOf(A))!==-1&&s.splice(A,1)}})})}f||n.push(u)}),i=i.map(function(d,u){var f=[];return d.forEach(function(p){a[p[1]]=p[0],f.push(p[1])}),f});for(var o=t.yaxis.length-1,h=0;h0&&arguments[0]!==void 0?arguments[0]:null;return(e===null?this.w.config.series.filter(function(t){return t!==null}):this.w.config.series[e].data.filter(function(t){return t!==null})).length===0}},{key:"seriesHaveSameValues",value:function(e){return this.w.globals.series[e].every(function(t,i,a){return t===a[0]})}},{key:"getCategoryLabels",value:function(e){var t=this.w,i=e.slice();return t.config.xaxis.convertedCatToNumeric&&(i=e.map(function(a,s){return t.config.xaxis.labels.formatter(a-t.globals.minX+1)})),i}},{key:"getLargestSeries",value:function(){var e=this.w;e.globals.maxValsInArrayIndex=e.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,e.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var e=this.w,t=0;return e.globals.markers.size.forEach(function(i){t=Math.max(t,i)}),e.config.markers.discrete&&e.config.markers.discrete.length&&e.config.markers.discrete.forEach(function(i){t=Math.max(t,i.size)}),t>0&&(t+=e.config.markers.hover.sizeOffset+1),e.globals.markers.largestSize=t,t}},{key:"getSeriesTotals",value:function(){var e=this.w;e.globals.seriesTotals=e.globals.series.map(function(t,i){var a=0;if(Array.isArray(t))for(var s=0;se&&i.globals.seriesX[s][n]0){var p=function(m,v){var A=s.config.yaxis[s.globals.seriesYAxisReverseMap[v]],l=m<0?-1:1;return m=Math.abs(m),A.logarithmic&&(m=a.getBaseLog(A.logBase,m)),-l*m/n[v]};if(r.isMultipleYAxis){h=[];for(var x=0;x0&&t.forEach(function(n){var o=[],h=[];e.i.forEach(function(c,d){s.config.series[c].group===n&&(o.push(e.series[d]),h.push(c))}),o.length>0&&r.push(a.draw(o,i,h))}),r}}],[{key:"checkComboSeries",value:function(e,t){var i=!1,a=0,s=0;return t===void 0&&(t="line"),e.length&&e[0].type!==void 0&&e.forEach(function(r){r.type!=="bar"&&r.type!=="column"&&r.type!=="candlestick"&&r.type!=="boxPlot"||a++,r.type!==void 0&&r.type!==t&&s++}),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:"extendArrayProps",value:function(e,t,i){var a,s,r,n,o,h;return(a=t)!==null&&a!==void 0&&a.yaxis&&(t=e.extendYAxis(t,i)),(s=t)!==null&&s!==void 0&&s.annotations&&(t.annotations.yaxis&&(t=e.extendYAxisAnnotations(t)),(r=t)!==null&&r!==void 0&&(n=r.annotations)!==null&&n!==void 0&&n.xaxis&&(t=e.extendXAxisAnnotations(t)),(o=t)!==null&&o!==void 0&&(h=o.annotations)!==null&&h!==void 0&&h.points&&(t=e.extendPointAnnotations(t))),t}}]),y}(),ze=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e}return I(y,[{key:"setOrientations",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.w;if(e.label.orientation==="vertical"){var a=t!==null?t:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(s!==null){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),e.label.position==="top"?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var n=this.annoCtx.graphics.rotateAroundCenter(s),o=n.x,h=n.y;s.setAttribute("transform","rotate(-90 ".concat(o," ").concat(h,")"))}}}},{key:"addBackgroundToAnno",value:function(e,t){var i=this.w;if(!e||t.label.text===void 0||t.label.text!==void 0&&!String(t.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=e.getBoundingClientRect(),r=t.label.style.padding.left,n=t.label.style.padding.right,o=t.label.style.padding.top,h=t.label.style.padding.bottom;t.label.orientation==="vertical"&&(o=t.label.style.padding.left,h=t.label.style.padding.right,r=t.label.style.padding.top,n=t.label.style.padding.bottom);var c=s.left-a.left-r,d=s.top-a.top-o,u=this.annoCtx.graphics.drawRect(c-i.globals.barPadForNumericAxis,d,s.width+r+n,s.height+o+h,t.label.borderRadius,t.label.style.background,1,t.label.borderWidth,t.label.borderColor,0);return t.id&&u.node.classList.add(t.id),u}},{key:"annotationsBackground",value:function(){var e=this,t=this.w,i=function(a,s,r){var n=t.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(s,"']"));if(n){var o=n.parentNode,h=e.addBackgroundToAnno(n,a);h&&(o.insertBefore(h.node,n),a.label.mouseEnter&&h.node.addEventListener("mouseenter",a.label.mouseEnter.bind(e,a)),a.label.mouseLeave&&h.node.addEventListener("mouseleave",a.label.mouseLeave.bind(e,a)),a.label.click&&h.node.addEventListener("click",a.label.click.bind(e,a)))}};t.config.annotations.xaxis.map(function(a,s){i(a,s,"xaxis")}),t.config.annotations.yaxis.map(function(a,s){i(a,s,"yaxis")}),t.config.annotations.points.map(function(a,s){i(a,s,"point")})}},{key:"getY1Y2",value:function(e,t){var i,a=e==="y1"?t.y:t.y2,s=!1,r=this.w;if(this.annoCtx.invertAxis){var n=r.globals.labels;r.config.xaxis.convertedCatToNumeric&&(n=r.globals.categoryLabels);var o=n.indexOf(a),h=r.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(o+1)+")");i=h?parseFloat(h.getAttribute("y")):(r.globals.gridHeight/n.length-1)*(o+1)-r.globals.barHeight,t.seriesIndex!==void 0&&r.globals.barHeight&&(i=i-r.globals.barHeight/2*(r.globals.series.length-1)+r.globals.barHeight*t.seriesIndex)}else{var c,d=r.globals.seriesYAxisMap[t.yAxisIndex][0];r.config.yaxis[t.yAxisIndex].logarithmic?c=(a=new de(this.annoCtx.ctx).getLogVal(r.config.yaxis[t.yAxisIndex].logBase,a,d))/r.globals.yLogRatio[d]:c=(a-r.globals.minYArr[d])/(r.globals.yRange[d]/r.globals.gridHeight),c>r.globals.gridHeight?(c=r.globals.gridHeight,s=!0):c<0&&(c=0,s=!0),i=r.globals.gridHeight-c,!t.marker||t.y!==void 0&&t.y!==null||(i=0),r.config.yaxis[t.yAxisIndex]&&r.config.yaxis[t.yAxisIndex].reversed&&(i=c)}return typeof a=="string"&&a.indexOf("px")>-1&&(i=parseFloat(a)),{yP:i,clipped:s}}},{key:"getX1X2",value:function(e,t){var i,a=e==="x1"?t.x:t.x2,s=this.w,r=this.annoCtx.invertAxis?s.globals.minY:s.globals.minX,n=this.annoCtx.invertAxis?s.globals.maxY:s.globals.maxX,o=this.annoCtx.invertAxis?s.globals.yRange[0]:s.globals.xRange,h=!1;return i=this.annoCtx.inversedReversedAxis?(n-a)/(o/s.globals.gridWidth):(a-r)/(o/s.globals.gridWidth),s.config.xaxis.type!=="category"&&!s.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||s.globals.dataFormatXNumeric||s.config.chart.sparkline.enabled||(i=this.getStringX(a)),typeof a=="string"&&a.indexOf("px")>-1&&(i=parseFloat(a)),a==null&&t.marker&&(i=s.globals.gridWidth),t.seriesIndex!==void 0&&s.globals.barWidth&&!this.annoCtx.invertAxis&&(i=i-s.globals.barWidth/2*(s.globals.series.length-1)+s.globals.barWidth*t.seriesIndex),i>s.globals.gridWidth?(i=s.globals.gridWidth,h=!0):i<0&&(i=0,h=!0),{x:i,clipped:h}}},{key:"getStringX",value:function(e){var t=this.w,i=e;t.config.xaxis.convertedCatToNumeric&&t.globals.categoryLabels.length&&(e=t.globals.categoryLabels.indexOf(e)+1);var a=t.globals.labels.indexOf(e),s=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),y}(),Wi=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new ze(this.annoCtx)}return I(y,[{key:"addXaxisAnnotation",value:function(e,t,i){var a,s=this.w,r=this.helpers.getX1X2("x1",e),n=r.x,o=r.clipped,h=!0,c=e.label.text,d=e.strokeDashArray;if(z.isNumber(n)){if(e.x2===null||e.x2===void 0){if(!o){var u=this.annoCtx.graphics.drawLine(n+e.offsetX,0+e.offsetY,n+e.offsetX,s.globals.gridHeight+e.offsetY,e.borderColor,d,e.borderWidth);t.appendChild(u.node),e.id&&u.node.classList.add(e.id)}}else{var f=this.helpers.getX1X2("x2",e);if(a=f.x,h=f.clipped,!o||!h){if(a12?f-12:f===0?12:f;t=(t=(t=(t=t.replace(/(^|[^\\])HH+/g,"$1"+h(f))).replace(/(^|[^\\])H/g,"$1"+f)).replace(/(^|[^\\])hh+/g,"$1"+h(p))).replace(/(^|[^\\])h/g,"$1"+p);var x=a?e.getUTCMinutes():e.getMinutes();t=(t=t.replace(/(^|[^\\])mm+/g,"$1"+h(x))).replace(/(^|[^\\])m/g,"$1"+x);var m=a?e.getUTCSeconds():e.getSeconds();t=(t=t.replace(/(^|[^\\])ss+/g,"$1"+h(m))).replace(/(^|[^\\])s/g,"$1"+m);var v=a?e.getUTCMilliseconds():e.getMilliseconds();t=t.replace(/(^|[^\\])fff+/g,"$1"+h(v,3)),v=Math.round(v/10),t=t.replace(/(^|[^\\])ff/g,"$1"+h(v)),v=Math.round(v/10);var A=f<12?"AM":"PM";t=(t=(t=t.replace(/(^|[^\\])f/g,"$1"+v)).replace(/(^|[^\\])TT+/g,"$1"+A)).replace(/(^|[^\\])T/g,"$1"+A.charAt(0));var l=A.toLowerCase();t=(t=t.replace(/(^|[^\\])tt+/g,"$1"+l)).replace(/(^|[^\\])t/g,"$1"+l.charAt(0));var g=-e.getTimezoneOffset(),b=a||!g?"Z":g>0?"+":"-";if(!a){var C=(g=Math.abs(g))%60;b+=h(Math.floor(g/60))+":"+h(C)}t=t.replace(/(^|[^\\])K/g,"$1"+b);var k=(a?e.getUTCDay():e.getDay())+1;return t=(t=(t=(t=(t=t.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(o[0],"g"),o[k])).replace(new RegExp(s[0],"g"),s[d])).replace(new RegExp(r[0],"g"),r[d])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(e,t,i){var a=this.w;a.config.xaxis.min!==void 0&&(e=a.config.xaxis.min),a.config.xaxis.max!==void 0&&(t=a.config.xaxis.max);var s=this.getDate(e),r=this.getDate(t),n=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"calculcateLastDaysOfMonth",value:function(e,t,i){return this.determineDaysOfMonths(e,t)-i}},{key:"determineDaysOfYear",value:function(e){var t=365;return this.isLeapYear(e)&&(t=366),t}},{key:"determineRemainingDaysOfYear",value:function(e,t,i){var a=this.daysCntOfYear[t]+i;return t>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(e,t){var i=30;switch(e=z.monthMod(e),!0){case this.months30.indexOf(e)>-1:e===2&&(i=this.isLeapYear(t)?29:28);break;case this.months31.indexOf(e)>-1:default:i=31}return i}}]),y}(),Ve=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return I(y,[{key:"xLabelFormat",value:function(e,t,i,a){var s=this.w;if(s.config.xaxis.type==="datetime"&&s.config.xaxis.labels.formatter===void 0&&s.config.tooltip.x.formatter===void 0){var r=new me(this.ctx);return r.formatDate(r.getDate(t),s.config.tooltip.x.format)}return e(t,i,a)}},{key:"defaultGeneralFormatter",value:function(e){return Array.isArray(e)?e.map(function(t){return t}):e}},{key:"defaultYFormatter",value:function(e,t,i){var a=this.w;if(z.isNumber(e))if(a.globals.yValueDecimal!==0)e=e.toFixed(t.decimalsInFloat!==void 0?t.decimalsInFloat:a.globals.yValueDecimal);else{var s=e.toFixed(0);e=e==s?s:e.toFixed(1)}return e}},{key:"setLabelFormatters",value:function(){var e=this,t=this.w;return t.globals.xaxisTooltipFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttKeyFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttZFormatter=function(i){return i},t.globals.legendFormatter=function(i){return e.defaultGeneralFormatter(i)},t.config.xaxis.labels.formatter!==void 0?t.globals.xLabelFormatter=t.config.xaxis.labels.formatter:t.globals.xLabelFormatter=function(i){if(z.isNumber(i)){if(!t.config.xaxis.convertedCatToNumeric&&t.config.xaxis.type==="numeric"){if(z.isNumber(t.config.xaxis.decimalsInFloat))return i.toFixed(t.config.xaxis.decimalsInFloat);var a=t.globals.maxX-t.globals.minX;return a>0&&a<100?i.toFixed(1):i.toFixed(0)}return t.globals.isBarHorizontal&&t.globals.maxY-t.globals.minYArr<4?i.toFixed(1):i.toFixed(0)}return i},typeof t.config.tooltip.x.formatter=="function"?t.globals.ttKeyFormatter=t.config.tooltip.x.formatter:t.globals.ttKeyFormatter=t.globals.xLabelFormatter,typeof t.config.xaxis.tooltip.formatter=="function"&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),(Array.isArray(t.config.tooltip.y)||t.config.tooltip.y.formatter!==void 0)&&(t.globals.ttVal=t.config.tooltip.y),t.config.tooltip.z.formatter!==void 0&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),t.config.legend.formatter!==void 0&&(t.globals.legendFormatter=t.config.legend.formatter),t.config.yaxis.forEach(function(i,a){i.labels.formatter!==void 0?t.globals.yLabelFormatters[a]=i.labels.formatter:t.globals.yLabelFormatters[a]=function(s){return t.globals.xyCharts?Array.isArray(s)?s.map(function(r){return e.defaultYFormatter(r,i,a)}):e.defaultYFormatter(s,i,a):s}}),t.globals}},{key:"heatmapLabelFormatters",value:function(){var e=this.w;if(e.config.chart.type==="heatmap"){e.globals.yAxisScale[0].result=e.globals.seriesNames.slice();var t=e.globals.seriesNames.reduce(function(i,a){return i.length>a.length?i:a},0);e.globals.yAxisScale[0].niceMax=t,e.globals.yAxisScale[0].niceMin=t}}}]),y}(),Ie=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"getLabel",value:function(e,t,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"12px",n=!(arguments.length>6&&arguments[6]!==void 0)||arguments[6],o=this.w,h=e[a]===void 0?"":e[a],c=h,d=o.globals.xLabelFormatter,u=o.config.xaxis.labels.formatter,f=!1,p=new Ve(this.ctx),x=h;n&&(c=p.xLabelFormat(d,h,x,{i:a,dateFormatter:new me(this.ctx).formatDate,w:o}),u!==void 0&&(c=u(h,e[a],{i:a,dateFormatter:new me(this.ctx).formatDate,w:o})));var m,v;t.length>0?(m=t[a].unit,v=null,t.forEach(function(b){b.unit==="month"?v="year":b.unit==="day"?v="month":b.unit==="hour"?v="day":b.unit==="minute"&&(v="hour")}),f=v===m,i=t[a].position,c=t[a].value):o.config.xaxis.type==="datetime"&&u===void 0&&(c=""),c===void 0&&(c=""),c=Array.isArray(c)?c:c.toString();var A=new B(this.ctx),l={};l=o.globals.rotateXLabels&&n?A.getTextRects(c,parseInt(r,10),null,"rotate(".concat(o.config.xaxis.labels.rotate," 0 0)"),!1):A.getTextRects(c,parseInt(r,10));var g=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(c)&&(String(c)==="NaN"||s.indexOf(c)>=0&&g)&&(c=""),{x:i,text:c,textRect:l,isBold:f}}},{key:"checkLabelBasedOnTickamount",value:function(e,t,i){var a=this.w,s=a.config.xaxis.tickAmount;return s==="dataPoints"&&(s=Math.round(a.globals.gridWidth/120)),s>i||e%Math.round(i/(s+1))==0||(t.text=""),t}},{key:"checkForOverflowingLabels",value:function(e,t,i,a,s){var r=this.w;if(e===0&&r.globals.skipFirstTimelinelabel&&(t.text=""),e===i-1&&r.globals.skipLastTimelinelabel&&(t.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];t.xa.length||a.some(function(s){return Array.isArray(s.seriesName)})?e:i.seriesYAxisReverseMap[e]}},{key:"isYAxisHidden",value:function(e){var t=this.w,i=t.config.yaxis[e];if(!i.show||this.yAxisAllSeriesCollapsed(e))return!0;if(!i.showForNullSeries){var a=t.globals.seriesYAxisMap[e],s=new de(this.ctx);return a.every(function(r){return s.isSeriesNull(r)})}return!1}},{key:"getYAxisForeColor",value:function(e,t){var i=this.w;return Array.isArray(e)&&i.globals.yAxisScale[t]&&this.ctx.theme.pushExtraColors(e,i.globals.yAxisScale[t].result.length,!1),e}},{key:"drawYAxisTicks",value:function(e,t,i,a,s,r,n){var o=this.w,h=new B(this.ctx),c=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?c=0:o.config.chart.type==="heatmap"&&(c+=r/2),a.show&&t>0){o.config.yaxis[s].opposite===!0&&(e+=a.width);for(var d=t;d>=0;d--){var u=h.drawLine(e+i.offsetX-a.width+a.offsetX,c+a.offsetY,e+i.offsetX+a.offsetX,c+a.offsetY,a.color);n.add(u),c+=r}}}}]),y}(),Gi=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new ze(this.annoCtx),this.axesUtils=new Ie(this.annoCtx)}return I(y,[{key:"addYaxisAnnotation",value:function(e,t,i){var a,s=this.w,r=e.strokeDashArray,n=this.helpers.getY1Y2("y1",e),o=n.yP,h=n.clipped,c=!0,d=!1,u=e.label.text;if(e.y2===null||e.y2===void 0){if(!h){d=!0;var f=this.annoCtx.graphics.drawLine(0+e.offsetX,o+e.offsetY,this._getYAxisAnnotationWidth(e),o+e.offsetY,e.borderColor,r,e.borderWidth);t.appendChild(f.node),e.id&&f.node.classList.add(e.id)}}else{if(a=(n=this.helpers.getY1Y2("y2",e)).yP,c=n.clipped,a>o){var p=o;o=a,a=p}if(!h||!c){d=!0;var x=this.annoCtx.graphics.drawRect(0+e.offsetX,a+e.offsetY,this._getYAxisAnnotationWidth(e),o-a,0,e.fillColor,e.opacity,1,e.borderColor,r);x.node.classList.add("apexcharts-annotation-rect"),x.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),t.appendChild(x.node),e.id&&x.node.classList.add(e.id)}}if(d){var m=e.label.position==="right"?s.globals.gridWidth:e.label.position==="center"?s.globals.gridWidth/2:0,v=this.annoCtx.graphics.drawText({x:m+e.label.offsetX,y:(a??o)+e.label.offsetY-3,text:u,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});v.attr({rel:i}),t.appendChild(v.node)}}},{key:"_getYAxisAnnotationWidth",value:function(e){var t=this.w;return t.globals.gridWidth,(e.width.indexOf("%")>-1?t.globals.gridWidth*parseInt(e.width,10)/100:parseInt(e.width,10))+e.offsetX}},{key:"drawYAxisAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.forEach(function(a,s){a.yAxisIndex=e.axesUtils.translateYAxisIndex(a.yAxisIndex),e.axesUtils.isYAxisHidden(a.yAxisIndex)&&e.axesUtils.yAxisAllSeriesCollapsed(a.yAxisIndex)||e.addYaxisAnnotation(a,i.node,s)}),i}}]),y}(),Vi=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new ze(this.annoCtx)}return I(y,[{key:"addPointAnnotation",value:function(e,t,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(e.seriesIndex)>-1)){var a=this.helpers.getX1X2("x1",e),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2("y1",e)).yP,o=a.clipped;if(z.isNumber(s)&&!o&&!r){var h={pSize:e.marker.size,pointStrokeWidth:e.marker.strokeWidth,pointFillColor:e.marker.fillColor,pointStrokeColor:e.marker.strokeColor,shape:e.marker.shape,pRadius:e.marker.radius,class:"apexcharts-point-annotation-marker ".concat(e.marker.cssClass," ").concat(e.id?e.id:"")},c=this.annoCtx.graphics.drawMarker(s+e.marker.offsetX,n+e.marker.offsetY,h);t.appendChild(c.node);var d=e.label.text?e.label.text:"",u=this.annoCtx.graphics.drawText({x:s+e.label.offsetX,y:n+e.label.offsetY-e.marker.size-parseFloat(e.label.style.fontSize)/1.6,text:d,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});if(u.attr({rel:i}),t.appendChild(u.node),e.customSVG.SVG){var f=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+e.customSVG.cssClass});f.attr({transform:"translate(".concat(s+e.customSVG.offsetX,", ").concat(n+e.customSVG.offsetY,")")}),f.node.innerHTML=e.customSVG.SVG,t.appendChild(f.node)}if(e.image.path){var p=e.image.width?e.image.width:20,x=e.image.height?e.image.height:20;c=this.annoCtx.addImage({x:s+e.image.offsetX-p/2,y:n+e.image.offsetY-x/2,width:p,height:x,path:e.image.path,appendTo:".apexcharts-point-annotations"})}e.mouseEnter&&c.node.addEventListener("mouseenter",e.mouseEnter.bind(this,e)),e.mouseLeave&&c.node.addEventListener("mouseleave",e.mouseLeave.bind(this,e)),e.click&&c.node.addEventListener("click",e.click.bind(this,e))}}}},{key:"drawPointAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(a,s){e.addPointAnnotation(a,i.node,s)}),i}}]),y}(),Yt={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},Xe=function(){function y(){E(this,y),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return I(y,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[Yt],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(e){return e}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(e){return e+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)/e.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(e){return e},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(e){return e}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(e){return e}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(e){return e!==null?e:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(e){return e?e+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),y}(),_i=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.graphics=new B(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new ze(this),this.xAxisAnnotations=new Wi(this),this.yAxisAnnotations=new Gi(this),this.pointsAnnotations=new Vi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return I(y,[{key:"drawAxesAnnotations",value:function(){var e=this.w;if(e.globals.axisCharts){for(var t=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=e.config.chart.animations.enabled,r=[t,i,a],n=[i.node,t.node,a.node],o=0;o<3;o++)e.globals.dom.elGraphical.add(r[o]),!s||e.globals.resized||e.globals.dataChanged||e.config.chart.type!=="scatter"&&e.config.chart.type!=="bubble"&&e.globals.dataPoints>1&&n[o].classList.add("apexcharts-element-hidden"),e.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var e=this;this.w.config.annotations.images.map(function(t,i){e.addImage(t,i)})}},{key:"drawTextAnnos",value:function(){var e=this;this.w.config.annotations.texts.map(function(t,i){e.addText(t,i)})}},{key:"addXaxisAnnotation",value:function(e,t,i){this.xAxisAnnotations.addXaxisAnnotation(e,t,i)}},{key:"addYaxisAnnotation",value:function(e,t,i){this.yAxisAnnotations.addYaxisAnnotation(e,t,i)}},{key:"addPointAnnotation",value:function(e,t,i){this.pointsAnnotations.addPointAnnotation(e,t,i)}},{key:"addText",value:function(e,t){var i=e.x,a=e.y,s=e.text,r=e.textAnchor,n=e.foreColor,o=e.fontSize,h=e.fontFamily,c=e.fontWeight,d=e.cssClass,u=e.backgroundColor,f=e.borderWidth,p=e.strokeDashArray,x=e.borderRadius,m=e.borderColor,v=e.appendTo,A=v===void 0?".apexcharts-svg":v,l=e.paddingLeft,g=l===void 0?4:l,b=e.paddingRight,C=b===void 0?4:b,k=e.paddingBottom,L=k===void 0?2:k,R=e.paddingTop,T=R===void 0?2:R,Y=this.w,W=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:o||"12px",fontWeight:c||"regular",fontFamily:h||Y.config.chart.fontFamily,foreColor:n||Y.config.chart.foreColor,cssClass:d}),O=Y.globals.dom.baseEl.querySelector(A);O&&O.appendChild(W.node);var H=W.bbox();if(s){var j=this.graphics.drawRect(H.x-g,H.y-T,H.width+g+C,H.height+L+T,x,u||"transparent",1,f,m,p);O.insertBefore(j.node,W.node)}}},{key:"addImage",value:function(e,t){var i=this.w,a=e.path,s=e.x,r=s===void 0?0:s,n=e.y,o=n===void 0?0:n,h=e.width,c=h===void 0?20:h,d=e.height,u=d===void 0?20:d,f=e.appendTo,p=f===void 0?".apexcharts-svg":f,x=i.globals.dom.Paper.image(a);x.size(c,u).move(r,o);var m=i.globals.dom.baseEl.querySelector(p);return m&&m.appendChild(x.node),x}},{key:"addXaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(e,t,i){return this.invertAxis===void 0&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(e){var t=e.params,i=e.pushToMemory,a=e.context,s=e.type,r=e.contextMethod,n=a,o=n.w,h=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),c=h.childNodes.length+1,d=new Xe,u=Object.assign({},s==="xaxis"?d.xAxisAnnotation:s==="yaxis"?d.yAxisAnnotation:d.pointAnnotation),f=z.extend(u,t);switch(s){case"xaxis":this.addXaxisAnnotation(f,h,c);break;case"yaxis":this.addYaxisAnnotation(f,h,c);break;case"point":this.addPointAnnotation(f,h,c)}var p=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(c,"']")),x=this.helpers.addBackgroundToAnno(p,f);return x&&h.insertBefore(x.node,p),i&&o.globals.memory.methodsToExec.push({context:n,id:f.id?f.id:z.randomId(),method:r,label:"addAnnotation",params:t}),a}},{key:"clearAnnotations",value:function(e){for(var t=e.w,i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),a=t.globals.memory.methodsToExec.length-1;a>=0;a--)t.globals.memory.methodsToExec[a].label!=="addText"&&t.globals.memory.methodsToExec[a].label!=="addAnnotation"||t.globals.memory.methodsToExec.splice(a,1);i=z.listToArray(i),Array.prototype.forEach.call(i,function(s){for(;s.firstChild;)s.removeChild(s.firstChild)})}},{key:"removeAnnotation",value:function(e,t){var i=e.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(t));a&&(i.globals.memory.methodsToExec.map(function(s,r){s.id===t&&i.globals.memory.methodsToExec.splice(r,1)}),Array.prototype.forEach.call(a,function(s){s.parentElement.removeChild(s)}))}}]),y}(),ut=function(y){var e,t=y.isTimeline,i=y.ctx,a=y.seriesIndex,s=y.dataPointIndex,r=y.y1,n=y.y2,o=y.w,h=o.globals.seriesRangeStart[a][s],c=o.globals.seriesRangeEnd[a][s],d=o.globals.labels[s],u=o.config.series[a].name?o.config.series[a].name:"",f=o.globals.ttKeyFormatter,p=o.config.tooltip.y.title.formatter,x={w:o,seriesIndex:a,dataPointIndex:s,start:h,end:c};typeof p=="function"&&(u=p(u,x)),(e=o.config.series[a].data[s])!==null&&e!==void 0&&e.x&&(d=o.config.series[a].data[s].x),t||o.config.xaxis.type==="datetime"&&(d=new Ve(i).xLabelFormat(o.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new me(i).formatDate,w:o})),typeof f=="function"&&(d=f(d,x)),Number.isFinite(r)&&Number.isFinite(n)&&(h=r,c=n);var m="",v="",A=o.globals.colors[a];if(o.config.tooltip.x.formatter===void 0)if(o.config.xaxis.type==="datetime"){var l=new me(i);m=l.formatDate(l.getDate(h),o.config.tooltip.x.format),v=l.formatDate(l.getDate(c),o.config.tooltip.x.format)}else m=h,v=c;else m=o.config.tooltip.x.formatter(h),v=o.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:m,endVal:v,ylabel:d,color:A,seriesName:u}},gt=function(y){var e=y.color,t=y.seriesName,i=y.ylabel,a=y.start,s=y.end,r=y.seriesIndex,n=y.dataPointIndex,o=y.ctx.tooltip.tooltipLabels.getFormatters(r);a=o.yLbFormatter(a),s=o.yLbFormatter(s);var h=o.yLbFormatter(y.w.globals.series[r][n]),c=` + `.concat(a,` + - + `).concat(s,` + `);return'
'+(t||"")+'
'+i+": "+(y.w.globals.comboCharts?y.w.config.series[r].type==="rangeArea"||y.w.config.series[r].type==="rangeBar"?c:"".concat(h,""):c)+"
"},_e=function(){function y(e){E(this,y),this.opts=e}return I(y,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(e){return this.hideYAxis(),z.extend(e,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(e,t){var i=t.w.config.series[t.seriesIndex].name;return e!==null?i+": "+e:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),V(V({},this.bar()),{},{chart:{animations:{easing:"linear",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var e=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,a=t.dataPointIndex,s=t.w;return e._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var e=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,a=t.dataPointIndex,s=t.w;return e._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(e,t){t.ctx;var i=t.seriesIndex,a=t.dataPointIndex,s=t.w,r=function(){var n=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-n};return s.globals.comboCharts?s.config.series[i].type==="rangeBar"||s.config.series[i].type==="rangeArea"?r():e:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(e){return e.w.config.plotOptions&&e.w.config.plotOptions.bar&&e.w.config.plotOptions.bar.horizontal?function(t){var i=ut(V(V({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,n=i.startVal,o=i.endVal;return gt(V(V({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e):function(t){var i=ut(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.start,o=i.end;return gt(V(V({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(e){var t,i;return(t=e.plotOptions.bar)!==null&&t!==void 0&&t.barHeight||(e.plotOptions.bar.barHeight=2),(i=e.plotOptions.bar)!==null&&i!==void 0&&i.columnWidth||(e.plotOptions.bar.columnWidth=2),e}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(e){return function(t){var i=ut(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.start,o=i.end;return gt(V(V({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e)}}}}},{key:"brush",value:function(e){return z.extend(e,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(e){e.dataLabels=e.dataLabels||{},e.dataLabels.formatter=e.dataLabels.formatter||void 0;var t=e.dataLabels.formatter;return e.yaxis.forEach(function(i,a){e.yaxis[a].min=0,e.yaxis[a].max=100}),e.chart.type==="bar"&&(e.dataLabels.formatter=t||function(i){return typeof i=="number"&&i?i.toFixed(0)+"%":i}),e}},{key:"stackedBars",value:function(){var e=this.bar();return V(V({},e),{},{plotOptions:V(V({},e.plotOptions),{},{bar:V(V({},e.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(e){return e.xaxis.convertedCatToNumeric=!0,e}},{key:"convertCatToNumericXaxis",value:function(e,t,i){e.xaxis.type="numeric",e.xaxis.labels=e.xaxis.labels||{},e.xaxis.labels.formatter=e.xaxis.labels.formatter||function(r){return z.isNumber(r)?Math.floor(r):r};var a=e.xaxis.labels.formatter,s=e.xaxis.categories&&e.xaxis.categories.length?e.xaxis.categories:e.labels;return i&&i.length&&(s=i.map(function(r){return Array.isArray(r)?r:String(r)})),s&&s.length&&(e.xaxis.labels.formatter=function(r){return z.isNumber(r)?a(s[Math.floor(r)-1]):a(r)}),e.xaxis.categories=[],e.labels=[],e.xaxis.tickAmount=e.xaxis.tickAmount||"dataPoints",e}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(e){return e},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(e,t,i,a,s){var r=e.globals.seriesCandleO[t][i],n=e.globals.seriesCandleH[t][i],o=e.globals.seriesCandleM[t][i],h=e.globals.seriesCandleL[t][i],c=e.globals.seriesCandleC[t][i];return e.config.series[t].type&&e.config.series[t].type!==s?`
+ `.concat(e.config.series[t].name?e.config.series[t].name:"series-"+(t+1),": ").concat(e.globals.series[t][i],` +
`):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+n+"
"+(o?"
".concat(a[2],': ')+o+"
":"")+"
".concat(a[3],': ')+h+"
"+"
".concat(a[4],': ')+c+"
"}}]),y}(),je=function(){function y(e){E(this,y),this.opts=e}return I(y,[{key:"init",value:function(e){var t=e.responsiveOverride,i=this.opts,a=new Xe,s=new _e(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&se(i)==="object"){var o,h,c,d,u,f,p,x,m,v,A={};A=["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)!==-1?s[i.chart.type]():s.line(),(o=i.plotOptions)!==null&&o!==void 0&&(h=o.bar)!==null&&h!==void 0&&h.isFunnel&&(A=s.funnel()),i.chart.stacked&&i.chart.type==="bar"&&(A=s.stackedBars()),(c=i.chart.brush)!==null&&c!==void 0&&c.enabled&&(A=s.brush(A)),(d=i.plotOptions)!==null&&d!==void 0&&(u=d.line)!==null&&u!==void 0&&u.isSlopeChart&&(A=s.slope()),i.chart.stacked&&i.chart.stackType==="100%"&&(i=s.stacked100(i)),(f=i.plotOptions)!==null&&f!==void 0&&(p=f.bar)!==null&&p!==void 0&&p.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},t||(i.xaxis.convertedCatToNumeric=!1),((x=(i=this.checkForCatToNumericXAxis(this.chartType,A,i)).chart.sparkline)!==null&&x!==void 0&&x.enabled||(m=window.Apex.chart)!==null&&m!==void 0&&(v=m.sparkline)!==null&&v!==void 0&&v.enabled)&&(A=s.sparkline(A)),n=z.extend(r,A)}var l=z.extend(n,window.Apex);return r=z.extend(l,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(e,t,i){var a,s,r=new _e(i),n=(e==="bar"||e==="boxPlot")&&((a=i.plotOptions)===null||a===void 0||(s=a.bar)===null||s===void 0?void 0:s.horizontal),o=e==="pie"||e==="polarArea"||e==="donut"||e==="radar"||e==="radialBar"||e==="heatmap",h=i.xaxis.type!=="datetime"&&i.xaxis.type!=="numeric",c=i.xaxis.tickPlacement?i.xaxis.tickPlacement:t.xaxis&&t.xaxis.tickPlacement;return n||o||!h||c==="between"||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(e,t){var i=new Xe;(e.yaxis===void 0||!e.yaxis||Array.isArray(e.yaxis)&&e.yaxis.length===0)&&(e.yaxis={}),e.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(e.yaxis=z.extend(e.yaxis,window.Apex.yaxis)),e.yaxis.constructor!==Array?e.yaxis=[z.extend(i.yAxis,e.yaxis)]:e.yaxis=z.extendArray(e.yaxis,i.yAxis);var a=!1;e.yaxis.forEach(function(r){r.logarithmic&&(a=!0)});var s=e.series;return t&&!s&&(s=t.config.series),a&&s.length!==e.yaxis.length&&s.length&&(e.yaxis=s.map(function(r,n){if(r.name||(s[n].name="series-".concat(n+1)),e.yaxis[n])return e.yaxis[n].seriesName=s[n].name,e.yaxis[n];var o=z.extend(i.yAxis,e.yaxis[0]);return o.show=!1,o})),a&&s.length>1&&s.length!==e.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),e}},{key:"extendAnnotations",value:function(e){return e.annotations===void 0&&(e.annotations={},e.annotations.yaxis=[],e.annotations.xaxis=[],e.annotations.points=[]),e=this.extendYAxisAnnotations(e),e=this.extendXAxisAnnotations(e),e=this.extendPointAnnotations(e)}},{key:"extendYAxisAnnotations",value:function(e){var t=new Xe;return e.annotations.yaxis=z.extendArray(e.annotations.yaxis!==void 0?e.annotations.yaxis:[],t.yAxisAnnotation),e}},{key:"extendXAxisAnnotations",value:function(e){var t=new Xe;return e.annotations.xaxis=z.extendArray(e.annotations.xaxis!==void 0?e.annotations.xaxis:[],t.xAxisAnnotation),e}},{key:"extendPointAnnotations",value:function(e){var t=new Xe;return e.annotations.points=z.extendArray(e.annotations.points!==void 0?e.annotations.points:[],t.pointAnnotation),e}},{key:"checkForDarkTheme",value:function(e){e.theme&&e.theme.mode==="dark"&&(e.tooltip||(e.tooltip={}),e.tooltip.theme!=="light"&&(e.tooltip.theme="dark"),e.chart.foreColor||(e.chart.foreColor="#f6f7f8"),e.theme.palette||(e.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(e){var t=e;if(t.tooltip.shared&&t.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(t.chart.type==="bar"&&t.plotOptions.bar.horizontal){if(t.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");t.yaxis[0].reversed&&(t.yaxis[0].opposite=!0),t.xaxis.tooltip.enabled=!1,t.yaxis[0].tooltip.enabled=!1,t.chart.zoom.enabled=!1}return t.chart.type!=="bar"&&t.chart.type!=="rangeBar"||t.tooltip.shared&&t.xaxis.crosshairs.width==="barWidth"&&t.series.length>1&&(t.xaxis.crosshairs.width="tickWidth"),t.chart.type!=="candlestick"&&t.chart.type!=="boxPlot"||t.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(t.chart.type," chart is not supported.")),t.yaxis[0].reversed=!1),t}}]),y}(),Dt=function(){function y(){E(this,y)}return I(y,[{key:"initGlobalVars",value:function(e){e.series=[],e.seriesCandleO=[],e.seriesCandleH=[],e.seriesCandleM=[],e.seriesCandleL=[],e.seriesCandleC=[],e.seriesRangeStart=[],e.seriesRangeEnd=[],e.seriesRange=[],e.seriesPercent=[],e.seriesGoals=[],e.seriesX=[],e.seriesZ=[],e.seriesNames=[],e.seriesTotals=[],e.seriesLog=[],e.seriesColors=[],e.stackedSeriesTotals=[],e.seriesXvalues=[],e.seriesYvalues=[],e.labels=[],e.hasXaxisGroups=!1,e.groups=[],e.barGroups=[],e.lineGroups=[],e.areaGroups=[],e.hasSeriesGroups=!1,e.seriesGroups=[],e.categoryLabels=[],e.timescaleLabels=[],e.noLabelsProvided=!1,e.resizeTimer=null,e.selectionResizeTimer=null,e.lastWheelExecution=0,e.delayedElements=[],e.pointsArray=[],e.dataLabelsRects=[],e.isXNumeric=!1,e.skipLastTimelinelabel=!1,e.skipFirstTimelinelabel=!1,e.isDataXYZ=!1,e.isMultiLineX=!1,e.isMultipleYAxis=!1,e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE,e.minYArr=[],e.maxYArr=[],e.maxX=-Number.MAX_VALUE,e.minX=Number.MAX_VALUE,e.initialMaxX=-Number.MAX_VALUE,e.initialMinX=Number.MAX_VALUE,e.maxDate=0,e.minDate=Number.MAX_VALUE,e.minZ=Number.MAX_VALUE,e.maxZ=-Number.MAX_VALUE,e.minXDiff=Number.MAX_VALUE,e.yAxisScale=[],e.xAxisScale=null,e.xAxisTicksPositions=[],e.yLabelsCoords=[],e.yTitleCoords=[],e.barPadForNumericAxis=0,e.padHorizontal=0,e.xRange=0,e.yRange=[],e.zRange=0,e.dataPoints=0,e.xTickAmount=0,e.multiAxisTickAmount=0}},{key:"globalVars",value:function(e){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:e.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:e.chart.toolbar.autoSelected==="zoom"&&e.chart.toolbar.tools.zoom&&e.chart.zoom.enabled,panEnabled:e.chart.toolbar.autoSelected==="pan"&&e.chart.toolbar.tools.pan,selectionEnabled:e.chart.toolbar.autoSelected==="selection"&&e.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:e.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t.initialConfig=z.extend({},e),t.initialSeries=z.clone(e.series),t.lastXAxis=z.clone(t.initialConfig.xaxis),t.lastYAxis=z.clone(t.initialConfig.yaxis),t}}]),y}(),ji=function(){function y(e){E(this,y),this.opts=e}return I(y,[{key:"init",value:function(){var e=new je(this.opts).init({responsiveOverride:!1});return{config:e,globals:new Dt().init(e)}}}]),y}(),Pe=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return I(y,[{key:"clippedImgArea",value:function(e){var t=this.w,i=t.config,a=parseInt(t.globals.gridWidth,10),s=parseInt(t.globals.gridHeight,10),r=a>s?a:s,n=e.image,o=0,h=0;e.width===void 0&&e.height===void 0?i.fill.image.width!==void 0&&i.fill.image.height!==void 0?(o=i.fill.image.width+1,h=i.fill.image.height):(o=r+1,h=r):(o=e.width,h=e.height);var c=document.createElementNS(t.globals.SVGNS,"pattern");B.setAttrs(c,{id:e.patternID,patternUnits:e.patternUnits?e.patternUnits:"userSpaceOnUse",width:o+"px",height:h+"px"});var d=document.createElementNS(t.globals.SVGNS,"image");c.appendChild(d),d.setAttributeNS(window.SVG.xlink,"href",n),B.setAttrs(d,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:h+"px"}),d.style.opacity=e.opacity,t.globals.dom.elDefs.node.appendChild(c)}},{key:"getSeriesIndex",value:function(e){var t=this.w,i=t.config.chart.type;return(i==="bar"||i==="rangeBar")&&t.config.plotOptions.bar.distributed||i==="heatmap"||i==="treemap"?this.seriesIndex=e.seriesNumber:this.seriesIndex=e.seriesNumber%t.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(e){var t=this.w;this.opts=e;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(e);var n=this.getFillColors()[this.seriesIndex];t.globals.seriesColors[this.seriesIndex]!==void 0&&(n=t.globals.seriesColors[this.seriesIndex]),typeof n=="function"&&(n=n({seriesIndex:this.seriesIndex,dataPointIndex:e.dataPointIndex,value:e.value,w:t}));var o=e.fillType?e.fillType:this.getFillType(this.seriesIndex),h=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;e.color&&(n=e.color),n||(n="#fff",console.warn("undefined color - ApexCharts"));var c=n;if(n.indexOf("rgb")===-1?n.length<9&&(c=z.hexToRgba(n,h)):n.indexOf("rgba")>-1&&(h=z.getOpacityFromRGBA(n)),e.opacity&&(h=e.opacity),o==="pattern"&&(a=this.handlePatternFill({fillConfig:e.fillConfig,patternFill:a,fillColor:n,fillOpacity:h,defaultColor:c})),o==="gradient"&&(s=this.handleGradientFill({fillConfig:e.fillConfig,fillColor:n,fillOpacity:h,i:this.seriesIndex})),o==="image"){var d=r.fill.image.src,u=e.patternID?e.patternID:"",f="pattern".concat(t.globals.cuid).concat(e.seriesNumber+1).concat(u);this.patternIDs.indexOf(f)===-1&&(this.clippedImgArea({opacity:h,image:Array.isArray(d)?e.seriesNumber-1&&(f=z.getOpacityFromRGBA(u));var p=r.gradient.opacityTo===void 0?i:Array.isArray(r.gradient.opacityTo)?r.gradient.opacityTo[s]:r.gradient.opacityTo;if(r.gradient.gradientToColors===void 0||r.gradient.gradientToColors.length===0)n=r.gradient.shade==="dark"?c.shadeColor(-1*parseFloat(r.gradient.shadeIntensity),t.indexOf("rgb")>-1?z.rgb2hex(t):t):c.shadeColor(parseFloat(r.gradient.shadeIntensity),t.indexOf("rgb")>-1?z.rgb2hex(t):t);else if(r.gradient.gradientToColors[o.seriesNumber]){var x=r.gradient.gradientToColors[o.seriesNumber];n=x,x.indexOf("rgba")>-1&&(p=z.getOpacityFromRGBA(x))}else n=t;if(r.gradient.gradientFrom&&(u=r.gradient.gradientFrom),r.gradient.gradientTo&&(n=r.gradient.gradientTo),r.gradient.inverseColors){var m=u;u=n,n=m}return u.indexOf("rgb")>-1&&(u=z.rgb2hex(u)),n.indexOf("rgb")>-1&&(n=z.rgb2hex(n)),h.drawGradient(d,u,n,f,p,o.size,r.gradient.stops,r.gradient.colorStops,s)}}]),y}(),Ne=function(){function y(e,t){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],e.globals.markers.size.length>0){if(e.globals.markers.size.length4&&arguments[4]!==void 0&&arguments[4],n=this.w,o=t,h=e,c=null,d=new B(this.ctx),u=n.config.markers.discrete&&n.config.markers.discrete.length;if((n.globals.markers.size[t]>0||r||u)&&(c=d.group({class:r||u?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(n.globals.cuid,")")),Array.isArray(h.x))for(var f=0;f0:n.config.markers.size>0)||r||u){z.isNumber(h.y[f])?x+=" w".concat(z.randomId()):x="apexcharts-nullpoint";var m=this.getMarkerConfig({cssClass:x,seriesIndex:t,dataPointIndex:p});n.config.series[o].data[p]&&(n.config.series[o].data[p].fillColor&&(m.pointFillColor=n.config.series[o].data[p].fillColor),n.config.series[o].data[p].strokeColor&&(m.pointStrokeColor=n.config.series[o].data[p].strokeColor)),a!==void 0&&(m.pSize=a),(h.x[f]<-n.globals.markers.largestSize||h.x[f]>n.globals.gridWidth+n.globals.markers.largestSize||h.y[f]<-n.globals.markers.largestSize||h.y[f]>n.globals.gridHeight+n.globals.markers.largestSize)&&(m.pSize=0),(s=d.drawMarker(h.x[f],h.y[f],m)).attr("rel",p),s.attr("j",p),s.attr("index",t),s.node.setAttribute("default-marker-size",m.pSize),new ce(this.ctx).setSelectionFilter(s,t,p),this.addEvents(s),c&&c.add(s)}else n.globals.pointsArray[t]===void 0&&(n.globals.pointsArray[t]=[]),n.globals.pointsArray[t].push([h.x[f],h.y[f]])}return c}},{key:"getMarkerConfig",value:function(e){var t=e.cssClass,i=e.seriesIndex,a=e.dataPointIndex,s=a===void 0?null:a,r=e.radius,n=r===void 0?null:r,o=e.size,h=o===void 0?null:o,c=e.strokeWidth,d=c===void 0?null:c,u=this.w,f=this.getMarkerStyle(i),p=h===null?u.globals.markers.size[i]:h,x=u.config.markers;return s!==null&&x.discrete.length&&x.discrete.map(function(m){m.seriesIndex===i&&m.dataPointIndex===s&&(f.pointStrokeColor=m.strokeColor,f.pointFillColor=m.fillColor,p=m.size,f.pointShape=m.shape)}),{pSize:n===null?p:n,pRadius:n!==null?n:x.radius,pointStrokeWidth:d!==null?d:Array.isArray(x.strokeWidth)?x.strokeWidth[i]:x.strokeWidth,pointStrokeColor:f.pointStrokeColor,pointFillColor:f.pointFillColor,shape:f.pointShape||(Array.isArray(x.shape)?x.shape[i]:x.shape),class:t,pointStrokeOpacity:Array.isArray(x.strokeOpacity)?x.strokeOpacity[i]:x.strokeOpacity,pointStrokeDashArray:Array.isArray(x.strokeDashArray)?x.strokeDashArray[i]:x.strokeDashArray,pointFillOpacity:Array.isArray(x.fillOpacity)?x.fillOpacity[i]:x.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(e){var t=this.w,i=new B(this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,e)),e.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,e)),e.node.addEventListener("click",t.config.markers.onClick),e.node.addEventListener("dblclick",t.config.markers.onDblClick),e.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,e),{passive:!0})}},{key:"getMarkerStyle",value:function(e){var t=this.w,i=t.globals.markers.colors,a=t.config.markers.strokeColor||t.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[e]:a,pointFillColor:Array.isArray(i)?i[e]:i}}}]),y}(),Nt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return I(y,[{key:"draw",value:function(e,t,i){var a=this.w,s=new B(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,h=i.elParent,c=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(c.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(n.x))for(var d=0;dx.maxBubbleRadius&&(p=x.maxBubbleRadius)}var m=n.x[d],v=n.y[d];if(p=p||0,v!==null&&a.globals.series[r][u]!==void 0||(f=!1),f){var A=this.drawPoint(m,v,p,r,u,t);c.add(A)}h.add(c)}}},{key:"drawPoint",value:function(e,t,i,a,s,r){var n=this.w,o=a,h=new xe(this.ctx),c=new ce(this.ctx),d=new Pe(this.ctx),u=new Ne(this.ctx),f=new B(this.ctx),p=u.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:o,dataPointIndex:s,radius:n.config.chart.type==="bubble"||n.globals.comboCharts&&n.config.series[a]&&n.config.series[a].type==="bubble"?i:null}),x=d.fillPath({seriesNumber:a,dataPointIndex:s,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[a][r]}),m=f.drawMarker(e,t,p);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(x=n.config.series[o].data[s].fillColor),m.attr({fill:x}),n.config.chart.dropShadow.enabled){var v=n.config.chart.dropShadow;c.dropShadow(m,v,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var A=n.config.chart.animations.speed;h.animateMarker(m,A,n.globals.easing,function(){window.setTimeout(function(){h.animationCompleted(m)},100)})}return m.attr({rel:s,j:s,index:a,"default-marker-size":p.pSize}),c.setSelectionFilter(m,a,s),u.addEvents(m),m.node.classList.add("apexcharts-marker"),m}},{key:"centerTextInBubble",value:function(e){var t=this.w;return{y:e+=parseInt(t.config.dataLabels.style.fontSize,10)/4}}}]),y}(),He=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"dataLabelsCorrection",value:function(e,t,i,a,s,r,n){var o=this.w,h=!1,c=new B(this.ctx).getTextRects(i,n),d=c.width,u=c.height;t<0&&(t=0),t>o.globals.gridHeight+u&&(t=o.globals.gridHeight+u/2),o.globals.dataLabelsRects[a]===void 0&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:e,y:t,width:d,height:u});var f=o.globals.dataLabelsRects[a].length-2,p=o.globals.lastDrawnDataLabelsIndexes[a]!==void 0?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(o.globals.dataLabelsRects[a][f]!==void 0){var x=o.globals.dataLabelsRects[a][p];(e>x.x+x.width||t>x.y+x.height||t+ut.globals.gridWidth+A.textRects.width+30)&&(o="");var l=t.globals.dataLabels.style.colors[r];((t.config.chart.type==="bar"||t.config.chart.type==="rangeBar")&&t.config.plotOptions.bar.distributed||t.config.dataLabels.distributed)&&(l=t.globals.dataLabels.style.colors[n]),typeof l=="function"&&(l=l({series:t.globals.series,seriesIndex:r,dataPointIndex:n,w:t})),f&&(l=f);var g=u.offsetX,b=u.offsetY;if(t.config.chart.type!=="bar"&&t.config.chart.type!=="rangeBar"||(g=0,b=0),t.globals.isSlopeChart&&(n!==0&&(g=-2*u.offsetX+5),n!==0&&n!==t.config.series[r].data.length-1&&(g=0)),A.drawnextLabel){if((v=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:a+g,y:s+b,foreColor:l,textAnchor:h||u.textAnchor,text:o,fontSize:c||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"})).attr({class:m||"apexcharts-datalabel",cx:a,cy:s}),u.dropShadow.enabled){var C=u.dropShadow;new ce(this.ctx).dropShadow(v,C)}d.add(v),t.globals.lastDrawnDataLabelsIndexes[r]===void 0&&(t.globals.lastDrawnDataLabelsIndexes[r]=[]),t.globals.lastDrawnDataLabelsIndexes[r].push(n)}return v}},{key:"addBackgroundToDataLabel",value:function(e,t){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=t.width,o=t.height,h=new B(this.ctx).drawRect(t.x-s,t.y-r/2,n+2*s,o+r,a.borderRadius,i.config.chart.background!=="transparent"&&i.config.chart.background?i.config.chart.background:"#fff",a.opacity,a.borderWidth,a.borderColor);return a.dropShadow.enabled&&new ce(this.ctx).dropShadow(h,a.dropShadow),h}},{key:"dataLabelsBackground",value:function(){var e=this.w;if(e.config.chart.type!=="bubble")for(var t=e.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=this.w,s=z.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,e&&(t&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(e){for(var t=this.w,i=0;i-1&&(e[i].data=[]);return e}},{key:"highlightSeries",value:function(e){var t=this.w,i=this.getSeriesByName(e),a=parseInt(i.getAttribute("data:realIndex"),10),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),r=null,n=null,o=null;if(t.globals.axisCharts||t.config.chart.type==="radialBar")if(t.globals.axisCharts){r=t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(a,"']")),n=t.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(a,"']"));var h=t.globals.seriesYAxisReverseMap[a];o=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(h,"']"))}else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"']"));else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"'] path"));for(var c=0;c=h.from&&(u0&&arguments[0]!==void 0?arguments[0]:"asc",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1){for(var s=i.config.series.map(function(n,o){return n.data&&n.data.length>0&&i.globals.collapsedSeriesIndices.indexOf(o)===-1&&(!i.globals.comboCharts||t.length===0||t.length&&t.indexOf(i.config.series[o].type)>-1)?o:-1}),r=e==="asc"?0:s.length-1;e==="asc"?r=0;e==="asc"?r++:r--)if(s[r]!==-1){a=s[r];break}}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map(function(e,t){return e.type==="bar"||e.type==="column"?t:-1}).filter(function(e){return e!==-1}):this.w.config.series.map(function(e,t){return t})}},{key:"getPreviousPaths",value:function(){var e=this.w;function t(r,n,o){for(var h=r[n].childNodes,c={type:o,paths:[],realIndex:r[n].getAttribute("data:realIndex")},d=0;d0)for(var a=function(r){for(var n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(e.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(r,"'] rect")),o=[],h=function(d){var u=function(p){return n[d].getAttribute(p)},f={x:parseFloat(u("x")),y:parseFloat(u("y")),width:parseFloat(u("width")),height:parseFloat(u("height"))};o.push({rect:f,color:n[d].getAttribute("color")})},c=0;c0)for(var a=0;a0?t:[]});return e}}]),y}(),Ht=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new de(this.ctx)}return I(y,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var e=this.w.config.series.slice(),t=new Le(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].x!==void 0&&e[this.activeSeriesIndex].data[0]!==null)return!0}},{key:"isFormat2DArray",value:function(){var e=this.w.config.series.slice(),t=new Le(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==void 0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(e,t){for(var i=this.w.config,a=this.w.globals,s=i.chart.type==="boxPlot"||i.series[t].type==="boxPlot",r=0;r=5?this.twoDSeries.push(z.parseNumber(e[t].data[r][4])):this.twoDSeries.push(z.parseNumber(e[t].data[r][1])),a.dataFormatXNumeric=!0),i.xaxis.type==="datetime"){var n=new Date(e[t].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(e[t].data[r][0]);for(var o=0;o-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new me(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=a.chart.type==="rangeBar"&&s.isBarHorizontal,s.hasXaxisGroups=a.xaxis.type==="category"&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),e.forEach(function(f,p){f.name!==void 0?s.seriesNames.push(f.name):s.seriesNames.push("series-"+parseInt(p+1,10))}),this.coreUtils.setSeriesYAxisMappings();var o=[],h=U(new Set(a.series.map(function(f){return f.group})));a.series.forEach(function(f,p){var x=h.indexOf(f.group);o[x]||(o[x]=[]),o[x].push(s.seriesNames[p])}),s.seriesGroups=o;for(var c=function(){for(var f=0;f0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var u=e[d].data.map(function(f){return z.parseNumber(f)});s.series.push(u)}s.seriesZ.push(this.threeDSeries),e[d].color!==void 0?s.seriesColors.push(e[d].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(e){var t=this.w.globals,i=this.w.config;t.series=e.slice(),t.seriesNames=i.labels.slice();for(var a=0;a0?i.labels=t.xaxis.categories:t.labels.length>0?i.labels=t.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map(function(a){a.forEach(function(s){i.labels.indexOf(s.x)<0&&s.x&&i.labels.push(s.x)})}),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),t.xaxis.convertedCatToNumeric&&(new _e(t).convertCatToNumericXaxis(t,this.ctx,i.seriesX[0]),this._generateExternalLabels(e))):this._generateExternalLabels(e)}},{key:"_generateExternalLabels",value:function(e){var t=this.w.globals,i=this.w.config,a=[];if(t.axisCharts){if(t.series.length>0)if(this.isFormatXY())for(var s=i.series.map(function(d,u){return d.data.filter(function(f,p,x){return x.findIndex(function(m){return m.x===f.x})===p})}),r=s.reduce(function(d,u,f,p){return p[d].length>u.length?d:f},0),n=0;n0&&s==i.length&&t.push(a)}),e.globals.ignoreYAxisIndexes=t.map(function(i){return i})}}]),y}(),Qe=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"scaleSvgNode",value:function(e,t){var i=parseFloat(e.getAttributeNS(null,"width")),a=parseFloat(e.getAttributeNS(null,"height"));e.setAttributeNS(null,"width",i*t),e.setAttributeNS(null,"height",a*t),e.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"getSvgString",value:function(){var e=this;return new Promise(function(t){var i=e.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=e.w.globals.dom.Paper.svg(),n=e.w.globals.dom.Paper.node.cloneNode(!0);s!==1&&e.scaleSvgNode(n,s),e.convertImagesToBase64(n).then(function(){r=new XMLSerializer().serializeToString(n),t(r.replace(/ /g," "))})})}},{key:"convertImagesToBase64",value:function(e){var t=this,i=e.getElementsByTagName("image"),a=Array.from(i).map(function(s){var r=s.getAttributeNS("http://www.w3.org/1999/xlink","href");return r&&!r.startsWith("data:")?t.getBase64FromUrl(r).then(function(n){s.setAttributeNS("http://www.w3.org/1999/xlink","href",n)}).catch(function(n){console.error("Error converting image to base64:",n)}):Promise.resolve()});return Promise.all(a)}},{key:"getBase64FromUrl",value:function(e){return new Promise(function(t,i){var a=new Image;a.crossOrigin="Anonymous",a.onload=function(){var s=document.createElement("canvas");s.width=a.width,s.height=a.height,s.getContext("2d").drawImage(a,0,0),t(s.toDataURL())},a.onerror=i,a.src=e})}},{key:"cleanup",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=e.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,function(s){s.setAttribute("width",0)}),t&&t[0]&&(t[0].setAttribute("x",-500),t[0].setAttribute("x1",-500),t[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){var e=this;return new Promise(function(t){e.cleanup(),e.getSvgString().then(function(i){var a=new Blob([i],{type:"image/svg+xml;charset=utf-8"});t(URL.createObjectURL(a))})})}},{key:"dataURI",value:function(e){var t=this;return new Promise(function(i){var a=t.w,s=e?e.scale||e.width/a.globals.svgWidth:1;t.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n=a.config.chart.background!=="transparent"&&a.config.chart.background?a.config.chart.background:"#fff",o=r.getContext("2d");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s),t.getSvgString().then(function(h){var c="data:image/svg+xml,"+encodeURIComponent(h),d=new Image;d.crossOrigin="anonymous",d.onload=function(){if(o.drawImage(d,0,0),r.msToBlob){var u=r.msToBlob();i({blob:u})}else{var f=r.toDataURL("image/png");i({imgURI:f})}},d.src=c})})}},{key:"exportToSVG",value:function(){var e=this;this.svgUrl().then(function(t){e.triggerDownload(t,e.w.config.chart.toolbar.export.svg.filename,".svg")})}},{key:"exportToPng",value:function(){var e=this,t=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=t?{scale:t}:i?{width:i}:void 0;this.dataURI(a).then(function(s){var r=s.imgURI,n=s.blob;n?navigator.msSaveOrOpenBlob(n,e.w.globals.chartID+".png"):e.triggerDownload(r,e.w.config.chart.toolbar.export.png.filename,".png")})}},{key:"exportToCSV",value:function(e){var t=this,i=e.series,a=e.fileName,s=e.columnDelimiter,r=s===void 0?",":s,n=e.lineDelimiter,o=n===void 0?` +`:n,h=this.w;i||(i=h.config.series);var c,d,u=[],f=[],p="",x=h.globals.series.map(function(k,L){return h.globals.collapsedSeriesIndices.indexOf(L)===-1?k:[]}),m=function(k){return typeof h.config.chart.toolbar.export.csv.categoryFormatter=="function"?h.config.chart.toolbar.export.csv.categoryFormatter(k):h.config.xaxis.type==="datetime"&&String(k).length>=10?new Date(k).toDateString():z.isNumber(k)?k:k.split(r).join("")},v=function(k){return typeof h.config.chart.toolbar.export.csv.valueFormatter=="function"?h.config.chart.toolbar.export.csv.valueFormatter(k):k},A=Math.max.apply(Math,U(i.map(function(k){return k.data?k.data.length:0}))),l=new Ht(this.ctx),g=new Ie(this.ctx),b=function(k){var L="";if(h.globals.axisCharts){if(h.config.xaxis.type==="category"||h.config.xaxis.convertedCatToNumeric)if(h.globals.isBarHorizontal){var R=h.globals.yLabelFormatters[0],T=new Le(t.ctx).getActiveConfigSeriesIndex();L=R(h.globals.labels[k],{seriesIndex:T,dataPointIndex:k,w:h})}else L=g.getLabel(h.globals.labels,h.globals.timescaleLabels,0,k).text;h.config.xaxis.type==="datetime"&&(h.config.xaxis.categories.length?L=h.config.xaxis.categories[k]:h.config.labels.length&&(L=h.config.labels[k]))}else L=h.config.labels[k];return L===null?"nullvalue":(Array.isArray(L)&&(L=L.join(" ")),z.isNumber(L)?L:L.split(r).join(""))},C=function(k,L){if(u.length&&L===0&&f.push(u.join(r)),k.data){k.data=k.data.length&&k.data||U(Array(A)).map(function(){return""});for(var R=0;R0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],i.config.xaxis.position==="top"?this.offY=0:this.offY=i.globals.gridHeight,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return I(y,[{key:"drawXaxis",value:function(){var e=this.w,t=new B(this.ctx),i=t.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),a=t.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&arguments[6]!==void 0?arguments[6]:{},c=[],d=[],u=this.w,f=h.xaxisFontSize||this.xaxisFontSize,p=h.xaxisFontFamily||this.xaxisFontFamily,x=h.xaxisForeColors||this.xaxisForeColors,m=h.fontWeight||u.config.xaxis.labels.style.fontWeight,v=h.cssClass||u.config.xaxis.labels.style.cssClass,A=u.globals.padHorizontal,l=a.length,g=u.config.xaxis.type==="category"?u.globals.dataPoints:l;if(g===0&&l>g&&(g=l),s){var b=g>1?g-1:g;n=u.globals.gridWidth/Math.min(b,l-1),A=A+r(0,n)/2+u.config.xaxis.labels.offsetX}else n=u.globals.gridWidth/g,A=A+r(0,n)+u.config.xaxis.labels.offsetX;for(var C=function(L){var R=A-r(L,n)/2+u.config.xaxis.labels.offsetX;L===0&&l===1&&n/2===A&&g===1&&(R=u.globals.gridWidth/2);var T=o.axesUtils.getLabel(a,u.globals.timescaleLabels,R,L,c,f,e),Y=28;if(u.globals.rotateXLabels&&e&&(Y=22),u.config.xaxis.title.text&&u.config.xaxis.position==="top"&&(Y+=parseFloat(u.config.xaxis.title.style.fontSize)+2),e||(Y=Y+parseFloat(f)+(u.globals.xAxisLabelsHeight-u.globals.xAxisGroupLabelsHeight)+(u.globals.rotateXLabels?10:0)),T=u.config.xaxis.tickAmount!==void 0&&u.config.xaxis.tickAmount!=="dataPoints"&&u.config.xaxis.type!=="datetime"?o.axesUtils.checkLabelBasedOnTickamount(L,T,l):o.axesUtils.checkForOverflowingLabels(L,T,l,c,d),u.config.xaxis.labels.show){var W=t.drawText({x:T.x,y:o.offY+u.config.xaxis.labels.offsetY+Y-(u.config.xaxis.position==="top"?u.globals.xAxisHeight+u.config.xaxis.axisTicks.height-2:0),text:T.text,textAnchor:"middle",fontWeight:T.isBold?600:m,fontSize:f,fontFamily:p,foreColor:Array.isArray(x)?e&&u.config.xaxis.convertedCatToNumeric?x[u.globals.minX+L-1]:x[L]:x,isPlainText:!1,cssClass:(e?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+v});if(i.add(W),W.on("click",function(H){if(typeof u.config.chart.events.xAxisLabelClick=="function"){var j=Object.assign({},u,{labelIndex:L});u.config.chart.events.xAxisLabelClick(H,o.ctx,j)}}),e){var O=document.createElementNS(u.globals.SVGNS,"title");O.textContent=Array.isArray(T.text)?T.text.join(" "):T.text,W.node.appendChild(O),T.text!==""&&(c.push(T.text),d.push(T))}}La.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(t=t+r+a.config.xaxis.axisTicks.height,a.config.xaxis.position==="top"&&(t=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new B(this.ctx).drawLine(e+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,t+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var e=this.w,t=[],i=this.xaxisLabels.length,a=e.globals.padHorizontal;if(e.globals.timescaleLabels.length>0)for(var s=0;s0){var c=s[s.length-1].getBBox(),d=s[0].getBBox();c.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),d.x+d.width>e.globals.gridWidth&&!e.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var u=0;u0&&(this.xaxisLabels=t.globals.timescaleLabels.slice())}return I(y,[{key:"drawGridArea",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w,i=new B(this.ctx);e===null&&(e=i.group({class:"apexcharts-grid"}));var a=i.drawLine(t.globals.padHorizontal,1,t.globals.padHorizontal,t.globals.gridHeight,"transparent"),s=i.drawLine(t.globals.padHorizontal,t.globals.gridHeight,t.globals.gridWidth,t.globals.gridHeight,"transparent");return e.add(s),e.add(a),e}},{key:"drawGrid",value:function(){var e=null;return this.w.globals.axisCharts&&(e=this.renderGrid(),this.drawGridArea(e.el)),e}},{key:"createGridMask",value:function(){var e=this.w,t=e.globals,i=new B(this.ctx),a=Array.isArray(e.config.stroke.width)?0:e.config.stroke.width;if(Array.isArray(e.config.stroke.width)){var s=0;e.config.stroke.width.forEach(function(d){s=Math.max(s,d)}),a=s}t.dom.elGridRectMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(t.cuid)),t.dom.elGridRectMarkerMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(t.cuid)),t.dom.elForecastMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elForecastMask.setAttribute("id","forecastMask".concat(t.cuid)),t.dom.elNonForecastMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(t.cuid));var r=e.config.chart.type,n=0,o=0;(r==="bar"||r==="rangeBar"||r==="candlestick"||r==="boxPlot"||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&(n=e.config.grid.padding.left,o=e.config.grid.padding.right,t.barPadForNumericAxis>n&&(n=t.barPadForNumericAxis,o=t.barPadForNumericAxis)),t.dom.elGridRect=i.drawRect(-a/2-n-2,-a/2-2,t.gridWidth+a+o+n+4,t.gridHeight+a+4,0,"#fff");var h=e.globals.markers.largestSize+1;t.dom.elGridRectMarker=i.drawRect(2*-h,2*-h,t.gridWidth+4*h,t.gridHeight+4*h,0,"#fff"),t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node),t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);var c=t.dom.baseEl.querySelector("defs");c.appendChild(t.dom.elGridRectMask),c.appendChild(t.dom.elForecastMask),c.appendChild(t.dom.elNonForecastMask),c.appendChild(t.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(e){var t=e.i,i=e.x1,a=e.y1,s=e.x2,r=e.y2,n=e.xCount,o=e.parent,h=this.w;if(!(t===0&&h.globals.skipFirstTimelinelabel||t===n-1&&h.globals.skipLastTimelinelabel&&!h.config.xaxis.labels.formatter||h.config.chart.type==="radar")){h.config.grid.xaxis.lines.show&&this._drawGridLine({i:t,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var c=0;if(h.globals.hasXaxisGroups&&h.config.xaxis.tickPlacement==="between"){var d=h.globals.groups;if(d){for(var u=0,f=0;u0&&e.config.xaxis.type!=="datetime"&&(s=t.yAxisScale[a].result.length-1)),this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=t.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.gridWidth/s}}},{key:"drawGridBands",value:function(e,t){var i=this.w;if(i.config.grid.row.colors!==void 0&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/t,r=i.globals.gridWidth,n=0,o=0;n=i.config.grid.row.colors.length&&(o=0),this._drawGridBandRect({c:o,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/t;if(i.config.grid.column.colors!==void 0&&i.config.grid.column.colors.length>0){var h=i.globals.isBarHorizontal||i.config.xaxis.tickPlacement!=="on"||i.config.xaxis.type!=="category"&&!i.config.xaxis.convertedCatToNumeric?e:e-1;i.globals.isXNumeric&&(h=i.globals.xAxisScale.result.length-1);for(var c=i.globals.padHorizontal,d=i.globals.padHorizontal+i.globals.gridWidth/h,u=i.globals.gridHeight,f=0,p=0;f=i.config.grid.column.colors.length&&(p=0),i.config.xaxis.type==="datetime"&&(c=this.xaxisLabels[f].position,d=(((x=this.xaxisLabels[f+1])===null||x===void 0?void 0:x.position)||i.globals.gridWidth)-this.xaxisLabels[f].position),this._drawGridBandRect({c:p,x1:c,y1:0,x2:d,y2:u,type:"column"}),c+=i.globals.gridWidth/h}}}}]),y}(),Wt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"niceScale",value:function(e,t){var i,a,s,r,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=1e-11,h=this.w,c=h.globals;c.isBarHorizontal?(i=h.config.xaxis,a=Math.max((c.svgWidth-100)/25,2)):(i=h.config.yaxis[n],a=Math.max((c.svgHeight-100)/15,2)),z.isNumber(a)||(a=10),s=i.min!==void 0&&i.min!==null,r=i.max!==void 0&&i.min!==null;var d=i.stepSize!==void 0&&i.stepSize!==null,u=i.tickAmount!==void 0&&i.tickAmount!==null,f=u?i.tickAmount:c.niceScaleDefaultTicks[Math.min(Math.round(a/2),c.niceScaleDefaultTicks.length-1)];if(c.isMultipleYAxis&&!u&&c.multiAxisTickAmount>0&&(f=c.multiAxisTickAmount,u=!0),f=f==="dataPoints"?c.dataPoints-1:Math.abs(Math.round(f)),(e===Number.MIN_VALUE&&t===0||!z.isNumber(e)&&!z.isNumber(t)||e===Number.MIN_VALUE&&t===-Number.MAX_VALUE)&&(e=z.isNumber(i.min)?i.min:0,t=z.isNumber(i.max)?i.max:e+f,c.allSeriesCollapsed=!1),e>t){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var p=t;t=e,e=p}else e===t&&(e=e===0?0:e-1,t=t===0?2:t+1);var x=[];f<1&&(f=1);var m=f,v=Math.abs(t-e);!s&&e>0&&e/v<.15&&(e=0,s=!0),!r&&t<0&&-t/v<.15&&(t=0,r=!0);var A=(v=Math.abs(t-e))/m,l=A,g=Math.floor(Math.log10(l)),b=Math.pow(10,g),C=Math.ceil(l/b);if(A=l=(C=c.niceScaleAllowedMagMsd[c.yValueDecimal===0?0:1][C])*b,c.isBarHorizontal&&i.stepSize&&i.type!=="datetime"?(A=i.stepSize,d=!0):d&&(A=i.stepSize),d&&i.forceNiceScale){var k=Math.floor(Math.log10(A));A*=Math.pow(10,g-k)}if(s&&r){var L=v/m;if(u)if(d)if(z.mod(v,A)!=0){var R=z.getGCD(A,L);A=L/R<10?R:L}else z.mod(A,L)==0?A=L:(L=A,u=!1);else A=L;else if(d)z.mod(v,A)==0?L=A:A=L;else if(z.mod(v,A)==0)L=A;else{L=v/(m=Math.ceil(v/A));var T=z.getGCD(v,A);v/Ta&&(e=t-A*f,e+=A*Math.floor((Y-e)/A))}else if(s)if(u)t=e+A*m;else{var W=t;t=A*Math.ceil(t/A),Math.abs(t-e)/z.getGCD(v,A)>a&&(t=e+A*f,t+=A*Math.ceil((W-t)/A))}}else if(c.isMultipleYAxis&&u){var O=A*Math.floor(e/A),H=O+A*m;H0&&e16&&z.getPrimeFactors(m).length<2&&m++,!u&&i.forceNiceScale&&c.yValueDecimal===0&&m>v&&(m=v,A=Math.round(v/m)),m>a&&(!u&&!d||i.forceNiceScale)){var j=z.getPrimeFactors(m),q=j.length-1,J=m;e:for(var K=0;KSe);return{result:x,niceMin:x[0],niceMax:x[x.length-1]}}},{key:"linearScale",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:void 0,r=Math.abs(t-e),n=[];if(e===t)return{result:n=[e],niceMin:n[0],niceMax:n[n.length-1]};(i=this._adjustTicksForSmallRange(i,a,r))==="dataPoints"&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=e;i>=0;)n.push(o),o=z.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(e,t,i){t<=0&&(t=Math.max(e,i)),e<=0&&(e=Math.min(t,i));for(var a=[],s=Math.ceil(Math.log(t)/Math.log(i)+1),r=Math.floor(Math.log(e)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=r.forceNiceScale?this.logarithmicScaleNice(t,i,r.logBase):this.logarithmicScale(t,i,r.logBase)):i!==-Number.MAX_VALUE&&z.isNumber(i)&&t!==Number.MAX_VALUE&&z.isNumber(t)?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=this.niceScale(t,i,e)):a.yAxisScale[e]=this.niceScale(Number.MIN_VALUE,0,e)}},{key:"setXScale",value:function(e,t){var i=this.w,a=i.globals,s=Math.abs(t-e);if(t!==-Number.MAX_VALUE&&z.isNumber(t)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(e,t,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],a=[],s=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(d){return Array.isArray(d.seriesName)});t.series.forEach(function(d,u){s.push(u),a.push(null)}),t.yaxis.forEach(function(d,u){i[u]=[]});var n=[];t.yaxis.forEach(function(d,u){var f=!1;if(d.seriesName){var p=[];Array.isArray(d.seriesName)?p=d.seriesName:p.push(d.seriesName),p.forEach(function(x){t.series.forEach(function(m,v){if(m.name===x){var A=v;u===v||r?!r||s.indexOf(v)>-1?i[u].push([u,v]):console.warn("Series '"+m.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[v].push([v,u]),A=u),f=!0,(A=s.indexOf(A))!==-1&&s.splice(A,1)}})})}f||n.push(u)}),i=i.map(function(d,u){var f=[];return d.forEach(function(p){a[p[1]]=p[0],f.push(p[1])}),f});for(var o=t.yaxis.length-1,h=0;h0?function(){var c,d,u=Number.MAX_VALUE,f=-Number.MAX_VALUE,p=u,x=f;if(t.chart.stacked)(function(){var A=i.seriesX[n[0]],l=[],g=[],b=[];h.forEach(function(){l.push(A.map(function(){return Number.MIN_VALUE})),g.push(A.map(function(){return Number.MIN_VALUE})),b.push(A.map(function(){return Number.MIN_VALUE}))});for(var C=function(L){!c&&t.series[n[L]].type&&(c=t.series[n[L]].type);var R=n[L];d=t.series[R].group?t.series[R].group:"axis-".concat(o),!(i.collapsedSeriesIndices.indexOf(R)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(R)<0)||(i.allSeriesCollapsed=!1,h.forEach(function(T,Y){if(t.series[R].group===T)for(var W=0;W=0?g[Y][W]+=O:b[Y][W]+=O,l[Y][W]+=O,p=Math.min(p,O),x=Math.max(x,O)}})),c!=="bar"&&c!=="column"||i.barGroups.push(d)},k=0;k1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;a===null&&(a=e+1);var h=r.series,c=h,d=h;s.chart.type==="candlestick"?(c=r.seriesCandleL,d=r.seriesCandleH):s.chart.type==="boxPlot"?(c=r.seriesCandleO,d=r.seriesCandleC):r.isRangeData&&(c=r.seriesRangeStart,d=r.seriesRangeEnd);var u=!1;if(r.seriesX.length>=a){var f,p=(f=r.brushSource)===null||f===void 0?void 0:f.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||p!=null&&p.enabled&&p!=null&&p.autoScaleYaxis)&&(u=!0)}for(var x=e;xv&&r.seriesX[x][A]>s.xaxis.max;A--);}for(var l=v;l<=A&&lc[x][l]&&c[x][l]<0&&(o=c[x][l])}else r.hasNullValues=!0}m!=="bar"&&m!=="column"||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,t=Math.min(t,0)))}return s.chart.type==="rangeBar"&&r.seriesRangeStart.length&&r.isBarHorizontal&&(o=t),s.chart.type==="bar"&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:t,highestY:i}}},{key:"setYRange",value:function(){var e=this.w.globals,t=this.w.config;e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(e.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;se.dataPoints&&e.dataPoints!==0&&(a=e.dataPoints-1);else if(t.xaxis.tickAmount==="dataPoints"){if(e.series.length>1&&(a=e.series[e.maxValsInArrayIndex].length-1),e.isXNumeric){var s=e.maxX-e.minX;s<30&&(a=s-1)}}else a=t.xaxis.tickAmount;if(e.xTickAmount=a,t.xaxis.max!==void 0&&typeof t.xaxis.max=="number"&&(e.maxX=t.xaxis.max),t.xaxis.min!==void 0&&typeof t.xaxis.min=="number"&&(e.minX=t.xaxis.min),t.xaxis.range!==void 0&&(e.minX=e.maxX-t.xaxis.range),e.minX!==Number.MAX_VALUE&&e.maxX!==-Number.MAX_VALUE)if(t.xaxis.convertedCatToNumeric&&!e.dataFormatXNumeric){for(var r=[],n=e.minX-1;n0&&(e.xAxisScale=this.scales.linearScale(1,e.labels.length,a-1,0,t.xaxis.stepSize),e.seriesX=e.labels.slice());i&&(e.labels=e.xAxisScale.result.slice())}return e.isBarHorizontal&&e.labels.length&&(e.xTickAmount=e.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:e.minX,maxX:e.maxX}}},{key:"setZRange",value:function(){var e=this.w.globals;if(e.isDataXYZ){for(var t=0;t0){var n=s-a[r-1];n>0&&(e.minXDiff=Math.min(n,e.minXDiff))}}),e.dataPoints!==1&&e.minXDiff!==Number.MAX_VALUE||(e.minXDiff=.5)})}},{key:"_setStackedMinMax",value:function(){var e=this,t=this.w.globals;if(t.series.length){var i=t.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map(function(r){return r})]);var a={},s={};i.forEach(function(r){a[r]=[],s[r]=[],e.w.config.series.map(function(n,o){return r.indexOf(t.seriesNames[o])>-1?o:null}).filter(function(n){return n!==null}).forEach(function(n){for(var o=0;o0?a[r][o]+=parseFloat(t.series[n][o])+1e-4:s[r][o]+=parseFloat(t.series[n][o]))}})}),Object.entries(a).forEach(function(r){var n=Q(r,1)[0];a[n].forEach(function(o,h){t.maxY=Math.max(t.maxY,a[n][h]),t.minY=Math.min(t.minY,s[n][h])})})}}}]),y}(),pt=function(){function y(e,t){E(this,y),this.ctx=e,this.elgrid=t,this.w=e.w;var i=this.w;this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.axisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xAxisoffX=0,i.config.xaxis.position==="bottom"&&(this.xAxisoffX=i.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new Ie(e)}return I(y,[{key:"drawYaxis",value:function(e){var t=this,i=this.w,a=new B(this.ctx),s=i.config.yaxis[e].labels.style,r=s.fontSize,n=s.fontFamily,o=s.fontWeight,h=a.group({class:"apexcharts-yaxis",rel:e,transform:"translate("+i.globals.translateYAxisX[e]+", 0)"});if(this.axesUtils.isYAxisHidden(e))return h;var c=a.group({class:"apexcharts-yaxis-texts-g"});h.add(c);var d=i.globals.yAxisScale[e].result.length-1,u=i.globals.gridHeight/d,f=i.globals.yLabelFormatters[e],p=i.globals.yAxisScale[e].result.slice();p=this.axesUtils.checkForReversedLabels(e,p);var x="";if(i.config.yaxis[e].labels.show){var m=i.globals.translateY+i.config.yaxis[e].labels.offsetY;i.globals.isBarHorizontal?m=0:i.config.chart.type==="heatmap"&&(m-=u/2),m+=parseInt(i.config.yaxis[e].labels.style.fontSize,10)/3;for(var v=function(R){var T=p[R];T=f(T,R,i);var Y=i.config.yaxis[e].labels.padding;i.config.yaxis[e].opposite&&i.config.yaxis.length!==0&&(Y*=-1);var W="end";i.config.yaxis[e].opposite&&(W="start"),i.config.yaxis[e].labels.align==="left"?W="start":i.config.yaxis[e].labels.align==="center"?W="middle":i.config.yaxis[e].labels.align==="right"&&(W="end");var O=t.axesUtils.getYAxisForeColor(s.colors,e),H=z.listToArray(i.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label tspan"))).map(function(te){return te.textContent}),j=a.drawText({x:Y,y:m,text:H.indexOf(T)>=0?"":T,textAnchor:W,fontSize:r,fontFamily:n,fontWeight:o,maxWidth:i.config.yaxis[e].labels.maxWidth,foreColor:Array.isArray(O)?O[R]:O,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});R===d&&(x=j),c.add(j);var q=document.createElementNS(i.globals.SVGNS,"title");if(q.textContent=Array.isArray(T)?T.join(" "):T,j.node.appendChild(q),i.config.yaxis[e].labels.rotate!==0){var J=a.rotateAroundCenter(x.node),K=a.rotateAroundCenter(j.node);j.node.setAttribute("transform","rotate(".concat(i.config.yaxis[e].labels.rotate," ").concat(J.x," ").concat(K.y,")"))}m+=u},A=d;A>=0;A--)v(A)}if(i.config.yaxis[e].title.text!==void 0){var l=a.group({class:"apexcharts-yaxis-title"}),g=0;i.config.yaxis[e].opposite&&(g=i.globals.translateYAxisX[e]);var b=a.drawText({x:g,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[e].title.offsetY,text:i.config.yaxis[e].title.text,textAnchor:"end",foreColor:i.config.yaxis[e].title.style.color,fontSize:i.config.yaxis[e].title.style.fontSize,fontWeight:i.config.yaxis[e].title.style.fontWeight,fontFamily:i.config.yaxis[e].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[e].title.style.cssClass});l.add(b),h.add(l)}var C=i.config.yaxis[e].axisBorder,k=31+C.offsetX;if(i.config.yaxis[e].opposite&&(k=-31-C.offsetX),C.show){var L=a.drawLine(k,i.globals.translateY+C.offsetY-2,k,i.globals.gridHeight+i.globals.translateY+C.offsetY+2,C.color,0,C.width);h.add(L)}return i.config.yaxis[e].axisTicks.show&&this.axesUtils.drawYAxisTicks(k,d,C,i.config.yaxis[e].axisTicks,e,u,h),h}},{key:"drawYaxisInversed",value:function(e){var t=this.w,i=new B(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});a.add(s);var r=t.globals.yAxisScale[e].result.length-1,n=t.globals.gridWidth/r+.1,o=n+t.config.xaxis.labels.offsetX,h=t.globals.xLabelFormatter,c=t.globals.yAxisScale[e].result.slice(),d=t.globals.timescaleLabels;d.length>0&&(this.xaxisLabels=d.slice(),r=(c=d.slice()).length),c=this.axesUtils.checkForReversedLabels(e,c);var u=d.length;if(t.config.xaxis.labels.show)for(var f=u?0:r;u?f=0;u?f++:f--){var p=c[f];p=h(p,f,t);var x=t.globals.gridWidth+t.globals.padHorizontal-(o-n+t.config.xaxis.labels.offsetX);if(d.length){var m=this.axesUtils.getLabel(c,d,x,f,this.drawnLabels,this.xaxisFontSize);x=m.x,p=m.text,this.drawnLabels.push(m.text),f===0&&t.globals.skipFirstTimelinelabel&&(p=""),f===c.length-1&&t.globals.skipLastTimelinelabel&&(p="")}var v=i.drawText({x,y:this.xAxisoffX+t.config.xaxis.labels.offsetY+30-(t.config.xaxis.position==="top"?t.globals.xAxisHeight+t.config.xaxis.axisTicks.height-2:0),text:p,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[e]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:t.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+t.config.xaxis.labels.style.cssClass});s.add(v),v.tspan(p);var A=document.createElementNS(t.globals.SVGNS,"title");A.textContent=p,v.node.appendChild(A),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(e){var t=this.w,i=new B(this.ctx),a=t.config.xaxis.axisBorder;if(a.show){var s=0;t.config.chart.type==="bar"&&t.globals.isXNumeric&&(s-=15);var r=i.drawLine(t.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,t.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(r):e.add(r)}}},{key:"inversedYAxisTitleText",value:function(e){var t=this.w,i=new B(this.ctx);if(t.config.xaxis.title.text!==void 0){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(t.config.xaxis.title.style.fontSize)+t.config.xaxis.title.offsetY+20,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+t.config.xaxis.title.style.cssClass});a.add(s),e.add(a)}}},{key:"yAxisTitleRotate",value:function(e,t){var i=this.w,a=new B(this.ctx),s={width:0,height:0},r={width:0,height:0},n=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g"));n!==null&&(s=n.getBoundingClientRect());var o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-title text"));if(o!==null&&(r=o.getBoundingClientRect()),o!==null){var h=this.xPaddingForYAxisTitle(e,s,r,t);o.setAttribute("x",h.xPos-(t?10:0))}if(o!==null){var c=a.rotateAroundCenter(o);o.setAttribute("transform","rotate(".concat(t?-1*i.config.yaxis[e].title.rotate:i.config.yaxis[e].title.rotate," ").concat(c.x," ").concat(c.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(e,t,i,a){var s=this.w,r=0,n=0,o=10;return s.config.yaxis[e].title.text===void 0||e<0?{xPos:n,padd:0}:(a?(n=t.width+s.config.yaxis[e].title.offsetX+i.width/2+o/2,(r+=1)===0&&(n-=o/2)):(n=-1*t.width+s.config.yaxis[e].title.offsetX+o/2+i.width/2,s.globals.isBarHorizontal&&(o=25,n=-1*t.width-s.config.yaxis[e].title.offsetX-o)),{xPos:n,padd:o})}},{key:"setYAxisXPosition",value:function(e,t){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map(function(o,h){var c=i.globals.ignoreYAxisIndexes.indexOf(h)>-1||!o.show||o.floating||e[h].width===0,d=e[h].width+t[h].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[h]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,c||(n=n+d+20),i.globals.translateYAxisX[h]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,c||(r=r+d+20),i.globals.translateYAxisX[h]=a+o.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(t=z.listToArray(t)).forEach(function(i,a){var s=e.config.yaxis[a];if(s&&!s.floating&&s.labels.align!==void 0){var r=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(a,"'] .apexcharts-yaxis-texts-g")),n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(a,"'] .apexcharts-yaxis-label"));n=z.listToArray(n);var o=r.getBoundingClientRect();s.labels.align==="left"?(n.forEach(function(h,c){h.setAttribute("text-anchor","start")}),s.opposite||r.setAttribute("transform","translate(-".concat(o.width,", 0)"))):s.labels.align==="center"?(n.forEach(function(h,c){h.setAttribute("text-anchor","middle")}),r.setAttribute("transform","translate(".concat(o.width/2*(s.opposite?1:-1),", 0)"))):s.labels.align==="right"&&(n.forEach(function(h,c){h.setAttribute("text-anchor","end")}),s.opposite&&r.setAttribute("transform","translate(".concat(o.width,", 0)")))}})}}]),y}(),Ui=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.documentEvent=z.bind(this.documentEvent,this)}return I(y,[{key:"addEventListener",value:function(e,t){var i=this.w;i.globals.events.hasOwnProperty(e)?i.globals.events[e].push(t):i.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){var a=i.globals.events[e].indexOf(t);a!==-1&&i.globals.events[e].splice(a,1)}}},{key:"fireEvent",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var a=i.globals.events[e],s=a.length,r=0;r0&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(s){return s.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=z.extend(Yt,i);this.w.globals.locale=a.options}}]),y}(),Zi=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"drawAxis",value:function(e,t){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new Ue(this.ctx,t),h=new pt(this.ctx,t);r.axisCharts&&e!=="radar"&&(r.isBarHorizontal?(a=h.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map(function(c,d){if(r.ignoreYAxisIndexes.indexOf(d)===-1&&(a=h.drawYaxis(d),r.dom.Paper.add(a),s.w.config.grid.position==="back")){var u=r.dom.Paper.children()[1];u.remove(),r.dom.Paper.add(u)}})))}}]),y}(),xt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"drawXCrosshairs",value:function(){var e=this.w,t=new B(this.ctx),i=new ce(this.ctx),a=e.config.xaxis.crosshairs.fill.gradient,s=e.config.xaxis.crosshairs.dropShadow,r=e.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,h=a.opacityFrom,c=a.opacityTo,d=a.stops,u=s.enabled,f=s.left,p=s.top,x=s.blur,m=s.color,v=s.opacity,A=e.config.xaxis.crosshairs.fill.color;if(e.config.xaxis.crosshairs.show){r==="gradient"&&(A=t.drawGradient("vertical",n,o,h,c,null,d,null));var l=t.drawRect();e.config.xaxis.crosshairs.width===1&&(l=t.drawLine());var g=e.globals.gridHeight;(!z.isNumber(g)||g<0)&&(g=0);var b=e.config.xaxis.crosshairs.width;(!z.isNumber(b)||b<0)&&(b=0),l.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:g,width:b,height:g,fill:A,filter:"none","fill-opacity":e.config.xaxis.crosshairs.opacity,stroke:e.config.xaxis.crosshairs.stroke.color,"stroke-width":e.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":e.config.xaxis.crosshairs.stroke.dashArray}),u&&(l=i.dropShadow(l,{left:f,top:p,blur:x,color:m,opacity:v})),e.globals.dom.elGraphical.add(l)}}},{key:"drawYCrosshairs",value:function(){var e=this.w,t=new B(this.ctx),i=e.config.yaxis[0].crosshairs,a=e.globals.barPadForNumericAxis;if(e.config.yaxis[0].crosshairs.show){var s=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),e.globals.dom.elGraphical.add(s)}var r=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),e.globals.dom.elGraphical.add(r)}}]),y}(),$i=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"checkResponsiveConfig",value:function(e){var t=this,i=this.w,a=i.config;if(a.responsive.length!==0){var s=a.responsive.slice();s.sort(function(h,c){return h.breakpoint>c.breakpoint?1:c.breakpoint>h.breakpoint?-1:0}).reverse();var r=new je({}),n=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=s[0].breakpoint,d=window.innerWidth>0?window.innerWidth:screen.width;if(d>c){var u=z.clone(i.globals.initialConfig);u.series=z.clone(i.config.series);var f=de.extendArrayProps(r,u,i);h=z.extend(f,h),h=z.extend(i.config,h),t.overrideResponsiveOptions(h)}else for(var p=0;p0&&typeof i.config.colors[0]=="function"&&(i.globals.colors=i.config.series.map(function(p,x){var m=i.config.colors[x];return m||(m=i.config.colors[0]),typeof m=="function"?(t.isColorFn=!0,m({value:i.globals.axisCharts?i.globals.series[x][0]?i.globals.series[x][0]:0:i.globals.series[x],seriesIndex:x,dataPointIndex:x,w:i})):m}))),i.globals.seriesColors.map(function(p,x){p&&(i.globals.colors[x]=p)}),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var n=i.config.theme.monochrome.color,o=1/(r/i.config.theme.monochrome.shadeIntensity),h=i.config.theme.monochrome.shadeTo,c=0,d=0;d2&&arguments[2]!==void 0?arguments[2]:null,a=this.w,s=t||a.globals.series.length;if(i===null&&(i=this.isBarDistributed||this.isHeatmapDistributed||a.config.chart.type==="heatmap"&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),e.lengthe.globals.svgWidth&&(this.dCtx.lgRect.width=e.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var e=this,t=this.w,i=[];t.config.series.forEach(function(o,h){o.data.forEach(function(c,d){var u;u=t.globals.series[h][d],a=t.config.dataLabels.formatter(u,{ctx:e.dCtx.ctx,seriesIndex:h,dataPointIndex:d,w:t}),i.push(a)})});var a=z.getLargestStringFromArr(i),s=new B(this.dCtx.ctx),r=t.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(e,t){var i=e;if(this.w.globals.isMultiLineX){var a=t.map(function(r,n){return Array.isArray(r)?r.length:1}),s=Math.max.apply(Math,U(a));i=t[a.indexOf(s)]}return i}}]),y}(),ea=function(){function y(e){E(this,y),this.w=e.w,this.dCtx=e}return I(y,[{key:"getxAxisLabelsCoords",value:function(){var e,t=this.w,i=t.globals.labels.slice();if(t.config.xaxis.convertedCatToNumeric&&i.length===0&&(i=t.globals.categoryLabels),t.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();e={width:a.width,height:a.height},t.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=t.config.legend.position!=="left"&&t.config.legend.position!=="right"||t.config.legend.floating?0:this.dCtx.lgRect.width;var s=t.globals.xLabelFormatter,r=z.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);t.globals.isBarHorizontal&&(n=r=t.globals.yAxisScale[0].result.reduce(function(p,x){return p.length>x.length?p:x},0));var o=new Ve(this.dCtx.ctx),h=r;r=o.xLabelFormat(s,r,h,{i:void 0,dateFormatter:new me(this.dCtx.ctx).formatDate,w:t}),n=o.xLabelFormat(s,n,h,{i:void 0,dateFormatter:new me(this.dCtx.ctx).formatDate,w:t}),(t.config.xaxis.convertedCatToNumeric&&r===void 0||String(r).trim()==="")&&(n=r="1");var c=new B(this.dCtx.ctx),d=c.getTextRects(r,t.config.xaxis.labels.style.fontSize),u=d;if(r!==n&&(u=c.getTextRects(n,t.config.xaxis.labels.style.fontSize)),(e={width:d.width>=u.width?d.width:u.width,height:d.height>=u.height?d.height:u.height}).width*i.length>t.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&t.config.xaxis.labels.rotate!==0||t.config.xaxis.labels.rotateAlways){if(!t.globals.isBarHorizontal){t.globals.rotateXLabels=!0;var f=function(p){return c.getTextRects(p,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,"rotate(".concat(t.config.xaxis.labels.rotate," 0 0)"),!1)};d=f(r),r!==n&&(u=f(n)),e.height=(d.height>u.height?d.height:u.height)/1.5,e.width=d.width>u.width?d.width:u.width}}else t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(e={width:0,height:0}),{width:e.width,height:e.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var e,t=this.w;if(!t.globals.hasXaxisGroups)return{width:0,height:0};var i,a=((e=t.config.xaxis.group.style)===null||e===void 0?void 0:e.fontSize)||t.config.xaxis.labels.style.fontSize,s=t.globals.groups.map(function(d){return d.title}),r=z.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new B(this.dCtx.ctx),h=o.getTextRects(r,a),c=h;return r!==n&&(c=o.getTextRects(n,a)),i={width:h.width>=c.width?h.width:c.width,height:h.height>=c.height?h.height:c.height},t.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var e=this.w,t=0,i=0;if(e.config.xaxis.title.text!==void 0){var a=new B(this.dCtx.ctx).getTextRects(e.config.xaxis.title.text,e.config.xaxis.title.style.fontSize);t=a.width,i=a.height}return{width:t,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var e,t=this.w;this.dCtx.timescaleLabels=t.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map(function(s){return s.value}),a=i.reduce(function(s,r){return s===void 0?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):s.length>r.length?s:r},0);return 1.05*(e=new B(this.dCtx.ctx).getTextRects(a,t.config.xaxis.labels.style.fontSize)).width*i.length>t.globals.gridWidth&&t.config.xaxis.labels.rotate!==0&&(t.globals.overlappingXLabels=!0),e}},{key:"additionalPaddingXLabels",value:function(e){var t=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=e.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,h=function(c,d){s.yaxis.length>1&&function(u){return a.collapsedSeriesIndices.indexOf(u)!==-1}(d)||function(u){if(t.dCtx.timescaleLabels&&t.dCtx.timescaleLabels.length){var f=t.dCtx.timescaleLabels[0],p=t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length-1].position+n/1.75-t.dCtx.yAxisWidthRight,x=f.position-n/1.75+t.dCtx.yAxisWidthLeft,m=i.config.legend.position==="right"&&t.dCtx.lgRect.width>0?t.dCtx.lgRect.width:0;p>a.svgWidth-a.translateX-m&&(a.skipLastTimelinelabel=!0),x<-(u.show&&!u.floating||s.chart.type!=="bar"&&s.chart.type!=="candlestick"&&s.chart.type!=="rangeBar"&&s.chart.type!=="boxPlot"?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else r==="datetime"?t.dCtx.gridPad.right((k=String(d(b,o)))===null||k===void 0?void 0:k.length)?g:b},u),p=f=d(f,o);if(f!==void 0&&f.length!==0||(f=h.niceMax),t.globals.isBarHorizontal){a=0;var x=t.globals.labels.slice();f=z.getLargestStringFromArr(x),f=d(f,{seriesIndex:n,dataPointIndex:-1,w:t}),p=e.dCtx.dimHelpers.getLargestStringFromMultiArr(f,x)}var m=new B(e.dCtx.ctx),v="rotate(".concat(r.labels.rotate," 0 0)"),A=m.getTextRects(f,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1),l=A;f!==p&&(l=m.getTextRects(p,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1)),i.push({width:(c>l.width||c>A.width?c:l.width>A.width?l.width:A.width)+a,height:l.height>A.height?l.height:A.height})}else i.push({width:0,height:0})}),i}},{key:"getyAxisTitleCoords",value:function(){var e=this,t=this.w,i=[];return t.config.yaxis.map(function(a,s){if(a.show&&a.title.text!==void 0){var r=new B(e.dCtx.ctx),n="rotate(".concat(a.title.rotate," 0 0)"),o=r.getTextRects(a.title.text,a.title.style.fontSize,a.title.style.fontFamily,n,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})}),i}},{key:"getTotalYAxisWidth",value:function(){var e=this.w,t=0,i=0,a=0,s=e.globals.yAxisScale.length>1?10:0,r=new Ie(this.dCtx.ctx),n=function(o,h){var c=e.config.yaxis[h].floating,d=0;o.width>0&&!c?(d=o.width+s,function(u){return e.globals.ignoreYAxisIndexes.indexOf(u)>-1}(h)&&(d=d-o.width-s)):d=c||r.isYAxisHidden(h)?0:5,e.config.yaxis[h].opposite?a+=d:i+=d,t+=d};return e.globals.yLabelsCoords.map(function(o,h){n(o,h)}),e.globals.yTitleCoords.map(function(o,h){n(o,h)}),e.globals.isBarHorizontal&&!e.config.yaxis[0].floating&&(t=e.globals.yLabelsCoords[0].width+e.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,t}}]),y}(),ia=function(){function y(e){E(this,y),this.w=e.w,this.dCtx=e}return I(y,[{key:"gridPadForColumnsInNumericAxis",value:function(e){var t=this.w,i=t.config,a=t.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(f){return f==="bar"||f==="rangeBar"||f==="candlestick"||f==="boxPlot"},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach(function(f){s(f.type)&&(o-=1)}),i.chart.stacked&&(o=1);var h=s(r)||a.comboBarCount>0,c=Math.abs(a.initialMaxX-a.initialMinX);if(h&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&c!==0){var d,u;c<=3&&(c=a.dataPoints),d=c/e,a.minXDiff&&a.minXDiff/d>0&&(u=a.minXDiff/d),u>e/2&&(u/=2),(n=u*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var e=this,t=this.w,i=t.globals,a=this.dCtx.isSparkline||!t.globals.axisCharts?0:10;["title","subtitle"].forEach(function(n){t.config[n].text!==void 0?a+=t.config[n].margin:a+=e.dCtx.isSparkline||!t.globals.axisCharts?0:5}),!t.config.legend.show||t.config.legend.position!=="bottom"||t.config.legend.floating||t.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(e,t){var i=this.w,a=new Ie(this.dCtx.ctx);i.config.yaxis.map(function(s,r){i.globals.ignoreYAxisIndexes.indexOf(r)!==-1||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(t[r].width+e[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))})}}]),y}(),et=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new Qi(this),this.dimYAxis=new ta(this),this.dimXAxis=new ea(this),this.dimGrid=new ia(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return I(y,[{key:"plotCoords",value:function(){var e=this,t=this.w,i=t.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,U(t.config.stroke.width)):t.config.stroke.width;this.isSparkline&&((t.config.markers.discrete.length>0||t.config.markers.size>0)&&Object.entries(this.gridPad).forEach(function(r){var n=Q(r,2),o=n[0],h=n[1];e.gridPad[o]=Math.max(h,e.w.globals.markers.largestSize/1.5)}),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var e=this,t=this.w,i=t.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),t.globals.yLabelsCoords=[],t.globals.yTitleCoords=[],t.config.yaxis.map(function(f,p){t.globals.yLabelsCoords.push({width:a[p].width,index:p}),t.globals.yTitleCoords.push({width:s[p].width,index:p})}),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=t.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=t.globals.rotateXLabels&&t.globals.isXNumeric&&t.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,t.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(t.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+t.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+t.config.xaxis.labels.offsetX;var h=this.yAxisWidth,c=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var d=10;(t.config.chart.type==="radar"||this.isSparkline)&&(h=0,c=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||t.config.chart.type==="treemap")&&(h=0,c=0,d=0),this.isSparkline||t.config.chart.type==="treemap"||this.dimXAxis.additionalPaddingXLabels(r);var u=function(){i.translateX=h+e.datalabelsCoords.width,i.gridHeight=i.svgHeight-e.lgRect.height-c-(e.isSparkline||t.config.chart.type==="treemap"?0:t.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-h-2*e.datalabelsCoords.width};switch(t.config.xaxis.position==="top"&&(d=i.xAxisHeight-t.config.xaxis.axisTicks.height-5),t.config.legend.position){case"bottom":i.translateY=d,u();break;case"top":i.translateY=this.lgRect.height+d,u();break;case"left":i.translateY=d,i.translateX=this.lgRect.width+h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width;break;case"right":i.translateY=d,i.translateX=h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new pt(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=e.config,a=0;e.config.legend.show&&!e.config.legend.floating&&(a=20);var s=i.chart.type==="pie"||i.chart.type==="polarArea"||i.chart.type==="donut"?"pie":"radialBar",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){t.gridHeight=t.svgHeight-i.grid.padding.top-i.grid.padding.bottom;var o=t.dom.elWrap.getBoundingClientRect().width;return t.gridWidth=Math.min(o,t.gridHeight)-i.grid.padding.left-i.grid.padding.right,t.translateY=r,void(t.translateX=n+(t.svgWidth-t.gridWidth)/2)}switch(i.legend.position){case"bottom":t.gridHeight=t.svgHeight-this.lgRect.height-t.goldenPadding,t.gridWidth=t.svgWidth,t.translateY=r-10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"top":t.gridHeight=t.svgHeight-this.lgRect.height-t.goldenPadding,t.gridWidth=t.svgWidth,t.translateY=this.lgRect.height+r+10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"left":t.gridWidth=t.svgWidth-this.lgRect.width-a,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+this.lgRect.width+a;break;case"right":t.gridWidth=t.svgWidth-this.lgRect.width-a-5,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(e,t,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+e.height+t.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,h=a.globals.rotateXLabels&&a.config.legend.position==="bottom"?10:0;this.xAxisHeight=r*n+s*o+h,this.xAxisWidth=e.width,this.xAxisHeight-t.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightd&&(this.yAxisWidth=d)}}]),y}(),aa=function(){function y(e){E(this,y),this.w=e.w,this.lgCtx=e}return I(y,[{key:"getLegendStyles",value:function(){var e,t,i,a=document.createElement("style");a.setAttribute("type","text/css");var s=((e=this.lgCtx.ctx)===null||e===void 0||(t=e.opts)===null||t===void 0||(i=t.chart)===null||i===void 0?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute("nonce",s);var r=document.createTextNode(` + .apexcharts-legend { + display: flex; + overflow: auto; + padding: 0 10px; + } + .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top { + flex-wrap: wrap + } + .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { + flex-direction: column; + bottom: 0; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { + justify-content: flex-start; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center { + justify-content: center; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right { + justify-content: flex-end; + } + .apexcharts-legend-series { + cursor: pointer; + line-height: normal; + display: flex; + align-items: center; + } + .apexcharts-legend-text { + position: relative; + font-size: 14px; + } + .apexcharts-legend-text *, .apexcharts-legend-marker * { + pointer-events: none; + } + .apexcharts-legend-marker { + position: relative; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + margin-right: 1px; + } + + .apexcharts-legend-series.apexcharts-no-click { + cursor: auto; + } + .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series { + display: none !important; + } + .apexcharts-inactive-legend { + opacity: 0.45; + }`);return a.appendChild(r),a}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend"),t=e.offsetWidth;return{clwh:e.offsetHeight,clww:t}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(e,t){var i=this,a=this.w;if(a.globals.axisCharts||a.config.chart.type==="radialBar"){a.globals.resized=!0;var s=null,r=null;a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(e+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),t?[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach(function(c){i.riseCollapsedSeries(c.cs,c.csi,r)}):this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(e+1,"'] path")),o=a.config.chart.type;if(o==="pie"||o==="polarArea"||o==="donut"){var h=a.config.plotOptions.pie.donut.labels;new B(this.lgCtx.ctx).pathMouseDown(n.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(n.members[0].node,h)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(e){var t=e.realIndex,i=this.w,a=i.globals,s=z.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[t]],n={index:t,data:s[t].data.slice(),type:s[t].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(t)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(t));else if(a.collapsedSeriesIndices.indexOf(t)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(t);var o=a.risingSeries.indexOf(t);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:t,data:s[t]}),a.collapsedSeriesIndices.push(t);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:"hideSeries",value:function(e){for(var t=e.seriesEl,i=e.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=t.childNodes,n=0;n0){for(var r=0;r1||!t.axisCharts)&&i.legend.show){for(;t.dom.elLegendWrap.firstChild;)t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);this.drawLegends(),this.legendHelpers.appendToForeignObject(),i.legend.position==="bottom"||i.legend.position==="top"?this.legendAlignHorizontal():i.legend.position!=="right"&&i.legend.position!=="left"||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(e){var t=e.i,i=e.fillcolor,a=this.w,s=document.createElement("span");s.classList.add("apexcharts-legend-marker");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[t]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[t]):parseFloat(a.config.legend.markers.size),h=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[t]):parseFloat(a.config.legend.markers.offsetX),c=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[t]):parseFloat(a.config.legend.markers.offsetY),d=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[t]):parseFloat(a.config.legend.markers.strokeWidth),u=s.style;if(u.height=2*(o+d)+"px",u.width=2*(o+d)+"px",u.left=h+"px",u.top=c+"px",a.config.legend.markers.customHTML)u.background="transparent",u.color=i[t],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[t]&&(s.innerHTML=a.config.legend.markers.customHTML[t]()):s.innerHTML=a.config.legend.markers.customHTML();else{var f=new Ne(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:t,strokeWidth:d,size:o}),p=SVG(s).size("100%","100%"),x=new B(this.ctx).drawMarker(0,0,V(V({},f),{},{pointFillColor:Array.isArray(i)?i[t]:f.pointFillColor,shape:n}));SVG.select(".apexcharts-legend-marker.apexcharts-marker").members.forEach(function(m){m.node.classList.contains("apexcharts-marker-triangle")?m.node.style.transform="translate(50%, 45%)":m.node.style.transform="translate(50%, 50%)"}),p.add(x)}return s}},{key:"drawLegends",value:function(){var e=this,t=this.w,i=t.config.legend.fontFamily,a=t.globals.seriesNames,s=t.config.legend.markers.fillColors?t.config.legend.markers.fillColors.slice():t.globals.colors.slice();if(t.config.chart.type==="heatmap"){var r=t.config.plotOptions.heatmap.colorScale.ranges;a=r.map(function(b){return b.name?b.name:b.from+" - "+b.to}),s=r.map(function(b){return b.color})}else this.isBarsDistributed&&(a=t.globals.labels.slice());t.config.legend.customLegendItems.length&&(a=t.config.legend.customLegendItems);for(var n=t.globals.legendFormatter,o=t.config.legend.inverseOrder,h=o?a.length-1:0;o?h>=0:h<=a.length-1;o?h--:h++){var c,d=n(a[h],{seriesIndex:h,w:t}),u=!1,f=!1;if(t.globals.collapsedSeries.length>0)for(var p=0;p0)for(var x=0;x0?h-10:0)+(c>0?c-10:0)}a.style.position="absolute",r=r+e+i.config.legend.offsetX,n=n+t+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=n+"px",i.config.legend.position==="bottom"?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):i.config.legend.position==="right"&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach(function(d){a.style[d]&&(a.style[d]=parseInt(i.config.legend[d],10)+"px")})}},{key:"legendAlignHorizontal",value:function(){var e=this.w;e.globals.dom.elLegendWrap.style.right=0;var t=this.legendHelpers.getLegendDimensions(),i=new et(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;e.config.legend.position==="bottom"?r=-t.clwh/1.8:e.config.legend.position==="top"&&(r=a.height+s.height+e.config.title.margin+e.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var e=this.w,t=this.legendHelpers.getLegendDimensions(),i=0;e.config.legend.position==="left"&&(i=20),e.config.legend.position==="right"&&(i=e.globals.svgWidth-t.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(e){var t=this.w,i=e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker");if(t.config.chart.type==="heatmap"||this.isBarsDistributed){if(i){var a=parseInt(e.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new Le(this.ctx).highlightRangeInSeries(e,e.target)}}else!e.target.classList.contains("apexcharts-inactive-legend")&&i&&new Le(this.ctx).toggleSeriesOnHover(e,e.target)}},{key:"onLegendClick",value:function(e){var t=this.w;if(!t.config.legend.customLegendItems.length&&(e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(e.target.getAttribute("rel"),10)-1,a=e.target.getAttribute("data:collapsed")==="true",s=this.w.config.chart.events.legendClick;typeof s=="function"&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;typeof r=="function"&&e.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),t.config.chart.type!=="treemap"&&t.config.chart.type!=="heatmap"&&!this.isBarsDistributed&&t.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),y}(),Vt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=t.globals.minX,this.maxX=t.globals.maxX}return I(y,[{key:"createToolbar",value:function(){var e=this,t=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=t.config.chart.toolbar.offsetY+"px",a.style.right=3-t.config.chart.toolbar.offsetX+"px",t.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s + + + +`),n("zoomOut",this.elZoomOut,` + + + +`);var o=function(d){e.t[d]&&t.config.chart[d].enabled&&r.push({el:d==="zoom"?e.elZoom:e.elSelection,icon:typeof e.t[d]=="string"?e.t[d]:d==="zoom"?` + + + +`:` + + +`,title:e.localeValues[d==="zoom"?"selectionZoom":"selection"],class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(d,"-icon")})};o("zoom"),o("selection"),this.t.pan&&t.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:typeof this.t.pan=="string"?this.t.pan:` + + + + + + + +`,title:this.localeValues.pan,class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,` + + +`),this.t.download&&r.push({el:this.elMenuIcon,icon:typeof this.t.download=="string"?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var h=0;hthis.wheelDelay&&(this.executeMouseWheelZoom(i),s.globals.lastWheelExecution=r),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(function(){r-s.globals.lastWheelExecution>a.wheelDelay&&(a.executeMouseWheelZoom(i),s.globals.lastWheelExecution=r)},this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(i){var a,s=this.w;this.minX=s.globals.isRangeBar?s.globals.minY:s.globals.minX,this.maxX=s.globals.isRangeBar?s.globals.maxY:s.globals.maxX;var r=(a=this.gridRect)===null||a===void 0?void 0:a.getBoundingClientRect();if(r){var n,o,h,c=(i.clientX-r.left)/r.width,d=this.minX,u=this.maxX,f=u-d;if(i.deltaY<0){var p=d+c*f;o=p-(n=.5*f)/2,h=p+n/2}else o=d-(n=1.5*f)/2,h=u+n/2;o=Math.max(o,s.globals.initialMinX),h=Math.min(h,s.globals.initialMaxX);var x=.01*(s.globals.initialMaxX-s.globals.initialMinX);if(h-o0&&a.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:i.globals.gridWidth,maxY:i.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var i=this.w,a=this.xyRatios;if(!i.globals.zoomEnabled){if(i.globals.selection!==void 0&&i.globals.selection!==null)this.drawSelectionRect(i.globals.selection);else if(i.config.chart.selection.xaxis.min!==void 0&&i.config.chart.selection.xaxis.max!==void 0){var s=(i.config.chart.selection.xaxis.min-i.globals.minX)/a.xRatio,r=i.globals.gridWidth-(i.globals.maxX-i.config.chart.selection.xaxis.max)/a.xRatio-s;i.globals.isRangeBar&&(s=(i.config.chart.selection.xaxis.min-i.globals.yAxisScale[0].niceMin)/a.invertedYRatio,r=(i.config.chart.selection.xaxis.max-i.config.chart.selection.xaxis.min)/a.invertedYRatio);var n={x:s,y:0,width:r,height:i.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(n),this.makeSelectionRectDraggable(),typeof i.config.chart.events.selection=="function"&&i.config.chart.events.selection(this.ctx,{xaxis:{min:i.config.chart.selection.xaxis.min,max:i.config.chart.selection.xaxis.max},yaxis:{}})}}}},{key:"drawSelectionRect",value:function(i){var a=i.x,s=i.y,r=i.width,n=i.height,o=i.translateX,h=o===void 0?0:o,c=i.translateY,d=c===void 0?0:c,u=this.w,f=this.zoomRect,p=this.selectionRect;if(this.dragged||u.globals.selection!==null){var x={transform:"translate("+h+", "+d+")"};u.globals.zoomEnabled&&this.dragged&&(r<0&&(r=1),f.attr({x:a,y:s,width:r,height:n,fill:u.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":u.config.chart.zoom.zoomedArea.fill.opacity,stroke:u.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":u.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":u.config.chart.zoom.zoomedArea.stroke.opacity}),B.setAttrs(f.node,x)),u.globals.selectionEnabled&&(p.attr({x:a,y:s,width:r>0?r:0,height:n>0?n:0,fill:u.config.chart.selection.fill.color,"fill-opacity":u.config.chart.selection.fill.opacity,stroke:u.config.chart.selection.stroke.color,"stroke-width":u.config.chart.selection.stroke.width,"stroke-dasharray":u.config.chart.selection.stroke.dashArray,"stroke-opacity":u.config.chart.selection.stroke.opacity}),B.setAttrs(p.node,x))}}},{key:"hideSelectionRect",value:function(i){i&&i.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(i){var a=i.context,s=i.zoomtype,r=this.w,n=a,o=this.gridRect.getBoundingClientRect(),h=n.startX-1,c=n.startY,d=!1,u=!1,f=n.clientX-o.left-h,p=n.clientY-o.top-c,x={};return Math.abs(f+h)>r.globals.gridWidth?f=r.globals.gridWidth-h:n.clientX-o.left<0&&(f=h),h>n.clientX-o.left&&(d=!0,f=Math.abs(f)),c>n.clientY-o.top&&(u=!0,p=Math.abs(p)),x=s==="x"?{x:d?h-f:h,y:0,width:f,height:r.globals.gridHeight}:s==="y"?{x:0,y:u?c-p:c,width:r.globals.gridWidth,height:p}:{x:d?h-f:h,y:u?c-p:c,width:f,height:p},n.drawSelectionRect(x),n.selectionDragging("resizing"),x}},{key:"selectionDragging",value:function(i,a){var s=this,r=this.w,n=this.xyRatios,o=this.selectionRect,h=0;i==="resizing"&&(h=30);var c=function(u){return parseFloat(o.node.getAttribute(u))},d={x:c("x"),y:c("y"),width:c("width"),height:c("height")};r.globals.selection=d,typeof r.config.chart.events.selection=="function"&&r.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var u,f,p,x,m=s.gridRect.getBoundingClientRect(),v=o.node.getBoundingClientRect();r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+(v.left-m.left)*n.invertedYRatio,f=r.globals.yAxisScale[0].niceMin+(v.right-m.left)*n.invertedYRatio,p=0,x=1):(u=r.globals.xAxisScale.niceMin+(v.left-m.left)*n.xRatio,f=r.globals.xAxisScale.niceMin+(v.right-m.left)*n.xRatio,p=r.globals.yAxisScale[0].niceMin+(m.bottom-v.bottom)*n.yRatio[0],x=r.globals.yAxisScale[0].niceMax-(v.top-m.top)*n.yRatio[0]);var A={xaxis:{min:u,max:f},yaxis:{min:p,max:x}};r.config.chart.events.selection(s.ctx,A),r.config.chart.brush.enabled&&r.config.chart.events.brushScrolled!==void 0&&r.config.chart.events.brushScrolled(s.ctx,A)},h))}},{key:"selectionDrawn",value:function(i){var a=i.context,s=i.zoomtype,r=this.w,n=a,o=this.xyRatios,h=this.ctx.toolbar;if(n.startX>n.endX){var c=n.startX;n.startX=n.endX,n.endX=c}if(n.startY>n.endY){var d=n.startY;n.startY=n.endY,n.endY=d}var u=void 0,f=void 0;r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+n.startX*o.invertedYRatio,f=r.globals.yAxisScale[0].niceMin+n.endX*o.invertedYRatio):(u=r.globals.xAxisScale.niceMin+n.startX*o.xRatio,f=r.globals.xAxisScale.niceMin+n.endX*o.xRatio);var p=[],x=[];if(r.config.yaxis.forEach(function(C,k){var L=r.globals.seriesYAxisMap[k][0];p.push(r.globals.yAxisScale[k].niceMax-o.yRatio[L]*n.startY),x.push(r.globals.yAxisScale[k].niceMax-o.yRatio[L]*n.endY)}),n.dragged&&(n.dragX>10||n.dragY>10)&&u!==f){if(r.globals.zoomEnabled){var m=z.clone(r.globals.initialConfig.yaxis),v=z.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(u=Math.floor(u),f=Math.floor(f),u<1&&(u=1,f=r.globals.dataPoints),f-u<2&&(f=u+1)),s!=="xy"&&s!=="x"||(v={min:u,max:f}),s!=="xy"&&s!=="y"||m.forEach(function(C,k){m[k].min=x[k],m[k].max=p[k]}),h){var A=h.getBeforeZoomRange(v,m);A&&(v=A.xaxis?A.xaxis:v,m=A.yaxis?A.yaxis:m)}var l={xaxis:v};r.config.chart.group||(l.yaxis=m),n.ctx.updateHelpers._updateOptions(l,!1,n.w.config.chart.animations.dynamicAnimation.enabled),typeof r.config.chart.events.zoomed=="function"&&h.zoomCallback(v,m)}else if(r.globals.selectionEnabled){var g,b=null;g={min:u,max:f},s!=="xy"&&s!=="y"||(b=z.clone(r.config.yaxis)).forEach(function(C,k){b[k].min=x[k],b[k].max=p[k]}),r.globals.selection=n.selection,typeof r.config.chart.events.selection=="function"&&r.config.chart.events.selection(n.ctx,{xaxis:g,yaxis:b})}}}},{key:"panDragging",value:function(i){var a=i.context,s=this.w,r=a;if(s.globals.lastClientPosition.x!==void 0){var n=s.globals.lastClientPosition.x-r.clientX,o=s.globals.lastClientPosition.y-r.clientY;Math.abs(n)>Math.abs(o)&&n>0?this.moveDirection="left":Math.abs(n)>Math.abs(o)&&n<0?this.moveDirection="right":Math.abs(o)>Math.abs(n)&&o>0?this.moveDirection="up":Math.abs(o)>Math.abs(n)&&o<0&&(this.moveDirection="down")}s.globals.lastClientPosition={x:r.clientX,y:r.clientY};var h=s.globals.isRangeBar?s.globals.minY:s.globals.minX,c=s.globals.isRangeBar?s.globals.maxY:s.globals.maxX;s.config.xaxis.convertedCatToNumeric||r.panScrolled(h,c)}},{key:"delayedPanScrolled",value:function(){var i=this.w,a=i.globals.minX,s=i.globals.maxX,r=(i.globals.maxX-i.globals.minX)/2;this.moveDirection==="left"?(a=i.globals.minX+r,s=i.globals.maxX+r):this.moveDirection==="right"&&(a=i.globals.minX-r,s=i.globals.maxX-r),a=Math.floor(a),s=Math.floor(s),this.updateScrolledChart({xaxis:{min:a,max:s}},a,s)}},{key:"panScrolled",value:function(i,a){var s=this.w,r=this.xyRatios,n=z.clone(s.globals.initialConfig.yaxis),o=r.xRatio,h=s.globals.minX,c=s.globals.maxX;s.globals.isRangeBar&&(o=r.invertedYRatio,h=s.globals.minY,c=s.globals.maxY),this.moveDirection==="left"?(i=h+s.globals.gridWidth/15*o,a=c+s.globals.gridWidth/15*o):this.moveDirection==="right"&&(i=h-s.globals.gridWidth/15*o,a=c-s.globals.gridWidth/15*o),s.globals.isRangeBar||(is.globals.initialMaxX)&&(i=h,a=c);var d={xaxis:{min:i,max:a}};s.config.chart.group||(d.yaxis=n),this.updateScrolledChart(d,i,a)}},{key:"updateScrolledChart",value:function(i,a,s){var r=this.w;this.ctx.updateHelpers._updateOptions(i,!1,!1),typeof r.config.chart.events.scrolled=="function"&&r.config.chart.events.scrolled(this.ctx,{xaxis:{min:a,max:s}})}}]),t}(Vt),_t=function(){function y(e){E(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return I(y,[{key:"getNearestValues",value:function(e){var t=e.hoverArea,i=e.elGrid,a=e.clientX,s=e.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,h=n.height,c=o/(r.globals.dataPoints-1),d=h/r.globals.dataPoints,u=this.hasBars();!r.globals.comboCharts&&!u||r.config.xaxis.convertedCatToNumeric||(c=o/r.globals.dataPoints);var f=a-n.left-r.globals.barPadForNumericAxis,p=s-n.top;f<0||p<0||f>o||p>h?(t.classList.remove("hovering-zoom"),t.classList.remove("hovering-pan")):r.globals.zoomEnabled?(t.classList.remove("hovering-pan"),t.classList.add("hovering-zoom")):r.globals.panEnabled&&(t.classList.remove("hovering-zoom"),t.classList.add("hovering-pan"));var x=Math.round(f/c),m=Math.floor(p/d);u&&!r.config.xaxis.convertedCatToNumeric&&(x=Math.ceil(f/c),x-=1);var v=null,A=null,l=r.globals.seriesXvalues.map(function(L){return L.filter(function(R){return z.isNumber(R)})}),g=r.globals.seriesYvalues.map(function(L){return L.filter(function(R){return z.isNumber(R)})});if(r.globals.isXNumeric){var b=this.ttCtx.getElGrid().getBoundingClientRect(),C=f*(b.width/o),k=p*(b.height/h);v=(A=this.closestInMultiArray(C,k,l,g)).index,x=A.j,v!==null&&(l=r.globals.seriesXvalues[v],x=(A=this.closestInArray(C,l)).index)}return r.globals.capturedSeriesIndex=v===null?-1:v,(!x||x<1)&&(x=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=m:r.globals.capturedDataPointIndex=x,{capturedSeries:v,j:r.globals.isBarHorizontal?m:x,hoverX:f,hoverY:p}}},{key:"closestInMultiArray",value:function(e,t,i,a){var s=this.w,r=0,n=null,o=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var h=i[r][0],c=Math.abs(e-h);if(i.forEach(function(f){f.forEach(function(p,x){var m=Math.abs(e-p);m<=c&&(c=m,o=x)})}),o!==-1){var d=a[r][o],u=Math.abs(t-d);n=r,a.forEach(function(f,p){var x=Math.abs(t-f[o]);x<=u&&(u=x,n=p)})}return{index:n,j:o}}},{key:"getFirstActiveXArray",value:function(e){for(var t=this.w,i=0,a=e.map(function(r,n){return r.length>0?n:-1}),s=0;s0)for(var a=0;a *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(e=U(e)).sort(function(i,a){var s=Number(i.getAttribute("data:realIndex")),r=Number(a.getAttribute("data:realIndex"));return rs?-1:0});var t=[];return e.forEach(function(i){t.push(i.querySelector(".apexcharts-marker"))}),t}},{key:"hasMarkers",value:function(e){return this.getElMarkers(e).length>0}},{key:"getPathFromPoint",value:function(e,t){var i=Number(e.getAttribute("cx")),a=Number(e.getAttribute("cy")),s=e.getAttribute("shape");return new B(this.ctx).getMarkerPath(i,a,s,t)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(e){var t=this.w,i=t.config.markers.hover.size;return i===void 0&&(i=t.globals.markers.size[e]+t.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(e){var t=this.w,i=this.ttCtx;i.allTooltipSeriesGroups.length===0&&(i.allTooltipSeriesGroups=t.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(T.attrs.name,""),R+="
".concat(T.val,"
")}),l.innerHTML=L+"",g.innerHTML=R+""};n?h.globals.seriesGoals[t][i]&&Array.isArray(h.globals.seriesGoals[t][i])?b():(l.innerHTML="",g.innerHTML=""):b()}else l.innerHTML="",g.innerHTML="";if(x!==null&&(a[t].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=h.config.tooltip.z.title,a[t].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=x!==void 0?x:""),n&&m[0]){if(h.config.tooltip.hideEmptySeries){var C=a[t].querySelector(".apexcharts-tooltip-marker"),k=a[t].querySelector(".apexcharts-tooltip-text");parseFloat(d)==0?(C.style.display="none",k.style.display="none"):(C.style.display="block",k.style.display="block")}d==null||h.globals.ancillaryCollapsedSeriesIndices.indexOf(t)>-1||h.globals.collapsedSeriesIndices.indexOf(t)>-1||Array.isArray(c.tConfig.enabledOnSeries)&&c.tConfig.enabledOnSeries.indexOf(t)===-1?m[0].parentNode.style.display="none":m[0].parentNode.style.display=h.config.tooltip.items.display}else Array.isArray(c.tConfig.enabledOnSeries)&&c.tConfig.enabledOnSeries.indexOf(t)===-1&&(m[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(e,t){var i=this.w;if(e)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var a=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(t));a&&(a.classList.add("apexcharts-active"),a.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(e){var t=e.i,i=e.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",n="",o=null,h=null,c={series:a.globals.series,seriesIndex:t,dataPointIndex:i,w:a},d=a.globals.ttZFormatter;i===null?h=a.globals.series[t]:a.globals.isXNumeric&&a.config.chart.type!=="treemap"?(r=s[t][i],s[t].length===0&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=a.globals.labels[i]!==void 0?a.globals.labels[i]:"";var u=r;return a.globals.isXNumeric&&a.config.xaxis.type==="datetime"?r=new Ve(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,u,u,{i:void 0,dateFormatter:new me(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](u,c):a.globals.xLabelFormatter(u,c),a.config.tooltip.x.formatter!==void 0&&(r=a.globals.ttKeyFormatter(u,c)),a.globals.seriesZ.length>0&&a.globals.seriesZ[t].length>0&&(o=d(a.globals.seriesZ[t][i],a)),n=typeof a.config.xaxis.tooltip.formatter=="function"?a.globals.xaxisTooltipFormatter(u,c):r,{val:Array.isArray(h)?h.join(" "):h,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(e){var t=e.i,i=e.j,a=e.y1,s=e.y2,r=e.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[t]&&(o=o[t]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:t,dataPointIndex:i,y1:a,y2:s,w:r})}}]),y}(),jt=function(){function y(e){E(this,y),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return I(y,[{key:"moveXCrosshairs",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=e-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(t!==null&&(r=a.globals.gridWidth/n*t),s===null||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;a.config.xaxis.crosshairs.width!=="tickWidth"&&a.config.xaxis.crosshairs.width!=="barWidth"||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(e){var t=this.ttCtx;t.ycrosshairs!==null&&B.setAttrs(t.ycrosshairs,{y1:e,y2:e}),t.ycrosshairsHidden!==null&&B.setAttrs(t.ycrosshairsHidden,{y1:e,y2:e})}},{key:"moveXAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;if(i.xaxisTooltip!==null&&i.xcrosshairsWidth!==0){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+t.config.xaxis.tooltip.offsetY+t.globals.translateY+1+t.config.xaxis.offsetY;if(e-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(e)){e+=t.globals.translateX;var s;s=new B(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=e+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;i.yaxisTTEls===null&&(i.yaxisTTEls=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=t.globals.translateY+a,r=i.yaxisTTEls[e].getBoundingClientRect().height,n=t.globals.translateYAxisX[e]-2;t.config.yaxis[e].opposite&&(n-=26),s-=r/2,t.globals.ignoreYAxisIndexes.indexOf(e)===-1?(i.yaxisTTEls[e].classList.add("apexcharts-active"),i.yaxisTTEls[e].style.top=s+"px",i.yaxisTTEls[e].style.left=n+t.config.yaxis[e].tooltip.offsetX+"px"):i.yaxisTTEls[e].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=i!==null?parseFloat(i):1,h=parseFloat(e)+o+5,c=parseFloat(t)+o/2;if(h>a.globals.gridWidth/2&&(h=h-n.ttWidth-o-10),h>a.globals.gridWidth-n.ttWidth-10&&(h=a.globals.gridWidth-n.ttWidth),h<-20&&(h=-20),a.config.tooltip.followCursor){var d=s.getElGrid().getBoundingClientRect();(h=s.e.clientX-d.left)>a.globals.gridWidth/2&&(h-=s.tooltipRect.ttWidth),(c=s.e.clientY+a.globals.translateY-d.top)>a.globals.gridHeight/2&&(c-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+c>a.globals.gridHeight&&(c=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(h)||(h+=a.globals.translateX,r.style.left=h+"px",r.style.top=c+"px")}},{key:"moveMarkers",value:function(e,t){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[e]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-marker")),r=0;r0){var p=f.getAttribute("shape"),x=h.getMarkerPath(s,r,p,1.5*d);f.setAttribute("d",x)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,d)}}},{key:"moveDynamicPointsOnHover",value:function(e){var t,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Le(this.ctx),h=new B(this.ctx);t=o.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var c=i.tooltipUtil.getHoverMarkerSize(t);n[t]&&(s=n[t][e][0],r=n[t][e][1]);var d=i.tooltipUtil.getAllMarkers();if(d!==null)for(var u=0;u0){var A=h.getMarkerPath(s,p,m,c);d[u].setAttribute("d",A)}else d[u].setAttribute("d","")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,c)}},{key:"moveStickyTooltipOverBars",value:function(e,t){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Le(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(e,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"']"));n||typeof t!="number"||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,`'], + .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], + .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], + .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,"']")));var o=n?parseFloat(n.getAttribute("cx")):0,h=n?parseFloat(n.getAttribute("cy")):0,c=n?parseFloat(n.getAttribute("barWidth")):0,d=a.getElGrid().getBoundingClientRect(),u=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!u&&(o-=s%2!=0?c/2:0),n&&u&&i.globals.comboCharts&&(o-=c/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[e-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[e]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?h-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?h=a.e.clientY-d.top-a.tooltipRect.ttHeight/2:h+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(h=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,h||i.globals.gridHeight)}}]),y}(),na=function(){function y(e){E(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new jt(e)}return I(y,[{key:"drawDynamicPoints",value:function(){var e=this.w,t=new B(this.ctx),i=new Ne(this.ctx),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=U(a),e.config.chart.stacked&&a.sort(function(d,u){return parseFloat(d.getAttribute("data:realIndex"))-parseFloat(u.getAttribute("data:realIndex"))});for(var s=0;s2&&arguments[2]!==void 0?arguments[2]:null,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,s=this.w;s.config.chart.type!=="bubble"&&this.newPointSize(e,t);var r=t.getAttribute("cx"),n=t.getAttribute("cy");if(i!==null&&a!==null&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(s.config.chart.type==="radar"){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(e){for(var t=this.w,i=this,a=this.ttCtx,s=e,r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=t.config.markers.hover.size,o=0;o=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(e[t],i);e[t].setAttribute("d",a)}else e[t].setAttribute("d","M0,0")}}}]),y}(),oa=function(){function y(e){E(this,y),this.w=e.w;var t=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.config.chart.type==="rangeBar"&&t.config.plotOptions.bar.rangeBarGroupRows}return I(y,[{key:"getAttr",value:function(e,t){return parseFloat(e.target.getAttribute(t))}},{key:"handleHeatTreeTooltip",value:function(e){var t=e.e,i=e.opt,a=e.x,s=e.y,r=e.type,n=this.ttCtx,o=this.w;if(t.target.classList.contains("apexcharts-".concat(r,"-rect"))){var h=this.getAttr(t,"i"),c=this.getAttr(t,"j"),d=this.getAttr(t,"cx"),u=this.getAttr(t,"cy"),f=this.getAttr(t,"width"),p=this.getAttr(t,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:h,j:c,shared:!1,e:t}),o.globals.capturedSeriesIndex=h,o.globals.capturedDataPointIndex=c,a=d+n.tooltipRect.ttWidth/2+f,s=u+n.tooltipRect.ttHeight/2-p/2,n.tooltipPosition.moveXCrosshairs(d+f/2),a>o.globals.gridWidth/2&&(a=d-n.tooltipRect.ttWidth/2+f),n.w.config.tooltip.followCursor){var x=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-x.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-x.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(e){var t,i,a=e.e,s=e.opt,r=e.x,n=e.y,o=this.w,h=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var c=parseInt(s.paths.getAttribute("cx"),10),d=parseInt(s.paths.getAttribute("cy"),10),u=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),t=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,h.intersect){var f=z.findAncestor(s.paths,"apexcharts-series");f&&(t=parseInt(f.getAttribute("data:realIndex"),10))}if(h.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:t,j:i,shared:!h.showOnIntersect&&o.config.tooltip.shared,e:a}),a.type==="mouseup"&&h.markerClick(a,t,i),o.globals.capturedSeriesIndex=t,o.globals.capturedDataPointIndex=i,r=c,n=d+o.globals.translateY-1.4*h.tooltipRect.ttHeight,h.w.config.tooltip.followCursor){var p=h.getElGrid().getBoundingClientRect();n=h.e.clientY+o.globals.translateY-p.top}u<0&&(n=d),h.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(e){var t,i,a=e.e,s=e.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),h=0,c=0,d=0,u=this.getBarTooltipXY({e:a,opt:s});t=u.i;var f=u.j;r.globals.capturedSeriesIndex=t,r.globals.capturedDataPointIndex=f,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(c=u.x,d=u.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[t]:r.config.stroke.width,h=c):r.globals.comboCharts||r.config.tooltip.shared||(h/=2),isNaN(d)&&(d=r.globals.svgHeight-n.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10);if(r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed,c+n.tooltipRect.ttWidth>r.globals.gridWidth?c-=n.tooltipRect.ttWidth:c<0&&(c=0),n.w.config.tooltip.followCursor){var x=n.getElGrid().getBoundingClientRect();d=n.e.clientY-x.top}n.tooltip===null&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(h+i/2):n.tooltipPosition.moveXCrosshairs(h)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(d=d+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=c+r.globals.translateX+"px",o.style.top=d+"px")}},{key:"getBarTooltipXY",value:function(e){var t=this,i=e.e,a=e.opt,s=this.w,r=null,n=this.ttCtx,o=0,h=0,c=0,d=0,u=0,f=i.target.classList;if(f.contains("apexcharts-bar-area")||f.contains("apexcharts-candlestick-area")||f.contains("apexcharts-boxPlot-area")||f.contains("apexcharts-rangebar-area")){var p=i.target,x=p.getBoundingClientRect(),m=a.elGrid.getBoundingClientRect(),v=x.height;u=x.height;var A=x.width,l=parseInt(p.getAttribute("cx"),10),g=parseInt(p.getAttribute("cy"),10);d=parseFloat(p.getAttribute("barWidth"));var b=i.type==="touchmove"?i.touches[0].clientX:i.clientX;r=parseInt(p.getAttribute("j"),10),o=parseInt(p.parentNode.getAttribute("rel"),10)-1;var C=p.getAttribute("data-range-y1"),k=p.getAttribute("data-range-y2");s.globals.comboCharts&&(o=parseInt(p.parentNode.getAttribute("data:realIndex"),10));var L=function(T){return s.globals.isXNumeric?l-A/2:t.isVerticalGroupedRangeBar?l+A/2:l-n.dataPointsDividedWidth+A/2},R=function(){return g-n.dataPointsDividedHeight+v/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:C?parseInt(C,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(h=b-m.left+15,c=R()):(h=L(),c=i.clientY-m.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((h=l)0&&i.setAttribute("width",t.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var e=this.w,t=this.ttCtx;t.ycrosshairs=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),t.ycrosshairsHidden=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(e,t,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[e];if(a.yaxisTooltips[e]&&n.length>0){var o=r.yLabelFormatters[e],h=a.getElGrid().getBoundingClientRect(),c=n[0],d=0;i.yRatio.length>1&&(d=c);var u=(t-h.top)*i.yRatio[d],f=r.maxYArr[c]-r.minYArr[c],p=r.minYArr[c]+(f-u);s.config.yaxis[e].reversed&&(p=r.maxYArr[c]-(f-u)),a.tooltipPosition.moveYCrosshairs(t-h.top),a.yaxisTooltipText[e].innerHTML=o(p),a.tooltipPosition.moveYAxisTooltip(e)}}}]),y}(),Ut=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.tConfig=t.config.tooltip,this.tooltipUtil=new _t(this),this.tooltipLabels=new ra(this),this.tooltipPosition=new jt(this),this.marker=new na(this),this.intersect=new oa(this),this.axesTooltip=new la(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!t.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return I(y,[{key:"getElTooltip",value:function(e){return e||(e=this),e.w.globals.dom.baseEl?e.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(e){var t=this.w;this.xyRatios=e,this.isXAxisTooltipEnabled=t.config.xaxis.tooltip.enabled&&t.globals.axisCharts,this.yaxisTooltips=t.config.yaxis.map(function(r,n){return!!(r.show&&r.tooltip.enabled&&t.globals.axisCharts)}),this.allTooltipSeriesGroups=[],t.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),t.config.tooltip.cssClass&&i.classList.add(t.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),t.globals.dom.elWrap.appendChild(i),t.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Ue(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!t.globals.comboCharts&&!this.tConfig.intersect&&t.config.chart.type!=="rangeBar"||this.tConfig.shared||(this.showOnIntersect=!0),t.config.markers.size!==0&&t.globals.markers.largestSize!==0||this.marker.drawDynamicPoints(this),t.globals.collapsedSeries.length!==t.globals.series.length){this.dataPointsDividedHeight=t.globals.gridHeight/t.globals.dataPoints,this.dataPointsDividedWidth=t.globals.gridWidth/t.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||t.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=t.globals.series.length;(t.globals.xyCharts||t.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:t.globals.series.length),this.legendLabels=t.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(e){for(var t=this,i=this.w,a=[],s=this.getElTooltip(),r=function(o){var h=document.createElement("div");h.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(o)),h.style.order=i.config.tooltip.inverseOrder?e-o:o+1;var c=document.createElement("span");c.classList.add("apexcharts-tooltip-marker"),c.style.backgroundColor=i.globals.colors[o],h.appendChild(c);var d=document.createElement("div");d.classList.add("apexcharts-tooltip-text"),d.style.fontFamily=t.tConfig.style.fontFamily||i.config.chart.fontFamily,d.style.fontSize=t.tConfig.style.fontSize,["y","goals","z"].forEach(function(u){var f=document.createElement("div");f.classList.add("apexcharts-tooltip-".concat(u,"-group"));var p=document.createElement("span");p.classList.add("apexcharts-tooltip-text-".concat(u,"-label")),f.appendChild(p);var x=document.createElement("span");x.classList.add("apexcharts-tooltip-text-".concat(u,"-value")),f.appendChild(x),d.appendChild(f)}),h.appendChild(d),s.appendChild(h),a.push(h)},n=0;n0&&this.addPathsEventListeners(p,d),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(d)}}},{key:"drawFixedTooltipRect",value:function(){var e=this.w,t=this.getElTooltip(),i=t.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(r=r+e.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+e.globals.svgHeight-s-10),t.style.left=r+"px",t.style.top=n+"px",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(e){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(t,e)}},{key:"addPathsEventListeners",value:function(e,t){for(var i=this,a=function(r){var n={paths:e[r],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(o){return e[r].addEventListener(o,i.onSeriesHover.bind(i,n),{capture:!1,passive:!0})})},s=0;s=100?this.seriesHover(e,t):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout(function(){i.seriesHover(e,t)},100-a))}},{key:"seriesHover",value:function(e,t){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||s.globals.dataPoints===0)||(a.length?a.forEach(function(r){var n=i.getElTooltip(r),o={paths:e.paths,tooltipEl:n,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:r.w.globals.tooltip.ttItems};r.w.globals.minX===i.w.globals.minX&&r.w.globals.maxX===i.w.globals.maxX&&r.w.globals.tooltip.seriesHoverByContext({chartCtx:r,ttCtx:r.w.globals.tooltip,opt:o,e:t})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:e,e:t}))}},{key:"seriesHoverByContext",value:function(e){var t=e.chartCtx,i=e.ttCtx,a=e.opt,s=e.e,r=t.w,n=this.getElTooltip(t);n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared&&this.tConfig.onDatasetHover.highlightDataSeries&&new Le(t).toggleSeriesOnHover(s,s.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(e){var t,i,a=e.e,s=e.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o=a.type==="touchmove"?a.touches[0].clientX:a.clientX,h=a.type==="touchmove"?a.touches[0].clientY:a.clientY;if(this.clientY=h,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,hn.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var c=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(c)<0)return void this.handleMouseOut(s)}var d=this.getElTooltip(),u=this.getElXCrosshairs(),f=[];r.config.chart.group&&(f=this.ctx.getSyncedCharts());var p=r.globals.xyCharts||r.config.chart.type==="bar"&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(a.type==="mousemove"||a.type==="touchmove"||a.type==="mouseup"){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;u!==null&&u.classList.add("apexcharts-active");var x=this.yaxisTooltips.filter(function(A){return A===!0});if(this.ycrosshairs!==null&&x.length&&this.ycrosshairs.classList.add("apexcharts-active"),p&&!this.showOnIntersect||f.length>1)this.handleStickyTooltip(a,o,h,s);else if(r.config.chart.type==="heatmap"||r.config.chart.type==="treemap"){var m=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:t,y:i,type:r.config.chart.type});t=m.x,i=m.y,d.style.left=t+"px",d.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:t,y:i});if(this.yaxisTooltips.length)for(var v=0;vh.width)this.handleMouseOut(a);else if(o!==null)this.handleStickyCapturedSeries(e,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var c=s.globals.series.findIndex(function(d,u){return!s.globals.collapsedSeriesIndices.includes(u)});this.create(e,this,c,n,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(e,t,i,a){var s=this.w;if(!this.tConfig.shared&&s.globals.series[t][a]===null)return void this.handleMouseOut(i);if(s.globals.series[t][a]!==void 0)this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(e,this,t,a,i.ttItems):this.create(e,this,t,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex(function(n,o){return!s.globals.collapsedSeriesIndices.includes(o)});this.create(e,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var e=this.w,t=new B(this.ctx),i=e.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&arguments[5]!==void 0?arguments[5]:null,k=this.w,L=t;e.type==="mouseup"&&this.markerClick(e,i,a),C===null&&(C=this.tConfig.shared);var R=this.tooltipUtil.hasMarkers(i),T=this.tooltipUtil.getElBars();if(k.config.legend.tooltipHoverFormatter){var Y=k.config.legend.tooltipHoverFormatter,W=Array.from(this.legendLabels);W.forEach(function(ge){var fe=ge.getAttribute("data:default-text");ge.innerHTML=decodeURIComponent(fe)});for(var O=0;O0?L.marker.enlargePoints(a):L.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(T),this.barSeriesHeight>0)){var te=new B(this.ctx),ee=k.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var re=0;re0&&t.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(f-=c*k)),C&&(f=f+u.height/2-A/2-2);var R=t.globals.series[i][a]<0,T=o;switch(this.barCtx.isReversed&&(T=o+(R?d:-d)),m.position){case"center":p=C?R?T-d/2+g:T+d/2-g:R?T-d/2+u.height/2+g:T+d/2+u.height/2-g;break;case"bottom":p=C?R?T-d+g:T+d-g:R?T-d+u.height+A+g:T+d-u.height/2+A-g;break;case"top":p=C?R?T+g:T-g:R?T-u.height/2-g:T+u.height+g}if(this.barCtx.lastActiveBarSerieIndex===s&&v.enabled){var Y=new B(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),x.fontSize);r=R?T-Y.height/2-g-v.offsetY+18:T+Y.height+g+v.offsetY-18;var W=L;n=b+(t.globals.isXNumeric?-c*t.globals.barGroups.length/2:t.globals.barGroups.length*c/2-(t.globals.barGroups.length-1)*c-W)+v.offsetX}return t.config.chart.stacked||(p<0?p=0+A:p+u.height/3>t.globals.gridHeight&&(p=t.globals.gridHeight-A)),{bcx:h,bcy:o,dataLabelsX:f,dataLabelsY:p,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(e){var t=this.w,i=e.x,a=e.i,s=e.j,r=e.realIndex,n=e.bcy,o=e.barHeight,h=e.barWidth,c=e.textRects,d=e.dataLabelsX,u=e.strokeWidth,f=e.dataLabelsConfig,p=e.barDataLabelsConfig,x=e.barTotalDataLabelsConfig,m=e.offX,v=e.offY,A=t.globals.gridHeight/t.globals.dataPoints;h=Math.abs(h);var l,g,b=n-(this.barCtx.isRangeBar?0:A)+o/2+c.height/2+v-3,C="start",k=t.globals.series[a][s]<0,L=i;switch(this.barCtx.isReversed&&(L=i+(k?-h:h),C=k?"start":"end"),p.position){case"center":d=k?L+h/2-m:Math.max(c.width/2,L-h/2)+m;break;case"bottom":d=k?L+h-u-m:L-h+u+m;break;case"top":d=k?L-u-m:L-u+m}if(this.barCtx.lastActiveBarSerieIndex===r&&x.enabled){var R=new B(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),f.fontSize);k?(l=L-u-m-x.offsetX,C="end"):l=L+m+x.offsetX+(this.barCtx.isReversed?-(h+u):u),g=b-c.height/2+R.height/2+x.offsetY+u}return t.config.chart.stacked||(f.textAnchor==="start"?d-c.width<0?d=k?c.width+u:u:d+c.width>t.globals.gridWidth&&(d=k?t.globals.gridWidth-u:t.globals.gridWidth-c.width-u):f.textAnchor==="middle"?d-c.width/2<0?d=c.width/2+u:d+c.width/2>t.globals.gridWidth&&(d=t.globals.gridWidth-c.width/2-u):f.textAnchor==="end"&&(d<1?d=c.width+u:d+1>t.globals.gridWidth&&(d=t.globals.gridWidth-c.width-u))),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:b,totalDataLabelsX:l,totalDataLabelsY:g,totalDataLabelsAnchor:C}}},{key:"drawCalculatedDataLabels",value:function(e){var t=e.x,i=e.y,a=e.val,s=e.i,r=e.j,n=e.textRects,o=e.barHeight,h=e.barWidth,c=e.dataLabelsConfig,d=this.w,u="rotate(0)";d.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(u="rotate(-90, ".concat(t,", ").concat(i,")"));var f=new He(this.barCtx.ctx),p=new B(this.barCtx.ctx),x=c.formatter,m=null,v=d.globals.collapsedSeriesIndices.indexOf(s)>-1;if(c.enabled&&!v){m=p.group({class:"apexcharts-data-labels",transform:u});var A="";a!==void 0&&(A=x(a,V(V({},d),{},{seriesIndex:s,dataPointIndex:r,w:d}))),!a&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(A="");var l=d.globals.series[s][r]<0,g=d.config.plotOptions.bar.dataLabels.position;d.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(g==="top"&&(c.textAnchor=l?"end":"start"),g==="center"&&(c.textAnchor="middle"),g==="bottom"&&(c.textAnchor=l?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&hMath.abs(h)&&(A=""):n.height/1.6>Math.abs(o)&&(A=""));var b=V({},c);this.barCtx.isHorizontal&&a<0&&(c.textAnchor==="start"?b.textAnchor="end":c.textAnchor==="end"&&(b.textAnchor="start")),f.plotDataLabelsText({x:t,y:i,text:A,i:s,j:r,parent:m,dataLabelsConfig:b,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return m}},{key:"drawTotalDataLabels",value:function(e){var t=e.x,i=e.y,a=e.val,s=e.realIndex,r=e.textAnchor,n=e.barTotalDataLabelsConfig;this.w;var o,h=new B(this.barCtx.ctx);return n.enabled&&t!==void 0&&i!==void 0&&this.barCtx.lastActiveBarSerieIndex===s&&(o=h.drawText({x:t,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),y}(),ca=function(){function y(e){E(this,y),this.w=e.w,this.barCtx=e}return I(y,[{key:"initVariables",value:function(e){var t=this.w;this.barCtx.series=e,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=e[i].length),t.globals.isXNumeric)for(var a=0;at.globals.minX&&t.globals.seriesX[i][a]0&&(a=h.globals.minXDiff/u),(r=a/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}String(this.barCtx.barOptions.columnWidth).indexOf("%")===-1&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e=h.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return h.globals.barHeight=s,h.globals.barWidth=r,{x:e,y:t,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:"initializeStackedPrevVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].prevY=[],e[t].prevX=[],e[t].prevYF=[],e[t].prevXF=[],e[t].prevYVal=[],e[t].prevXVal=[]})}},{key:"initializeStackedXYVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].xArrj=[],e[t].xArrjF=[],e[t].xArrjVal=[],e[t].yArrj=[],e[t].yArrjF=[],e[t].yArrjVal=[]})}},{key:"getPathFillColor",value:function(e,t,i,a){var s,r,n,o,h,c=this.w,d=this.barCtx.ctx.fill,u=null,f=this.barCtx.barOptions.distributed?i:t;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(function(p){e[t][i]>=p.from&&e[t][i]<=p.to&&(u=p.color)}),(s=c.config.series[t].data[i])!==null&&s!==void 0&&s.fillColor&&(u=c.config.series[t].data[i].fillColor),d.fillPath({seriesNumber:this.barCtx.barOptions.distributed?f:a,dataPointIndex:i,color:u,value:e[t][i],fillConfig:(r=c.config.series[t].data[i])===null||r===void 0?void 0:r.fill,fillType:(n=c.config.series[t].data[i])!==null&&n!==void 0&&(o=n.fill)!==null&&o!==void 0&&o.type?(h=c.config.series[t].data[i])===null||h===void 0?void 0:h.fill.type:Array.isArray(c.config.fill.type)?c.config.fill.type[a]:c.config.fill.type})}},{key:"getStrokeWidth",value:function(e,t,i){var a=0,s=this.w;return this.barCtx.series[e][t]===void 0||this.barCtx.series[e][t]===null?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(e){var t=this.w,i=!1;return t.config.plotOptions.bar.borderRadius>0&&(t.config.chart.stacked&&t.config.plotOptions.bar.borderRadiusWhenStacked==="last"?this.barCtx.lastActiveBarSerieIndex===e&&(i=!0):i=!0),i}},{key:"barBackground",value:function(e){var t=e.j,i=e.i,a=e.x1,s=e.x2,r=e.y1,n=e.y2,o=e.elSeries,h=this.w,c=new B(this.barCtx.ctx),d=new Le(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&d===i){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);var u=this.barCtx.barOptions.colors.backgroundBarColors[t],f=c.drawRect(a!==void 0?a:0,r!==void 0?r:0,s!==void 0?s:h.globals.gridWidth,n!==void 0?n:h.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,u,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(f),f.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(e){var t,i=e.barWidth,a=e.barXPosition,s=e.y1,r=e.y2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,u=e.w,f=new B(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var p=i,x=a;(t=u.config.series[h].data[d])!==null&&t!==void 0&&t.columnWidthOffset&&(x=a-u.config.series[h].data[d].columnWidthOffset/2,p=i+u.config.series[h].data[d].columnWidthOffset);var m=n/2,v=x+m,A=x+p-m;s+=.001-m,r+=.001+m;var l=f.move(v,s),g=f.move(v,s),b=f.line(A,s);if(u.globals.previousPaths.length>0&&(g=this.barCtx.getPreviousPath(h,d,!1)),l=l+f.line(v,r)+f.line(A,r)+f.line(A,s)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),g=g+f.line(v,s)+b+b+b+b+b+f.line(v,s)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),this.shouldApplyRadius(h)&&(l=f.roundPathCorners(l,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[o]).yArrj.push(r-m),C.yArrjF.push(Math.abs(s-r+n)),C.yArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:g}}},{key:"getBarpaths",value:function(e){var t,i=e.barYPosition,a=e.barHeight,s=e.x1,r=e.x2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,u=e.w,f=new B(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var p=i,x=a;(t=u.config.series[h].data[d])!==null&&t!==void 0&&t.barHeightOffset&&(p=i-u.config.series[h].data[d].barHeightOffset/2,x=a+u.config.series[h].data[d].barHeightOffset);var m=n/2,v=p+m,A=p+x-m;s+=.001-m,r+=.001+m;var l=f.move(s,v),g=f.move(s,v);u.globals.previousPaths.length>0&&(g=this.barCtx.getPreviousPath(h,d,!1));var b=f.line(s,A);if(l=l+f.line(r,v)+f.line(r,A)+b+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),g=g+f.line(s,v)+b+b+b+b+b+f.line(s,v)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),this.shouldApplyRadius(h)&&(l=f.roundPathCorners(l,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[o]).xArrj.push(r+m),C.xArrjF.push(Math.abs(s-r)),C.xArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:g}}},{key:"checkZeroSeries",value:function(e){for(var t=e.series,i=this.w,a=0;a2&&arguments[2]!==void 0)||arguments[2]?t:null;return e!=null&&(i=t+e/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?e/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(e,t,i){var a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3]?t:null;return e!=null&&(a=t-e/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?e/this.barCtx.yRatio[i]:0)),a}},{key:"getGoalValues",value:function(e,t,i,a,s,r){var n=this,o=this.w,h=[],c=function(f,p){var x;h.push((N(x={},e,e==="x"?n.getXForValue(f,t,!1):n.getYForValue(f,i,r,!1)),N(x,"attrs",p),x))};if(o.globals.seriesGoals[a]&&o.globals.seriesGoals[a][s]&&Array.isArray(o.globals.seriesGoals[a][s])&&o.globals.seriesGoals[a][s].forEach(function(f){c(f.value,f)}),this.barCtx.barOptions.isDumbbell&&o.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:o.globals.colors,u={strokeHeight:e==="x"?0:o.globals.markers.size[a],strokeWidth:e==="x"?o.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(o.globals.seriesRangeStart[a][s],u),c(o.globals.seriesRangeEnd[a][s],V(V({},u),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:"drawGoalLine",value:function(e){var t=e.barXPosition,i=e.barYPosition,a=e.goalX,s=e.goalY,r=e.barWidth,n=e.barHeight,o=new B(this.barCtx.ctx),h=o.group({className:"apexcharts-bar-goals-groups"});h.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:h.node}),h.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var c=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(function(d){if(d.x>=-1&&d.x<=o.w.globals.gridWidth+1){var u=d.attrs.strokeHeight!==void 0?d.attrs.strokeHeight:n/2,f=i+u+n/2;c=o.drawLine(d.x,f-2*u,d.x,f,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeWidth?d.attrs.strokeWidth:2,d.attrs.strokeLineCap),h.add(c)}}):Array.isArray(s)&&s.forEach(function(d){if(d.y>=-1&&d.y<=o.w.globals.gridHeight+1){var u=d.attrs.strokeWidth!==void 0?d.attrs.strokeWidth:r/2,f=t+u+r/2;c=o.drawLine(f-2*u,d.y,f,d.y,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeHeight?d.attrs.strokeHeight:2,d.attrs.strokeLineCap),h.add(c)}}),h}},{key:"drawBarShadow",value:function(e){var t=e.prevPaths,i=e.currPaths,a=e.color,s=this.w,r=t.x,n=t.x1,o=t.barYPosition,h=i.x,c=i.x1,d=i.barYPosition,u=o+i.barHeight,f=new B(this.barCtx.ctx),p=new z,x=f.move(n,u)+f.line(r,u)+f.line(h,d)+f.line(c,d)+f.line(n,u)+(s.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z");return f.drawPath({d:x,fill:p.shadeColor(.5,z.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadows"})}},{key:"getZeroValueEncounters",value:function(e){var t,i=e.i,a=e.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map(function(o,h){return h}):((t=s.globals.columnSeries)===null||t===void 0?void 0:t.i.map(function(o){return o}))||[]).forEach(function(o){var h=s.globals.seriesPercent[o][a];h&&r++,o-1}),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),y}(),Be=function(){function y(e,t){E(this,y),this.ctx=e,this.w=e.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.isRangeBar=i.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&i.globals.seriesRange.length&&i.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=t,this.xyRatios!==null&&(this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.invertedXRatio=t.invertedXRatio,this.invertedYRatio=t.invertedYRatio,this.baseLineY=t.baseLineY,this.baseLineInvertedY=t.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var a=new Le(this.ctx);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var s=a.getBarSeriesIndices(),r=new de(this.ctx);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map(function(n,o){return s.indexOf(o)===-1?o:-1}).filter(function(n){return n!==-1})),this.barHelpers=new ca(this)}return I(y,[{key:"draw",value:function(e,t){var i=this.w,a=new B(this.ctx),s=new de(this.ctx,i);e=s.getLogSeries(e),this.series=e,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(e);var r=a.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,o=0;n0&&(this.visibleI=this.visibleI+1);var g=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[v],this.translationsIndex=v);var C=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var k=this.barHelpers.initialPositions();p=k.y,g=k.barHeight,c=k.yDivision,u=k.zeroW,f=k.x,b=k.barWidth,h=k.xDivision,d=k.zeroH,this.horizontal||m.push(f+b/2);var L=a.group({class:"apexcharts-datalabels","data:realIndex":v});i.globals.delayedElements.push({el:L.node}),L.node.classList.add("apexcharts-element-hidden");var R=a.group({class:"apexcharts-bar-goals-markers"}),T=a.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:T.node}),T.node.classList.add("apexcharts-element-hidden");for(var Y=0;Y0){var q=this.barHelpers.drawBarShadow({color:typeof j=="string"&&(j==null?void 0:j.indexOf("url"))===-1?j:z.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:O});q&&T.add(q)}this.pathArr.push(O);var J=this.barHelpers.drawGoalLine({barXPosition:O.barXPosition,barYPosition:O.barYPosition,goalX:O.goalX,goalY:O.goalY,barHeight:g,barWidth:b});J&&R.add(J),p=O.y,f=O.x,Y>0&&m.push(f+b/2),x.push(p),this.renderSeries({realIndex:v,pathFill:j,j:Y,i:n,columnGroupIndex:A,pathFrom:O.pathFrom,pathTo:O.pathTo,strokeWidth:W,elSeries:l,x:f,y:p,series:e,barHeight:Math.abs(O.barHeight?O.barHeight:g),barWidth:Math.abs(O.barWidth?O.barWidth:b),elDataLabelsWrap:L,elGoalsMarkers:R,elBarShadows:T,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[v]=m,i.globals.seriesYvalues[v]=x,r.add(l)}return r}},{key:"renderSeries",value:function(e){var t=e.realIndex,i=e.pathFill,a=e.lineFill,s=e.j,r=e.i,n=e.columnGroupIndex,o=e.pathFrom,h=e.pathTo,c=e.strokeWidth,d=e.elSeries,u=e.x,f=e.y,p=e.y1,x=e.y2,m=e.series,v=e.barHeight,A=e.barWidth,l=e.barXPosition,g=e.barYPosition,b=e.elDataLabelsWrap,C=e.elGoalsMarkers,k=e.elBarShadows,L=e.visibleSeries,R=e.type,T=this.w,Y=new B(this.ctx);if(!a){var W=typeof T.globals.stroke.colors[t]=="function"?function(J){var K,te=T.config.stroke.colors;return Array.isArray(te)&&te.length>0&&((K=te[J])||(K=""),typeof K=="function")?K({value:T.globals.series[J][s],dataPointIndex:s,w:T}):K}(t):T.globals.stroke.colors[t];a=this.barOptions.distributed?T.globals.stroke.colors[s]:W}T.config.series[r].data[s]&&T.config.series[r].data[s].strokeColor&&(a=T.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var O=s/T.config.chart.animations.animateGradually.delay*(T.config.chart.animations.speed/T.globals.dataPoints)/2.4,H=Y.renderPaths({i:r,j:s,realIndex:t,pathFrom:o,pathTo:h,stroke:a,strokeWidth:c,strokeLineCap:T.config.stroke.lineCap,fill:i,animationDelay:O,initialSpeed:T.config.chart.animations.speed,dataChangeSpeed:T.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(R,"-area")});H.attr("clip-path","url(#gridRectMask".concat(T.globals.cuid,")"));var j=T.config.forecastDataPoints;j.count>0&&s>=T.globals.dataPoints-j.count&&(H.node.setAttribute("stroke-dasharray",j.dashArray),H.node.setAttribute("stroke-width",j.strokeWidth),H.node.setAttribute("fill-opacity",j.fillOpacity)),p!==void 0&&x!==void 0&&(H.attr("data-range-y1",p),H.attr("data-range-y2",x)),new ce(this.ctx).setSelectionFilter(H,t,s),d.add(H);var q=new ha(this).handleBarDataLabels({x:u,y:f,y1:p,y2:x,i:r,j:s,series:m,realIndex:t,columnGroupIndex:n,barHeight:v,barWidth:A,barXPosition:l,barYPosition:g,renderedPath:H,visibleSeries:L});return q.dataLabels!==null&&b.add(q.dataLabels),q.totalDataLabels&&b.add(q.totalDataLabels),d.add(b),C&&d.add(C),k&&d.add(k),d}},{key:"drawBarPaths",value:function(e){var t,i=e.indexes,a=e.barHeight,s=e.strokeWidth,r=e.zeroW,n=e.x,o=e.y,h=e.yDivision,c=e.elSeries,d=this.w,u=i.i,f=i.j;if(d.globals.isXNumeric)t=(o=(d.globals.seriesX[u][f]-d.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var p=0,x=0;d.globals.seriesPercent.forEach(function(v,A){v[f]&&p++,A0&&(a=this.seriesLen*a/p),t=o+a*this.visibleI,t-=a*x}else t=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[u][f],r)-r)/2),n=this.barHelpers.getXForValue(this.series[u][f],r);var m=this.barHelpers.getBarpaths({barYPosition:t,barHeight:a,x1:r,x2:n,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:u,j:f,w:d});return d.globals.isXNumeric||(o+=h),this.barHelpers.barBackground({j:f,i:u,y1:t-a*this.visibleI,y2:a*this.seriesLen,elSeries:c}),{pathTo:m.pathTo,pathFrom:m.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues("x",r,null,u,f),barYPosition:t,barHeight:a}}},{key:"drawColumnPaths",value:function(e){var t,i=e.indexes,a=e.x,s=e.y,r=e.xDivision,n=e.barWidth,o=e.zeroH,h=e.strokeWidth,c=e.elSeries,d=this.w,u=i.realIndex,f=i.translationsIndex,p=i.i,x=i.j,m=i.bc;if(d.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:a,j:x,realIndex:u,barWidth:n});a=v.x,t=v.barXPosition}else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var A=this.barHelpers.getZeroValueEncounters({i:p,j:x}),l=A.nonZeroColumns,g=A.zeroEncounters;l>0&&(n=this.seriesLen*n/l),t=a+n*this.visibleI,t-=n*g}else t=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[p][x],o,f);var b=this.barHelpers.getColumnPaths({barXPosition:t,barWidth:n,y1:o,y2:s,strokeWidth:h,series:this.series,realIndex:u,i:p,j:x,w:d});return d.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:m,j:x,i:p,x1:t-h/2-n*this.visibleI,x2:n*this.seriesLen+h/2,elSeries:c}),{pathTo:b.pathTo,pathFrom:b.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,o,p,x,f),barXPosition:t,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(e){var t=e.x,i=e.barWidth,a=e.realIndex,s=e.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),r.globals.seriesX[n][s]&&(t=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:t+i*this.visibleI,x:t}}},{key:"getPreviousPath",value:function(e,t){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(e,10)&&a.globals.previousPaths[s].paths[t]!==void 0&&(i=a.globals.previousPaths[s].paths[t].d)}return i}}]),y}(),qt=function(y){_(t,y);var e=F(t);function t(){return E(this,t),e.apply(this,arguments)}return I(t,[{key:"draw",value:function(i,a){var s=this,r=this.w;this.graphics=new B(this.ctx),this.bar=new Be(this.ctx,this.xyRatios);var n=new de(this.ctx,r);i=n.getLogSeries(i),this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i),r.config.chart.stackType==="100%"&&(i=r.globals.comboCharts?a.map(function(p){return r.globals.seriesPercent[p]}):r.globals.seriesPercent.slice()),this.series=i,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),h=0,c=0,d=function(p,x){var m=void 0,v=void 0,A=void 0,l=void 0,g=r.globals.comboCharts?a[p]:p,b=s.barHelpers.getGroupIndex(g),C=b.groupIndex,k=b.columnGroupIndex;s.groupCtx=s[r.globals.seriesGroups[C]];var L=[],R=[],T=0;s.yRatio.length>1&&(s.yaxisIndex=r.globals.seriesYAxisReverseMap[g][0],T=g),s.isReversed=r.config.yaxis[s.yaxisIndex]&&r.config.yaxis[s.yaxisIndex].reversed;var Y=s.graphics.group({class:"apexcharts-series",seriesName:z.escapeString(r.globals.seriesNames[g]),rel:p+1,"data:realIndex":g});s.ctx.series.addCollapsedClassToSeries(Y,g);var W=s.graphics.group({class:"apexcharts-datalabels","data:realIndex":g}),O=s.graphics.group({class:"apexcharts-bar-goals-markers"}),H=0,j=0,q=s.initialPositions(h,c,m,v,A,l,T);c=q.y,H=q.barHeight,v=q.yDivision,l=q.zeroW,h=q.x,j=q.barWidth,m=q.xDivision,A=q.zeroH,r.globals.barHeight=H,r.globals.barWidth=j,s.barHelpers.initializeStackedXYVars(s),s.groupCtx.prevY.length===1&&s.groupCtx.prevY[0].every(function(fe){return isNaN(fe)})&&(s.groupCtx.prevY[0]=s.groupCtx.prevY[0].map(function(){return A}),s.groupCtx.prevYF[0]=s.groupCtx.prevYF[0].map(function(){return 0}));for(var J=0;J1?d=(s=u.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:String(p).indexOf("%")===-1?d=parseInt(p,10):d*=parseInt(p,10)/100,n=this.isReversed?this.baseLineY[h]:u.globals.gridHeight-this.baseLineY[h],i=u.globals.padHorizontal+(s-d)/2}var x=u.globals.barGroups.length||1;return{x:i,y:a,yDivision:r,xDivision:s,barHeight:c/x,barWidth:d/x,zeroH:n,zeroW:o}}},{key:"drawStackedBarPaths",value:function(i){for(var a,s=i.indexes,r=i.barHeight,n=i.strokeWidth,o=i.zeroW,h=i.x,c=i.y,d=i.columnGroupIndex,u=i.seriesGroup,f=i.yDivision,p=i.elSeries,x=this.w,m=c+d*r,v=s.i,A=s.j,l=s.realIndex,g=s.translationsIndex,b=0,C=0;C0){var L=o;this.groupCtx.prevXVal[k-1][A]<0?L=this.series[v][A]>=0?this.groupCtx.prevX[k-1][A]+b-2*(this.isReversed?b:0):this.groupCtx.prevX[k-1][A]:this.groupCtx.prevXVal[k-1][A]>=0&&(L=this.series[v][A]>=0?this.groupCtx.prevX[k-1][A]:this.groupCtx.prevX[k-1][A]-b+2*(this.isReversed?b:0)),a=L}else a=o;h=this.series[v][A]===null?a:a+this.series[v][A]/this.invertedYRatio-2*(this.isReversed?this.series[v][A]/this.invertedYRatio:0);var R=this.barHelpers.getBarpaths({barYPosition:m,barHeight:r,x1:a,x2:h,strokeWidth:n,series:this.series,realIndex:s.realIndex,seriesGroup:u,i:v,j:A,w:x});return this.barHelpers.barBackground({j:A,i:v,y1:m,y2:r,elSeries:p}),c+=f,{pathTo:R.pathTo,pathFrom:R.pathFrom,goalX:this.barHelpers.getGoalValues("x",o,null,v,A,g),barXPosition:a,barYPosition:m,x:h,y:c}}},{key:"drawStackedColumnPaths",value:function(i){var a=i.indexes,s=i.x,r=i.y,n=i.xDivision,o=i.barWidth,h=i.zeroH,c=i.columnGroupIndex,d=i.seriesGroup,u=i.elSeries,f=this.w,p=a.i,x=a.j,m=a.bc,v=a.realIndex,A=a.translationsIndex;if(f.globals.isXNumeric){var l=f.globals.seriesX[v][x];l||(l=0),s=(l-f.globals.minX)/this.xRatio-o/2*f.globals.barGroups.length}for(var g,b=s+c*o,C=0,k=0;k0&&!f.globals.isXNumeric||L>0&&f.globals.isXNumeric&&f.globals.seriesX[v-1][x]===f.globals.seriesX[v][x]){var R,T,Y,W=Math.min(this.yRatio.length+1,v+1);if(this.groupCtx.prevY[L-1]!==void 0&&this.groupCtx.prevY[L-1].length)for(var O=1;O=0?Y-C+2*(this.isReversed?C:0):Y;break}if(((J=this.groupCtx.prevYVal[L-j])===null||J===void 0?void 0:J[x])>=0){T=this.series[p][x]>=0?Y:Y+C-2*(this.isReversed?C:0);break}}T===void 0&&(T=f.globals.gridHeight),g=(R=this.groupCtx.prevYF[0])!==null&&R!==void 0&&R.every(function(te){return te===0})&&this.groupCtx.prevYF.slice(1,L).every(function(te){return te.every(function(ee){return isNaN(ee)})})?h:T}else g=h;r=this.series[p][x]?g-this.series[p][x]/this.yRatio[A]+2*(this.isReversed?this.series[p][x]/this.yRatio[A]:0):g;var K=this.barHelpers.getColumnPaths({barXPosition:b,barWidth:o,y1:g,y2:r,yRatio:this.yRatio[A],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:d,realIndex:a.realIndex,i:p,j:x,w:f});return this.barHelpers.barBackground({bc:m,j:x,i:p,x1:b,x2:o,elSeries:u}),{pathTo:K.pathTo,pathFrom:K.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,h,p,x),barXPosition:b,x:f.globals.isXNumeric?s:s+n,y:r}}}]),t}(Be),bt=function(y){_(t,y);var e=F(t);function t(){return E(this,t),e.apply(this,arguments)}return I(t,[{key:"draw",value:function(i,a,s){var r=this,n=this.w,o=new B(this.ctx),h=n.globals.comboCharts?a:n.config.chart.type,c=new Pe(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=n.config.plotOptions.bar.horizontal;var d=new de(this.ctx,n);i=d.getLogSeries(i),this.series=i,this.yRatio=d.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i);for(var u=o.group({class:"apexcharts-".concat(h,"-series apexcharts-plot-series")}),f=function(x){r.isBoxPlot=n.config.chart.type==="boxPlot"||n.config.series[x].type==="boxPlot";var m,v,A,l,g=void 0,b=void 0,C=[],k=[],L=n.globals.comboCharts?s[x]:x,R=r.barHelpers.getGroupIndex(L).columnGroupIndex,T=o.group({class:"apexcharts-series",seriesName:z.escapeString(n.globals.seriesNames[L]),rel:x+1,"data:realIndex":L});r.ctx.series.addCollapsedClassToSeries(T,L),i[x].length>0&&(r.visibleI=r.visibleI+1);var Y,W,O=0;r.yRatio.length>1&&(r.yaxisIndex=n.globals.seriesYAxisReverseMap[L][0],O=L);var H=r.barHelpers.initialPositions();b=H.y,Y=H.barHeight,v=H.yDivision,l=H.zeroW,g=H.x,W=H.barWidth,m=H.xDivision,A=H.zeroH,k.push(g+W/2);for(var j=o.group({class:"apexcharts-datalabels","data:realIndex":L}),q=function(K){var te=r.barHelpers.getStrokeWidth(x,K,L),ee=null,re={indexes:{i:x,j:K,realIndex:L,translationsIndex:O},x:g,y:b,strokeWidth:te,elSeries:T};ee=r.isHorizontal?r.drawHorizontalBoxPaths(V(V({},re),{},{yDivision:v,barHeight:Y,zeroW:l})):r.drawVerticalBoxPaths(V(V({},re),{},{xDivision:m,barWidth:W,zeroH:A})),b=ee.y,g=ee.x,K>0&&k.push(g+W/2),C.push(b),ee.pathTo.forEach(function(ge,fe){var he=!r.isBoxPlot&&r.candlestickOptions.wick.useFillColor?ee.color[fe]:n.globals.stroke.colors[x],Se=c.fillPath({seriesNumber:L,dataPointIndex:K,color:ee.color[fe],value:i[x][K]});r.renderSeries({realIndex:L,pathFill:Se,lineFill:he,j:K,i:x,pathFrom:ee.pathFrom,pathTo:ge,strokeWidth:te,elSeries:T,x:g,y:b,series:i,columnGroupIndex:R,barHeight:Y,barWidth:W,elDataLabelsWrap:j,visibleSeries:r.visibleI,type:n.config.chart.type})})},J=0;Jg.c&&(p=!1);var k=Math.min(g.o,g.c),L=Math.max(g.o,g.c),R=g.m;c.globals.isXNumeric&&(s=(c.globals.seriesX[l][f]-c.globals.minX)/this.xRatio-n/2);var T=s+n*this.visibleI;this.series[u][f]===void 0||this.series[u][f]===null?(k=o,L=o):(k=o-k/A,L=o-L/A,b=o-g.h/A,C=o-g.l/A,R=o-g.m/A);var Y=d.move(T,o),W=d.move(T+n/2,k);return c.globals.previousPaths.length>0&&(W=this.getPreviousPath(l,f,!0)),Y=this.isBoxPlot?[d.move(T,k)+d.line(T+n/2,k)+d.line(T+n/2,b)+d.line(T+n/4,b)+d.line(T+n-n/4,b)+d.line(T+n/2,b)+d.line(T+n/2,k)+d.line(T+n,k)+d.line(T+n,R)+d.line(T,R)+d.line(T,k+h/2),d.move(T,R)+d.line(T+n,R)+d.line(T+n,L)+d.line(T+n/2,L)+d.line(T+n/2,C)+d.line(T+n-n/4,C)+d.line(T+n/4,C)+d.line(T+n/2,C)+d.line(T+n/2,L)+d.line(T,L)+d.line(T,R)+"z"]:[d.move(T,L)+d.line(T+n/2,L)+d.line(T+n/2,b)+d.line(T+n/2,L)+d.line(T+n,L)+d.line(T+n,k)+d.line(T+n/2,k)+d.line(T+n/2,C)+d.line(T+n/2,k)+d.line(T,k)+d.line(T,L-h/2)],W+=d.move(T,k),c.globals.isXNumeric||(s+=r),{pathTo:Y,pathFrom:W,x:s,y:L,barXPosition:T,color:this.isBoxPlot?v:p?[x]:[m]}}},{key:"drawHorizontalBoxPaths",value:function(i){var a=i.indexes;i.x;var s=i.y,r=i.yDivision,n=i.barHeight,o=i.zeroW,h=i.strokeWidth,c=this.w,d=new B(this.ctx),u=a.i,f=a.j,p=this.boxOptions.colors.lower;this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var x=this.invertedYRatio,m=a.realIndex,v=this.getOHLCValue(m,f),A=o,l=o,g=Math.min(v.o,v.c),b=Math.max(v.o,v.c),C=v.m;c.globals.isXNumeric&&(s=(c.globals.seriesX[m][f]-c.globals.minX)/this.invertedXRatio-n/2);var k=s+n*this.visibleI;this.series[u][f]===void 0||this.series[u][f]===null?(g=o,b=o):(g=o+g/x,b=o+b/x,A=o+v.h/x,l=o+v.l/x,C=o+v.m/x);var L=d.move(o,k),R=d.move(g,k+n/2);return c.globals.previousPaths.length>0&&(R=this.getPreviousPath(m,f,!0)),L=[d.move(g,k)+d.line(g,k+n/2)+d.line(A,k+n/2)+d.line(A,k+n/2-n/4)+d.line(A,k+n/2+n/4)+d.line(A,k+n/2)+d.line(g,k+n/2)+d.line(g,k+n)+d.line(C,k+n)+d.line(C,k)+d.line(g+h/2,k),d.move(C,k)+d.line(C,k+n)+d.line(b,k+n)+d.line(b,k+n/2)+d.line(l,k+n/2)+d.line(l,k+n-n/4)+d.line(l,k+n/4)+d.line(l,k+n/2)+d.line(b,k+n/2)+d.line(b,k)+d.line(C,k)+"z"],R+=d.move(g,k),c.globals.isXNumeric||(s+=r),{pathTo:L,pathFrom:R,x:b,y:s,barYPosition:k,color:p}}},{key:"getOHLCValue",value:function(i,a){var s=this.w;return{o:this.isBoxPlot?s.globals.seriesCandleH[i][a]:s.globals.seriesCandleO[i][a],h:this.isBoxPlot?s.globals.seriesCandleO[i][a]:s.globals.seriesCandleH[i][a],m:s.globals.seriesCandleM[i][a],l:this.isBoxPlot?s.globals.seriesCandleC[i][a]:s.globals.seriesCandleL[i][a],c:this.isBoxPlot?s.globals.seriesCandleL[i][a]:s.globals.seriesCandleC[i][a]}}}]),t}(Be),Zt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"checkColorRange",value:function(){var e=this.w,t=!1,i=e.config.plotOptions[e.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map(function(a,s){a.from<=0&&(t=!0)}),t}},{key:"getShadeColor",value:function(e,t,i,a){var s=this.w,r=1,n=s.config.plotOptions[e].shadeIntensity,o=this.determineColor(e,t,i);s.globals.hasNegs||a?r=s.config.plotOptions[e].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,e==="treemap"&&(r=(1-o.percent/100)*(1.25*n)));var h=o.color,c=new z;if(s.config.plotOptions[e].enableShades)if(this.w.config.theme.mode==="dark"){var d=c.shadeColor(-1*r,o.color);h=z.hexToRgba(z.isColorHex(d)?d:z.rgb2hex(d),s.config.fill.opacity)}else{var u=c.shadeColor(r,o.color);h=z.hexToRgba(z.isColorHex(u)?u:z.rgb2hex(u),s.config.fill.opacity)}return{color:h,colorProps:o}}},{key:"determineColor",value:function(e,t,i){var a=this.w,s=a.globals.series[t][i],r=a.config.plotOptions[e],n=r.colorScale.inverse?i:t;r.distributed&&a.config.chart.type==="treemap"&&(n=i);var o=a.globals.colors[n],h=null,c=Math.min.apply(Math,U(a.globals.series[t])),d=Math.max.apply(Math,U(a.globals.series[t]));r.distributed||e!=="heatmap"||(c=a.globals.minY,d=a.globals.maxY),r.colorScale.min!==void 0&&(c=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var u=Math.abs(d)+Math.abs(c),f=100*s/(u===0?u-1e-6:u);return r.colorScale.ranges.length>0&&r.colorScale.ranges.map(function(p,x){if(s>=p.from&&s<=p.to){o=p.color,h=p.foreColor?p.foreColor:null,c=p.from,d=p.to;var m=Math.abs(d)+Math.abs(c);f=100*s/(m===0?m-1e-6:m)}}),{color:o,foreColor:h,percent:f}}},{key:"calculateDataLabels",value:function(e){var t=e.text,i=e.x,a=e.y,s=e.i,r=e.j,n=e.colorProps,o=e.fontSize,h=this.w.config.dataLabels,c=new B(this.ctx),d=new He(this.ctx),u=null;if(h.enabled){u=c.group({class:"apexcharts-data-labels"});var f=h.offsetX,p=h.offsetY,x=i+f,m=a+parseFloat(h.style.fontSize)/3+p;d.plotDataLabelsText({x,y:m,text:t,i:s,j:r,color:n.foreColor,parent:u,fontSize:o,dataLabelsConfig:h})}return u}},{key:"addListeners",value:function(e){var t=new B(this.ctx);e.node.addEventListener("mouseenter",t.pathMouseEnter.bind(this,e)),e.node.addEventListener("mouseleave",t.pathMouseLeave.bind(this,e)),e.node.addEventListener("mousedown",t.pathMouseDown.bind(this,e))}}]),y}(),da=function(){function y(e,t){E(this,y),this.ctx=e,this.w=e.w,this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new Zt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return I(y,[{key:"draw",value:function(e){var t=this.w,i=new B(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(t.globals.cuid,")"));var s=t.globals.gridWidth/t.globals.dataPoints,r=t.globals.gridHeight/t.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var h=e.slice();t.config.yaxis[0].reversed&&(o=!0,h.reverse());for(var c=o?0:h.length-1;o?c=0;o?c++:c--){var d=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:z.escapeString(t.globals.seriesNames[c]),rel:c+1,"data:realIndex":c});if(this.ctx.series.addCollapsedClassToSeries(d,c),t.config.chart.dropShadow.enabled){var u=t.config.chart.dropShadow;new ce(this.ctx).dropShadow(d,u,c)}for(var f=0,p=t.config.plotOptions.heatmap.shadeIntensity,x=0;x-1&&this.pieClicked(u),i.config.dataLabels.enabled){var b=l.x,C=l.y,k=100*p/this.fullAngle+"%";if(p!==0&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?t.endAngle=t.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(c=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(c)>this.fullAngle&&(c-=this.fullAngle);var d=Math.PI*(c-90)/180,u=i.centerX+r*Math.cos(h),f=i.centerY+r*Math.sin(h),p=i.centerX+r*Math.cos(d),x=i.centerY+r*Math.sin(d),m=z.polarToCartesian(i.centerX,i.centerY,i.donutSize,c),v=z.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),A=s>180?1:0,l=["M",u,f,"A",r,r,0,A,1,p,x];return t=i.chartType==="donut"?[].concat(l,["L",m.x,m.y,"A",i.donutSize,i.donutSize,0,A,0,v.x,v.y,"L",u,f,"z"]).join(" "):i.chartType==="pie"||i.chartType==="polarArea"?[].concat(l,["L",i.centerX,i.centerY,"L",u,f]).join(" "):[].concat(l).join(" "),n.roundPathCorners(t,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(e){var t=this.w,i=new Wt(this.ctx),a=new B(this.ctx),s=new $t(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),h=o.result.reverse(),c=o.result.length;this.maxY=o.niceMax;for(var d=t.globals.radialSize,u=d/(c-1),f=0;f1&&e.total.show&&(s=e.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,e.value.formatter)(i,r),a||typeof e.total.formatter!="function"||(i=e.total.formatter(r));var h=t===e.total.label;t=e.name.formatter(t,h,r),n!==null&&(n.textContent=t),o!==null&&(o.textContent=i),n!==null&&(n.style.fill=s)}},{key:"printDataLabelsInner",value:function(e,t){var i=this.w,a=e.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(t,s,a,e);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");r!==null&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(e){var t=this,i=this.w,a=new B(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(s.strokeWidth!==0){for(var r=[],n=360/i.globals.series.length,o=0;o0&&(C=t.getPreviousPath(v));for(var k=0;k=10?e.x>0?(i="start",a+=10):e.x<0&&(i="end",a-=10):i="middle",Math.abs(e.y)>=t-10&&(e.y<0?s-=10:e.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(e){for(var t=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(e,10)&&t.globals.previousPaths[a].paths[0]!==void 0&&(i=t.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.dataPointsLen;e=e||[],t=t||[];for(var a=[],s=0;s=360&&(x=360-Math.abs(this.startAngle)-.1);var m=s.drawPath({d:"",stroke:f,strokeWidth:h*parseInt(u.strokeWidth,10)/100,fill:"none",strokeOpacity:u.opacity,classes:"apexcharts-radialbar-area"});if(u.dropShadow.enabled){var v=u.dropShadow;n.dropShadow(m,v)}d.add(m),m.attr("id","apexcharts-radialbarTrack-"+c),this.animatePaths(m,{centerX:i.centerX,centerY:i.centerY,endAngle:x,startAngle:p,size:i.size,i:c,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:a.globals.easing})}return r}},{key:"drawArcs",value:function(i){var a=this.w,s=new B(this.ctx),r=new Pe(this.ctx),n=new ce(this.ctx),o=s.group(),h=this.getStrokeWidth(i);i.size=i.size-h/2;var c=a.config.plotOptions.radialBar.hollow.background,d=i.size-h*i.series.length-this.margin*i.series.length-h*parseInt(a.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,u=d-a.config.plotOptions.radialBar.hollow.margin;a.config.plotOptions.radialBar.hollow.image!==void 0&&(c=this.drawHollowImage(i,o,d,c));var f=this.drawHollow({size:u,centerX:i.centerX,centerY:i.centerY,fill:c||"transparent"});if(a.config.plotOptions.radialBar.hollow.dropShadow.enabled){var p=a.config.plotOptions.radialBar.hollow.dropShadow;n.dropShadow(f,p)}var x=1;!this.radialDataLabels.total.show&&a.globals.series.length>1&&(x=0);var m=null;if(this.radialDataLabels.show){var v=a.globals.dom.Paper.select(".apexcharts-datalabels-group").members[0];m=this.renderInnerDataLabels(v,this.radialDataLabels,{hollowSize:d,centerX:i.centerX,centerY:i.centerY,opacity:x})}a.config.plotOptions.radialBar.hollow.position==="back"&&(o.add(f),m&&o.add(m));var A=!1;a.config.plotOptions.radialBar.inverseOrder&&(A=!0);for(var l=A?i.series.length-1:0;A?l>=0:l100?100:i.series[l])/100,R=Math.round(this.totalAngle*L)+this.startAngle,T=void 0;a.globals.dataChanged&&(k=this.startAngle,T=Math.round(this.totalAngle*z.negToZero(a.globals.previousPaths[l])/100)+k),Math.abs(R)+Math.abs(C)>=360&&(R-=.01),Math.abs(T)+Math.abs(k)>=360&&(T-=.01);var Y=R-C,W=Array.isArray(a.config.stroke.dashArray)?a.config.stroke.dashArray[l]:a.config.stroke.dashArray,O=s.drawPath({d:"",stroke:b,strokeWidth:h,fill:"none",fillOpacity:a.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+l,strokeDashArray:W});if(B.setAttrs(O.node,{"data:angle":Y,"data:value":i.series[l]}),a.config.chart.dropShadow.enabled){var H=a.config.chart.dropShadow;n.dropShadow(O,H,l)}if(n.setSelectionFilter(O,0,l),this.addListeners(O,this.radialDataLabels),g.add(O),O.attr({index:0,j:l}),this.barLabels.enabled){var j=z.polarToCartesian(i.centerX,i.centerY,i.size,C),q=this.barLabels.formatter(a.globals.seriesNames[l],{seriesIndex:l,w:a}),J=["apexcharts-radialbar-label"];this.barLabels.onClick||J.push("apexcharts-no-click");var K=this.barLabels.useSeriesColors?a.globals.colors[l]:a.config.chart.foreColor;K||(K=a.config.chart.foreColor);var te=j.x+this.barLabels.offsetX,ee=j.y+this.barLabels.offsetY,re=s.drawText({x:te,y:ee,text:q,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:K,cssClass:J.join(" ")});re.on("click",this.onBarLabelClick),re.attr({rel:l+1}),C!==0&&re.attr({"transform-origin":"".concat(te," ").concat(ee),transform:"rotate(".concat(C," 0 0)")}),g.add(re)}var ge=0;!this.initialAnim||a.globals.resized||a.globals.dataChanged||(ge=a.config.chart.animations.speed),a.globals.dataChanged&&(ge=a.config.chart.animations.dynamicAnimation.speed),this.animDur=ge/(1.2*i.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(O,{centerX:i.centerX,centerY:i.centerY,endAngle:R,startAngle:C,prevEndAngle:T,prevStartAngle:k,size:i.size,i:l,totalItems:2,animBeginArr:this.animBeginArr,dur:ge,shouldSetPrevPaths:!0,easing:a.globals.easing})}return{g:o,elHollow:f,dataLabels:m}}},{key:"drawHollow",value:function(i){var a=new B(this.ctx).drawCircle(2*i.size);return a.attr({class:"apexcharts-radialbar-hollow",cx:i.centerX,cy:i.centerY,r:i.size,fill:i.fill}),a}},{key:"drawHollowImage",value:function(i,a,s,r){var n=this.w,o=new Pe(this.ctx),h=z.randomId(),c=n.config.plotOptions.radialBar.hollow.image;if(n.config.plotOptions.radialBar.hollow.imageClipped)o.clippedImgArea({width:s,height:s,image:c,patternID:"pattern".concat(n.globals.cuid).concat(h)}),r="url(#pattern".concat(n.globals.cuid).concat(h,")");else{var d=n.config.plotOptions.radialBar.hollow.imageWidth,u=n.config.plotOptions.radialBar.hollow.imageHeight;if(d===void 0&&u===void 0){var f=n.globals.dom.Paper.image(c).loaded(function(x){this.move(i.centerX-x.width/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-x.height/2+n.config.plotOptions.radialBar.hollow.imageOffsetY)});a.add(f)}else{var p=n.globals.dom.Paper.image(c).loaded(function(x){this.move(i.centerX-d/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-u/2+n.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(d,u)});a.add(p)}}return r}},{key:"getStrokeWidth",value:function(i){var a=this.w;return i.size*(100-parseInt(a.config.plotOptions.radialBar.hollow.size,10))/100/(i.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(i){var a=parseInt(i.target.getAttribute("rel"),10)-1,s=this.barLabels.onClick,r=this.w;s&&s(r.globals.seriesNames[a],{w:r,seriesIndex:a})}}]),t}(Jt),fa=function(y){_(t,y);var e=F(t);function t(){return E(this,t),e.apply(this,arguments)}return I(t,[{key:"draw",value:function(i,a){var s=this.w,r=new B(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=i,this.seriesRangeStart=s.globals.seriesRangeStart,this.seriesRangeEnd=s.globals.seriesRangeEnd,this.barHelpers.initVariables(i);for(var n=r.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var A=0,l=0,g=0;this.yRatio.length>1&&(this.yaxisIndex=s.globals.seriesYAxisReverseMap[x][0],g=x);var b=this.barHelpers.initialPositions();p=b.y,u=b.zeroW,f=b.x,l=b.barWidth,A=b.barHeight,h=b.xDivision,c=b.yDivision,d=b.zeroH;for(var C=r.group({class:"apexcharts-datalabels","data:realIndex":x}),k=r.group({class:"apexcharts-rangebar-goals-markers"}),L=0;L0});return this.isHorizontal?(r=x.config.plotOptions.bar.rangeBarGroupRows?o+u*g:o+c*this.visibleI+u*g,b>-1&&!x.config.plotOptions.bar.rangeBarOverlap&&(m=x.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(r=(c=p.barHeight/m.length)*this.visibleI+u*(100-parseInt(this.barOptions.barHeight,10))/100/2+c*(this.visibleI+m.indexOf(v))+u*g)):(g>-1&&!x.globals.timescaleLabels.length&&(n=x.config.plotOptions.bar.rangeBarGroupRows?h+f*g:h+d*this.visibleI+f*g),b>-1&&!x.config.plotOptions.bar.rangeBarOverlap&&(m=x.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(n=(d=p.barWidth/m.length)*this.visibleI+f*(100-parseInt(this.barOptions.barWidth,10))/100/2+d*(this.visibleI+m.indexOf(v))+f*g)),{barYPosition:r,barXPosition:n,barHeight:c,barWidth:d}}},{key:"drawRangeColumnPaths",value:function(i){var a=i.indexes,s=i.x,r=i.xDivision,n=i.barWidth,o=i.barXPosition,h=i.zeroH,c=this.w,d=a.i,u=a.j,f=a.realIndex,p=a.translationsIndex,x=this.yRatio[p],m=this.getRangeValue(f,u),v=Math.min(m.start,m.end),A=Math.max(m.start,m.end);this.series[d][u]===void 0||this.series[d][u]===null?v=h:(v=h-v/x,A=h-A/x);var l=Math.abs(A-v),g=this.barHelpers.getColumnPaths({barXPosition:o,barWidth:n,y1:v,y2:A,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:f,i:f,j:u,w:c});if(c.globals.isXNumeric){var b=this.getBarXForNumericXAxis({x:s,j:u,realIndex:f,barWidth:n});s=b.x,o=b.barXPosition}else s+=r;return{pathTo:g.pathTo,pathFrom:g.pathFrom,barHeight:l,x:s,y:m.start<0&&m.end<0?v:A,goalY:this.barHelpers.getGoalValues("y",null,h,d,u,p),barXPosition:o}}},{key:"preventBarOverflow",value:function(i){var a=this.w;return i<0&&(i=0),i>a.globals.gridWidth&&(i=a.globals.gridWidth),i}},{key:"drawRangeBarPaths",value:function(i){var a=i.indexes,s=i.y,r=i.y1,n=i.y2,o=i.yDivision,h=i.barHeight,c=i.barYPosition,d=i.zeroW,u=this.w,f=a.realIndex,p=a.j,x=this.preventBarOverflow(d+r/this.invertedYRatio),m=this.preventBarOverflow(d+n/this.invertedYRatio),v=this.getRangeValue(f,p),A=Math.abs(m-x),l=this.barHelpers.getBarpaths({barYPosition:c,barHeight:h,x1:x,x2:m,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:f,realIndex:f,j:p,w:u});return u.globals.isXNumeric||(s+=o),{pathTo:l.pathTo,pathFrom:l.pathFrom,barWidth:A,x:v.start<0&&v.end<0?x:m,goalX:this.barHelpers.getGoalValues("x",d,null,f,p),y:s}}},{key:"getRangeValue",value:function(i,a){var s=this.w;return{start:s.globals.seriesRangeStart[i][a],end:s.globals.seriesRangeEnd[i][a]}}}]),t}(Be),pa=function(){function y(e){E(this,y),this.w=e.w,this.lineCtx=e}return I(y,[{key:"sameValueSeriesFix",value:function(e,t){var i=this.w;if((i.config.fill.type==="gradient"||i.config.fill.type[e]==="gradient")&&new de(this.lineCtx.ctx,i).seriesHaveSameValues(e)){var a=t[e].slice();a[a.length-1]=a[a.length-1]+1e-6,t[e]=a}return t}},{key:"calculatePoints",value:function(e){var t=e.series,i=e.realIndex,a=e.x,s=e.y,r=e.i,n=e.j,o=e.prevY,h=this.w,c=[],d=[];if(n===0){var u=this.lineCtx.categoryAxisCorrection+h.config.markers.offsetX;h.globals.isXNumeric&&(u=(h.globals.seriesX[i][0]-h.globals.minX)/this.lineCtx.xRatio+h.config.markers.offsetX),c.push(u),d.push(z.isNumber(t[r][0])?o+h.config.markers.offsetY:null),c.push(a+h.config.markers.offsetX),d.push(z.isNumber(t[r][n+1])?s+h.config.markers.offsetY:null)}else c.push(a+h.config.markers.offsetX),d.push(z.isNumber(t[r][n+1])?s+h.config.markers.offsetY:null);return{x:c,y:d}}},{key:"checkPreviousPaths",value:function(e){for(var t=e.pathFromLine,i=e.pathFromArea,a=e.realIndex,s=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(a,10)&&(n.type==="line"?(this.lineCtx.appendPathFrom=!1,t=s.globals.previousPaths[r].paths[0].d):n.type==="area"&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(t=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:t,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(e){var t,i,a,s=e.i,r=e.realIndex,n=e.series,o=e.prevY,h=e.lineYPosition,c=e.translationsIndex,d=this.w,u=d.config.chart.stacked&&!d.globals.comboCharts||d.config.chart.stacked&&d.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[r])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[r])===null||i===void 0?void 0:i.type)==="column");if(((a=n[s])===null||a===void 0?void 0:a[0])!==void 0)o=(h=u&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[c]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[c]:0);else if(u&&s>0&&n[s][0]===void 0){for(var f=s-1;f>=0;f--)if(n[f][0]!==null&&n[f][0]!==void 0){o=h=this.lineCtx.prevSeriesY[f][0];break}}return{prevY:o,lineYPosition:h}}}]),y}(),xa=function(y){for(var e,t,i,a,s=function(c){for(var d=[],u=c[0],f=c[1],p=d[0]=mt(u,f),x=1,m=c.length-1;x9&&(a=3*i/Math.sqrt(a),s[o]=a*e,s[o+1]=a*t);for(var h=0;h<=r;h++)a=(y[Math.min(r,h+1)][0]-y[Math.max(0,h-1)][0])/(6*(1+s[h]*s[h])),n.push([a||0,s[h]*a||0]);return n},ba=function(y){var e=xa(y),t=y[1],i=y[0],a=[],s=e[1],r=e[0];a.push(i,[i[0]+r[0],i[1]+r[1],t[0]-s[0],t[1]-s[1],t[0],t[1]]);for(var n=2,o=e.length;n1&&i[1].length<6){var a=i[0].length;i[1]=[2*i[0][a-2]-i[0][a-4],2*i[0][a-1]-i[0][a-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i};function mt(y,e){return(e[1]-y[1])/(e[0]-y[0])}var vt=function(){function y(e,t,i){E(this,y),this.ctx=e,this.w=e.w,this.xyRatios=t,this.pointsChart=!(this.w.config.chart.type!=="bubble"&&this.w.config.chart.type!=="scatter")||i,this.scatter=new Nt(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new pa(this),this.markers=new Ne(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return I(y,[{key:"draw",value:function(e,t,i,a){var s,r=this.w,n=new B(this.ctx),o=r.globals.comboCharts?t:r.config.chart.type,h=n.group({class:"apexcharts-".concat(o,"-series apexcharts-plot-series")}),c=new de(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=c.getLogSeries(e),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var d=[],u=0;u1?f:0;this._initSerieVariables(e,u,f);var x=[],m=[],v=[],A=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,f),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(A=(r.globals.seriesX[f][0]-r.globals.minX)/this.xRatio),v.push(A);var l,g=A,b=void 0,C=g,k=this.zeroY,L=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:u,realIndex:f,series:e,prevY:k,lineYPosition:0,translationsIndex:p}).prevY,r.config.stroke.curve==="monotoneCubic"&&e[u][0]===null?x.push(null):x.push(k),l=k,o==="rangeArea"&&(b=L=this.lineHelpers.determineFirstPrevY({i:u,realIndex:f,series:a,prevY:L,lineYPosition:0,translationsIndex:p}).prevY,m.push(x[0]!==null?L:null));var R=this._calculatePathsFrom({type:o,series:e,i:u,realIndex:f,translationsIndex:p,prevX:C,prevY:k,prevY2:L}),T=[x[0]],Y=[m[0]],W={type:o,series:e,realIndex:f,translationsIndex:p,i:u,x:A,y:1,pX:g,pY:l,pathsFrom:R,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:v,yArrj:x,y2Arrj:m,seriesRangeEnd:a},O=this._iterateOverDataPoints(V(V({},W),{},{iterations:o==="rangeArea"?e[u].length-1:void 0,isRangeStart:!0}));if(o==="rangeArea"){for(var H=this._calculatePathsFrom({series:a,i:u,realIndex:f,prevX:C,prevY:L}),j=this._iterateOverDataPoints(V(V({},W),{},{series:a,xArrj:[A],yArrj:T,y2Arrj:Y,pY:b,areaPaths:O.areaPaths,pathsFrom:H,iterations:a[u].length-1,isRangeStart:!1})),q=O.linePaths.length/2,J=0;J=0;K--)h.add(d[K]);else for(var te=0;te1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||a.config.plotOptions.area.fillTo==="end")&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",zIndex:a.config.series[i].zIndex!==void 0?a.config.series[i].zIndex:i,seriesName:z.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var n=e[t].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:t+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(e){var t,i,a,s,r=e.type,n=e.series,o=e.i,h=e.realIndex,c=e.translationsIndex,d=e.prevX,u=e.prevY,f=e.prevY2,p=this.w,x=new B(this.ctx);if(n[o][0]===null){for(var m=0;m0){var v=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:h});a=v.pathFromLine,s=v.pathFromArea}return{prevX:d,prevY:u,linePath:t,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(e){var t=e.type,i=e.realIndex,a=e.i,s=e.paths,r=this.w,n=new B(this.ctx),o=new Pe(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var h=r.config.forecastDataPoints;if(h.count>0&&t!=="rangeArea"){var c=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-h.count-1],d=n.drawRect(c,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(d.node);var u=n.drawRect(0,0,c,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(u.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var f={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(t)};if(t==="area")for(var p=o.fillPath({seriesNumber:i}),x=0;x0&&t!=="rangeArea"){var k=n.renderPaths(b);k.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&k.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(k),k.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),C.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(e){var t,i,a=this,s=e.type,r=e.series,n=e.iterations,o=e.realIndex,h=e.translationsIndex,c=e.i,d=e.x,u=e.y,f=e.pX,p=e.pY,x=e.pathsFrom,m=e.linePaths,v=e.areaPaths,A=e.seriesIndex,l=e.lineYPosition,g=e.xArrj,b=e.yArrj,C=e.y2Arrj,k=e.isRangeStart,L=e.seriesRangeEnd,R=this.w,T=new B(this.ctx),Y=this.yRatio,W=x.prevY,O=x.linePath,H=x.areaPath,j=x.pathFromLine,q=x.pathFromArea,J=z.isNumber(R.globals.minYArr[o])?R.globals.minYArr[o]:R.globals.minY;n||(n=R.globals.dataPoints>1?R.globals.dataPoints-1:R.globals.dataPoints);var K=function(ve,ye){return ye-ve/Y[h]+2*(a.isReversed?ve/Y[h]:0)},te=u,ee=R.config.chart.stacked&&!R.globals.comboCharts||R.config.chart.stacked&&R.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[o])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[o])===null||i===void 0?void 0:i.type)==="column"),re=R.config.stroke.curve;Array.isArray(re)&&(re=Array.isArray(A)?re[A[c]]:re[c]);for(var ge,fe=0,he=0;he0&&R.globals.collapsedSeries.length0;ye--){if(!(R.globals.collapsedSeriesIndices.indexOf((A==null?void 0:A[ye])||ye)>-1))return ye;ye--}return 0}(c-1)][he+1]:l=this.zeroY:l=this.zeroY,Se?u=K(J,l):(u=K(r[c][he+1],l),s==="rangeArea"&&(te=K(L[c][he+1],l))),g.push(d),!Se||R.config.stroke.curve!=="smooth"&&R.config.stroke.curve!=="monotoneCubic"?(b.push(u),C.push(te)):(b.push(null),C.push(null));var ne=this.lineHelpers.calculatePoints({series:r,x:d,y:u,realIndex:o,i:c,j:he,prevY:W}),le=this._createPaths({type:s,series:r,i:c,realIndex:o,j:he,x:d,y:u,y2:te,xArrj:g,yArrj:b,y2Arrj:C,pX:f,pY:p,pathState:fe,segmentStartX:ge,linePath:O,areaPath:H,linePaths:m,areaPaths:v,curve:re,isRangeStart:k});v=le.areaPaths,m=le.linePaths,f=le.pX,p=le.pY,fe=le.pathState,ge=le.segmentStartX,H=le.areaPath,O=le.linePath,!this.appendPathFrom||re==="monotoneCubic"&&s==="rangeArea"||(j+=T.line(d,this.zeroY),q+=T.line(d,this.zeroY)),this.handleNullDataPoints(r,ne,c,he,o),this._handleMarkersAndLabels({type:s,pointsPos:ne,i:c,j:he,realIndex:o,isRangeStart:k})}return{yArrj:b,xArrj:g,pathFromArea:q,areaPaths:v,pathFromLine:j,linePaths:m,linePath:O,areaPath:H}}},{key:"_handleMarkersAndLabels",value:function(e){var t=e.type,i=e.pointsPos,a=e.isRangeStart,s=e.i,r=e.j,n=e.realIndex,o=this.w,h=new He(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var c=this.markers.plotChartMarkers(i,n,r+1);c!==null&&this.elPointsMain.add(c)}var d=h.drawDataLabel({type:t,isRangeStart:a,pos:i,i:n,j:r+1});d!==null&&this.elDataLabelsWrap.add(d)}},{key:"_createPaths",value:function(e){var t=e.type,i=e.series,a=e.i;e.realIndex;var s=e.j,r=e.x,n=e.y,o=e.xArrj,h=e.yArrj,c=e.y2,d=e.y2Arrj,u=e.pX,f=e.pY,p=e.pathState,x=e.segmentStartX,m=e.linePath,v=e.areaPath,A=e.linePaths,l=e.areaPaths,g=e.curve,b=e.isRangeStart;this.w;var C,k=new B(this.ctx),L=this.areaBottomY,R=t==="rangeArea",T=t==="rangeArea"&&b;switch(g){case"monotoneCubic":var Y=b?h:d;switch(p){case 0:if(Y[s+1]===null)break;p=1;case 1:if(!(R?o.length===i[a].length:s===i[a].length-2))break;case 2:var W=b?o:o.slice().reverse(),O=b?Y:Y.slice().reverse(),H=(C=O,W.map(function(oe,ne){return[oe,C[ne]]}).filter(function(oe){return oe[1]!==null})),j=H.length>1?ba(H):H,q=[];R&&(T?l=H:q=l.reverse());var J=0,K=0;if(function(oe,ne){for(var le=function(qe){var we=[],Te=0;return qe.forEach(function(Ca){Ca!==null?Te++:Te>0&&(we.push(Te),Te=0)}),Te>0&&we.push(Te),we}(oe),ve=[],ye=0,Ee=0;ye4?(Ee+="C".concat(we[0],", ").concat(we[1]),Ee+=", ".concat(we[2],", ").concat(we[3]),Ee+=", ".concat(we[4],", ").concat(we[5])):Te>2&&(Ee+="S".concat(we[0],", ").concat(we[1]),Ee+=", ".concat(we[2],", ").concat(we[3]))}return Ee}(oe),le=K,ve=(K+=oe.length)-1;T?m=k.move(H[le][0],H[le][1])+ne:R?m=k.move(q[le][0],q[le][1])+k.line(H[le][0],H[le][1])+ne+k.line(q[ve][0],q[ve][1]):(m=k.move(H[le][0],H[le][1])+ne,v=m+k.line(H[ve][0],L)+k.line(H[le][0],L)+"z",l.push(v)),A.push(m)}),R&&J>1&&!T){var te=A.slice(J).reverse();A.splice(J),te.forEach(function(oe){return A.push(oe)})}p=0}break;case"smooth":var ee=.35*(r-u);if(i[a][s]===null)p=0;else switch(p){case 0:if(x=u,m=T?k.move(u,d[s])+k.line(u,f):k.move(u,f),v=k.move(u,f),p=1,s=i[a].length-2&&(T&&(m+=k.curve(r,n,r,n,r,c)+k.move(r,c)),v+=k.curve(r,n,r,n,r,L)+k.line(x,L)+"z",A.push(m),l.push(v),p=-1)}}u=r,f=n;break;default:var fe=function(oe,ne,le){var ve=[];switch(oe){case"stepline":ve=k.line(ne,null,"H")+k.line(null,le,"V");break;case"linestep":ve=k.line(null,le,"V")+k.line(ne,null,"H");break;case"straight":ve=k.line(ne,le)}return ve};if(i[a][s]===null)p=0;else switch(p){case 0:if(x=u,m=T?k.move(u,d[s])+k.line(u,f):k.move(u,f),v=k.move(u,f),p=1,s=i[a].length-2&&(T&&(m+=k.line(r,c)),v+=k.line(r,L)+k.line(x,L)+"z",A.push(m),l.push(v),p=-1)}}u=r,f=n}return{linePaths:A,areaPaths:l,pX:u,pY:f,pathState:p,segmentStartX:x,linePath:m,areaPath:v}}},{key:"handleNullDataPoints",value:function(e,t,i,a,s){var r=this.w;if(e[i][a]===null&&r.config.markers.showNullDataPoints||e[i].length===1){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers(t,s,a+1,n,!0);o!==null&&this.elPointsMain.add(o)}}}]),y}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function y(n,o,h,c){this.xoffset=n,this.yoffset=o,this.height=c,this.width=h,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(d){var u,f=[],p=this.xoffset,x=this.yoffset,m=s(d)/this.height,v=s(d)/this.width;if(this.width>=this.height)for(u=0;u=this.height){var f=d/this.height,p=this.width-f;u=new y(this.xoffset+f,this.yoffset,p,this.height)}else{var x=d/this.width,m=this.height-x;u=new y(this.xoffset,this.yoffset+x,this.width,m)}return u}}function e(n,o,h,c,d){c=c===void 0?0:c,d=d===void 0?0:d;var u=t(function(f,p){var x,m=[],v=p/s(f);for(x=0;x=l}(o,u=n[0],d)?(o.push(u),t(n.slice(1),o,h,c)):(f=h.cutArea(s(o),c),c.push(h.getCoordinates(o)),t(n,[],f,c)),c;c.push(h.getCoordinates(o))}function i(n,o){var h=Math.min.apply(Math,n),c=Math.max.apply(Math,n),d=s(n);return Math.max(Math.pow(o,2)*c/Math.pow(d,2),Math.pow(d,2)/(Math.pow(o,2)*h))}function a(n){return n&&n.constructor===Array}function s(n){var o,h=0;for(o=0;or-a&&h.width<=n-s){var c=o.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(-90 ".concat(c.x," ").concat(c.y,") translate(").concat(h.height/3,")"))}}},{key:"truncateLabels",value:function(e,t,i,a,s,r){var n=new B(this.ctx),o=n.getTextRects(e,t).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,h=n.getTextBasedOnMaxWidth({text:e,maxWidth:o,fontSize:t});return e.length!==h.length&&o/t<5?"":h}},{key:"animateTreemap",value:function(e,t,i,a){var s=new xe(this.ctx);s.animateRect(e,{x:t.x,y:t.y,width:t.width,height:t.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,function(){s.animationCompleted(e)})}}]),y}(),Kt=86400,ya=10/Kt,wa=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return I(y,[{key:"calculateTimeScaleTicks",value:function(e,t){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new me(this.ctx),r=(t-e)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(e,t,this.utc),o=a.globals.gridWidth/r,h=o/24,c=h/60,d=c/60,u=Math.floor(24*r),f=Math.floor(1440*r),p=Math.floor(r*Kt),x=Math.floor(r),m=Math.floor(r/30),v=Math.floor(r/365),A={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},l={firstVal:A,currentMillisecond:A.minMillisecond,currentSecond:A.minSecond,currentMinute:A.minMinute,currentHour:A.minHour,currentMonthDate:A.minDate,currentDate:A.minDate,currentMonth:A.minMonth,currentYear:A.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:f,numberOfHours:u,numberOfDays:x,numberOfMonths:m,numberOfYears:v};switch(this.tickInterval){case"years":this.generateYearScale(l);break;case"months":case"half_year":this.generateMonthScale(l);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(l);break;case"hours":this.generateHourScale(l);break;case"minutes_fives":case"minutes":this.generateMinuteScale(l);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(l)}var g=this.timeScaleArray.map(function(b){var C={position:b.position,unit:b.unit,year:b.year,day:b.day?b.day:1,hour:b.hour?b.hour:0,month:b.month+1};return b.unit==="month"?V(V({},C),{},{day:1,value:b.value+1}):b.unit==="day"||b.unit==="hour"?V(V({},C),{},{value:b.value}):b.unit==="minute"?V(V({},C),{},{value:b.value,minute:b.value}):b.unit==="second"?V(V({},C),{},{value:b.value,minute:b.minute,second:b.second}):b});return g.filter(function(b){var C=1,k=Math.ceil(a.globals.gridWidth/120),L=b.value;a.config.xaxis.tickAmount!==void 0&&(k=a.config.xaxis.tickAmount),g.length>k&&(C=Math.floor(g.length/k));var R=!1,T=!1;switch(i.tickInterval){case"years":b.unit==="year"&&(R=!0);break;case"half_year":C=7,b.unit==="year"&&(R=!0);break;case"months":C=1,b.unit==="year"&&(R=!0);break;case"months_fortnight":C=15,b.unit!=="year"&&b.unit!=="month"||(R=!0),L===30&&(T=!0);break;case"months_days":C=10,b.unit==="month"&&(R=!0),L===30&&(T=!0);break;case"week_days":C=8,b.unit==="month"&&(R=!0);break;case"days":C=1,b.unit==="month"&&(R=!0);break;case"hours":b.unit==="day"&&(R=!0);break;case"minutes_fives":case"seconds_fives":L%5!=0&&(T=!0);break;case"seconds_tens":L%10!=0&&(T=!0)}if(i.tickInterval==="hours"||i.tickInterval==="minutes_fives"||i.tickInterval==="seconds_tens"||i.tickInterval==="seconds_fives"){if(!T)return!0}else if((L%C==0||R)&&!T)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(e,t){var i=this.w,a=this.formatDates(e),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new et(this.ctx).plotCoords()}},{key:"determineInterval",value:function(e){var t=24*e,i=60*t;switch(!0){case e/365>5:this.tickInterval="years";break;case e>800:this.tickInterval="half_year";break;case e>180:this.tickInterval="months";break;case e>90:this.tickInterval="months_fortnight";break;case e>60:this.tickInterval="months_days";break;case e>30:this.tickInterval="week_days";break;case e>2:this.tickInterval="days";break;case t>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(e){var t=e.firstVal,i=e.currentMonth,a=e.currentYear,s=e.daysWidthOnXAxis,r=e.numberOfYears,n=t.minYear,o=0,h=new me(this.ctx),c="year";if(t.minDate>1||t.minMonth>0){var d=h.determineRemainingDaysOfYear(t.minYear,t.minMonth,t.minDate);o=(h.determineDaysOfYear(t.minYear)-d+1)*s,n=t.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:c,year:n,month:z.monthMod(i+1)})}else t.minDate===1&&t.minMonth===0&&this.timeScaleArray.push({position:o,value:n,unit:c,year:a,month:z.monthMod(i+1)});for(var u=n,f=o,p=0;p1){h=(c.determineDaysOfMonths(a+1,t.minYear)-i+1)*r,o=z.monthMod(a+1);var f=s+u,p=z.monthMod(o),x=o;o===0&&(d="year",x=f,p=1,f+=u+=1),this.timeScaleArray.push({position:h,value:x,unit:d,year:f,month:p})}else this.timeScaleArray.push({position:h,value:o,unit:d,year:s,month:z.monthMod(a)});for(var m=o+1,v=h,A=0,l=1;An.determineDaysOfMonths(g+1,b)&&(c=1,o="month",f=g+=1),g},u=(24-t.minHour)*s,f=h,p=d(c,i,a);t.minHour===0&&t.minDate===1?(u=0,f=z.monthMod(t.minMonth),o="month",c=t.minDate):t.minDate!==1&&t.minHour===0&&t.minMinute===0&&(u=0,h=t.minDate,f=h,p=d(c=h,i,a)),this.timeScaleArray.push({position:u,value:f,unit:o,year:this._getYear(a,p,0),month:z.monthMod(p),day:c});for(var x=u,m=0;mo.determineDaysOfMonths(k+1,s)&&(m=1,k+=1),{month:k,date:m}},d=function(C,k){return C>o.determineDaysOfMonths(k+1,s)?k+=1:k},u=60-(t.minMinute+t.minSecond/60),f=u*r,p=t.minHour+1,x=p;u===60&&(f=0,x=p=t.minHour);var m=i;x>=24&&(x=0,m+=1,h="day");var v=c(m,a).month;v=d(m,v),this.timeScaleArray.push({position:f,value:p,unit:h,day:m,hour:x,year:s,month:z.monthMod(v)}),x++;for(var A=f,l=0;l=24&&(x=0,h="day",v=c(m+=1,v).month,v=d(m,v));var g=this._getYear(s,v,0);A=60*r+A;var b=x===0?m:x;this.timeScaleArray.push({position:A,value:b,unit:h,hour:x,day:m,year:g,month:z.monthMod(v)}),x++}}},{key:"generateMinuteScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,a=e.currentMinute,s=e.currentHour,r=e.currentDate,n=e.currentMonth,o=e.currentYear,h=e.minutesWidthOnXAxis,c=e.secondsWidthOnXAxis,d=e.numberOfMinutes,u=a+1,f=r,p=n,x=o,m=s,v=(60-i-t/1e3)*c,A=0;A=60&&(u=0,(m+=1)===24&&(m=0)),this.timeScaleArray.push({position:v,value:u,unit:"minute",hour:m,minute:u,day:f,year:this._getYear(x,p,0),month:z.monthMod(p)}),v+=h,u++}},{key:"generateSecondScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,a=e.currentMinute,s=e.currentHour,r=e.currentDate,n=e.currentMonth,o=e.currentYear,h=e.secondsWidthOnXAxis,c=e.numberOfSeconds,d=i+1,u=a,f=r,p=n,x=o,m=s,v=(1e3-t)/1e3*h,A=0;A=60&&(d=0,++u>=60&&(u=0,++m===24&&(m=0))),this.timeScaleArray.push({position:v,value:d,unit:"second",hour:m,minute:u,second:d,day:f,year:this._getYear(x,p,0),month:z.monthMod(p)}),v+=h,d++}},{key:"createRawDateString",value:function(e,t){var i=e.year;return e.month===0&&(e.month=1),i+="-"+("0"+e.month.toString()).slice(-2),e.unit==="day"?i+=e.unit==="day"?"-"+("0"+t).slice(-2):"-01":i+="-"+("0"+(e.day?e.day:"1")).slice(-2),e.unit==="hour"?i+=e.unit==="hour"?"T"+("0"+t).slice(-2):"T00":i+="T"+("0"+(e.hour?e.hour:"0")).slice(-2),e.unit==="minute"?i+=":"+("0"+t).slice(-2):i+=":"+(e.minute?("0"+e.minute).slice(-2):"00"),e.unit==="second"?i+=":"+("0"+t).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(e){var t=this,i=this.w;return e.map(function(a){var s=a.value.toString(),r=new me(t.ctx),n=t.createRawDateString(a,s),o=r.getDate(r.parseDate(n));if(t.utc||(o=r.getDate(r.parseDateWithTimezone(n))),i.config.xaxis.labels.format===void 0){var h="dd MMM",c=i.config.xaxis.labels.datetimeFormatter;a.unit==="year"&&(h=c.year),a.unit==="month"&&(h=c.month),a.unit==="day"&&(h=c.day),a.unit==="hour"&&(h=c.hour),a.unit==="minute"&&(h=c.minute),a.unit==="second"&&(h=c.second),s=r.formatDate(o,h)}else s=r.formatDate(o,i.config.xaxis.labels.format);return{dateString:n,position:a.position,value:s,unit:a.unit,year:a.year,month:a.month}})}},{key:"removeOverlappingTS",value:function(e){var t,i=this,a=new B(this.ctx),s=!1;e.length>0&&e[0].value&&e.every(function(o){return o.value.length===e[0].value.length})&&(s=!0,t=a.getTextRects(e[0].value).width);var r=0,n=e.map(function(o,h){if(h>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var c=s?t:a.getTextRects(e[r].value).width,d=e[r].position;return o.position>d+c+10?(r=h,o):null}return o});return n=n.filter(function(o){return o!==null})}},{key:"_getYear",value:function(e,t,i){return e+Math.floor(t/12)+i}}]),y}(),Aa=function(){function y(e,t){E(this,y),this.ctx=t,this.w=t.w,this.el=e}return I(y,[{key:"setupElements",value:function(){var e=this.w.globals,t=this.w.config,i=t.chart.type;e.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,e.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,e.isBarHorizontal=(t.chart.type==="bar"||t.chart.type==="rangeBar"||t.chart.type==="boxPlot")&&t.plotOptions.bar.horizontal,e.chartClass=".apexcharts"+e.chartID,e.dom.baseEl=this.el,e.dom.elWrap=document.createElement("div"),B.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:"apexcharts-canvas "+e.chartClass.substring(1)}),this.el.appendChild(e.dom.elWrap),e.dom.Paper=new window.SVG.Doc(e.dom.elWrap),e.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(t.chart.offsetX,", ").concat(t.chart.offsetY,")")}),e.dom.Paper.node.style.background=t.theme.mode!=="dark"||t.chart.background?t.theme.mode!=="light"||t.chart.background?t.chart.background:"#fff":"#424242",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,"foreignObject"),B.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement("div"),e.dom.elLegendWrap.classList.add("apexcharts-legend"),e.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.dom.elLegendForeign.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:"plotChartType",value:function(e,t){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},n={series:[],i:[]},o={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},u={series:[],i:[]},f={series:[],i:[]},p={series:[],seriesRangeEnd:[],i:[]},x=a.chart.type!==void 0?a.chart.type:"line",m=null,v=0;s.series.forEach(function(O,H){var j=e[H].type||x;switch(j){case"column":case"bar":c.series.push(O),c.i.push(H),i.globals.columnSeries=c;break;case"area":n.series.push(O),n.i.push(H);break;case"line":r.series.push(O),r.i.push(H);break;case"scatter":o.series.push(O),o.i.push(H);break;case"bubble":h.series.push(O),h.i.push(H);break;case"candlestick":d.series.push(O),d.i.push(H);break;case"boxPlot":u.series.push(O),u.i.push(H);break;case"rangeBar":f.series.push(O),f.i.push(H);break;case"rangeArea":p.series.push(s.seriesRangeStart[H]),p.seriesRangeEnd.push(s.seriesRangeEnd[H]),p.i.push(H);break;case"heatmap":case"treemap":case"pie":case"donut":case"polarArea":case"radialBar":case"radar":m=j;break;default:console.warn("You have specified an unrecognized series type (",j,").")}x!==j&&j!=="scatter"&&v++}),v>0&&(m!==null&&console.warn("Chart or series type ",m," can not appear with other chart or series types."),c.series.length>0&&a.plotOptions.bar.horizontal&&(v-=c.length,c={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),s.comboCharts||(s.comboCharts=v>0);var A=new vt(this.ctx,t),l=new bt(this.ctx,t);this.ctx.pie=new Jt(this.ctx);var g=new ga(this.ctx);this.ctx.rangeBar=new fa(this.ctx,t);var b=new ua(this.ctx),C=[];if(s.comboCharts){var k,L,R=new de(this.ctx);if(n.series.length>0&&(k=C).push.apply(k,U(R.drawSeriesByGroup(n,s.areaGroups,"area",A))),c.series.length>0)if(i.config.chart.stacked){var T=new qt(this.ctx,t);C.push(T.draw(c.series,c.i))}else this.ctx.bar=new Be(this.ctx,t),C.push(this.ctx.bar.draw(c.series,c.i));if(p.series.length>0&&C.push(A.draw(p.series,"rangeArea",p.i,p.seriesRangeEnd)),r.series.length>0&&(L=C).push.apply(L,U(R.drawSeriesByGroup(r,s.lineGroups,"line",A))),d.series.length>0&&C.push(l.draw(d.series,"candlestick",d.i)),u.series.length>0&&C.push(l.draw(u.series,"boxPlot",u.i)),f.series.length>0&&C.push(this.ctx.rangeBar.draw(f.series,f.i)),o.series.length>0){var Y=new vt(this.ctx,t,!0);C.push(Y.draw(o.series,"scatter",o.i))}if(h.series.length>0){var W=new vt(this.ctx,t,!0);C.push(W.draw(h.series,"bubble",h.i))}}else switch(a.chart.type){case"line":C=A.draw(s.series,"line");break;case"area":C=A.draw(s.series,"area");break;case"bar":a.chart.stacked?C=new qt(this.ctx,t).draw(s.series):(this.ctx.bar=new Be(this.ctx,t),C=this.ctx.bar.draw(s.series));break;case"candlestick":C=new bt(this.ctx,t).draw(s.series,"candlestick");break;case"boxPlot":C=new bt(this.ctx,t).draw(s.series,a.chart.type);break;case"rangeBar":C=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":C=A.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":C=new da(this.ctx,t).draw(s.series);break;case"treemap":C=new va(this.ctx,t).draw(s.series);break;case"pie":case"donut":case"polarArea":C=this.ctx.pie.draw(s.series);break;case"radialBar":C=g.draw(s.series);break;case"radar":C=b.draw(s.series);break;default:C=A.draw(s.series)}return C}},{key:"setSVGDimensions",value:function(){var e=this.w.globals,t=this.w.config;t.chart.width||(t.chart.width="100%"),t.chart.height||(t.chart.height="auto"),e.svgWidth=t.chart.width,e.svgHeight=t.chart.height;var i=z.getDimensions(this.el),a=t.chart.width.toString().split(/[0-9]+/g).pop();a==="%"?z.isNumber(i[0])&&(i[0].width===0&&(i=z.getDimensions(this.el.parentNode)),e.svgWidth=i[0]*parseInt(t.chart.width,10)/100):a!=="px"&&a!==""||(e.svgWidth=parseInt(t.chart.width,10));var s=String(t.chart.height).toString().split(/[0-9]+/g).pop();if(e.svgHeight!=="auto"&&e.svgHeight!=="")if(s==="%"){var r=z.getDimensions(this.el.parentNode);e.svgHeight=r[1]*parseInt(t.chart.height,10)/100}else e.svgHeight=parseInt(t.chart.height,10);else e.axisCharts?e.svgHeight=e.svgWidth/1.61:e.svgHeight=e.svgWidth/1.2;if(e.svgWidth<0&&(e.svgWidth=0),e.svgHeight<0&&(e.svgHeight=0),B.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),s!=="%"){var n=t.chart.sparkline.enabled?0:e.axisCharts?t.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight=e.svgHeight+n+"px"}e.dom.elWrap.style.width=e.svgWidth+"px",e.dom.elWrap.style.height=e.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var e=this.w.globals,t=e.translateY,i={transform:"translate("+e.translateX+", "+t+")"};B.setAttrs(e.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=0,a=e.config.chart.sparkline.enabled?1:15;a+=e.config.grid.padding.bottom,e.config.legend.position!=="top"&&e.config.legend.position!=="bottom"||!e.config.legend.show||e.config.legend.floating||(i=new Gt(this.ctx).legendHelpers.getLegendDimensions().clwh+10);var s=e.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*e.globals.radialSize;if(s&&!e.config.chart.sparkline.enabled&&e.config.plotOptions.radialBar.startAngle!==0){var n=z.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*e.globals.radialSize,o)}var h=r+t.translateY+i+a;t.dom.elLegendForeign&&t.dom.elLegendForeign.setAttribute("height",h),e.config.chart.height&&String(e.config.chart.height).indexOf("%")>0||(t.dom.elWrap.style.height=h+"px",B.setAttrs(t.dom.Paper.node,{height:h}),t.dom.Paper.node.parentNode.parentNode.style.minHeight=h+"px")}},{key:"coreCalculations",value:function(){new ft(this.ctx).init()}},{key:"resetGlobals",value:function(){var e=this,t=function(){return e.w.config.series.map(function(s){return[]})},i=new Dt,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=t(),a.seriesYvalues=t()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var e=null,t=this.w;if(t.globals.axisCharts){if(t.config.xaxis.crosshairs.position==="back"&&new xt(this.ctx).drawXCrosshairs(),t.config.yaxis[0].crosshairs.position==="back"&&new xt(this.ctx).drawYCrosshairs(),t.config.xaxis.type==="datetime"&&t.config.xaxis.labels.formatter===void 0){this.ctx.timeScale=new wa(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new de(this.ctx).getCalculatedRatios()}return e}},{key:"updateSourceChart",value:function(e){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var e=this,t=this.w;if(t.config.chart.brush.enabled&&typeof t.config.chart.events.selection!="function"){var i=Array.isArray(t.config.chart.brush.targets)?t.config.chart.brush.targets:[t.config.chart.brush.target];i.forEach(function(a){var s=ApexCharts.getChartByID(a);s.w.globals.brushSource=e.ctx,typeof s.w.config.chart.events.zoomed!="function"&&(s.w.config.chart.events.zoomed=function(){e.updateSourceChart(s)}),typeof s.w.config.chart.events.scrolled!="function"&&(s.w.config.chart.events.scrolled=function(){e.updateSourceChart(s)})}),t.config.chart.events.selection=function(a,s){i.forEach(function(r){ApexCharts.getChartByID(r).ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max}},!1,!1,!1,!1)})}}}}]),y}(),ka=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"_updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],a=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=arguments.length>4&&arguments[4]!==void 0&&arguments[4];return new Promise(function(n){var o=[t.ctx];s&&(o=t.ctx.getSyncedCharts()),t.ctx.w.globals.isExecCalled&&(o=[t.ctx],t.ctx.w.globals.isExecCalled=!1),o.forEach(function(h,c){var d=h.w;if(d.globals.shouldAnimate=a,i||(d.globals.resized=!0,d.globals.dataChanged=!0,a&&h.series.getPreviousPaths()),e&&se(e)==="object"&&(h.config=new je(e),e=de.extendArrayProps(h.config,e,d),h.w.globals.chartID!==t.ctx.w.globals.chartID&&delete e.series,d.config=z.extend(d.config,e),r&&(d.globals.lastXAxis=e.xaxis?z.clone(e.xaxis):[],d.globals.lastYAxis=e.yaxis?z.clone(e.yaxis):[],d.globals.initialConfig=z.extend({},d.config),d.globals.initialSeries=z.clone(d.config.series),e.series))){for(var u=0;u2&&arguments[2]!==void 0&&arguments[2];return new Promise(function(s){var r,n=i.w;return n.globals.shouldAnimate=t,n.globals.dataChanged=!0,t&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?((r=e.map(function(o,h){return i._extendSeries(o,h)})).length===0&&(r=[{data:[]}]),n.config.series=r):n.config.series=e.slice(),a&&(n.globals.initialConfig.series=z.clone(n.config.series),n.globals.initialSeries=z.clone(n.config.series)),i.ctx.update().then(function(){s(i.ctx)})})}},{key:"_extendSeries",value:function(e,t){var i=this.w,a=i.config.series[t];return V(V({},i.config.series[t]),{},{name:e.name?e.name:a==null?void 0:a.name,color:e.color?e.color:a==null?void 0:a.color,type:e.type?e.type:a==null?void 0:a.type,group:e.group?e.group:a==null?void 0:a.group,hidden:e.hidden!==void 0?e.hidden:a==null?void 0:a.hidden,data:e.data?e.data:a==null?void 0:a.data,zIndex:e.zIndex!==void 0?e.zIndex:t})}},{key:"toggleDataPointSelection",value:function(e,t){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(e,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"'], ").concat(s," circle[j='").concat(t,"'], ").concat(s," rect[j='").concat(t,"']")).members[0]:t===void 0&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"']")).members[0],i.config.chart.type!=="pie"&&i.config.chart.type!=="polarArea"&&i.config.chart.type!=="donut"||this.ctx.pie.pieClicked(e)),a?(new B(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(e){var t=this.w;if(["min","max"].forEach(function(a){e.xaxis[a]!==void 0&&(t.config.xaxis[a]=e.xaxis[a],t.globals.lastXAxis[a]=e.xaxis[a])}),e.xaxis.categories&&e.xaxis.categories.length&&(t.config.xaxis.categories=e.xaxis.categories),t.config.xaxis.convertedCatToNumeric){var i=new _e(e);e=i.convertCatToNumericXaxis(e,this.ctx)}return e}},{key:"forceYAxisUpdate",value:function(e){return e.chart&&e.chart.stacked&&e.chart.stackType==="100%"&&(Array.isArray(e.yaxis)?e.yaxis.forEach(function(t,i){e.yaxis[i].min=0,e.yaxis[i].max=100}):(e.yaxis.min=0,e.yaxis.max=100)),e}},{key:"revertDefaultAxisMinMax",value:function(e){var t=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;e&&e.xaxis&&(a=e.xaxis),e&&e.yaxis&&(s=e.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(n){s[n]!==void 0&&(i.config.yaxis[n].min=s[n].min,i.config.yaxis[n].max=s[n].max)};i.config.yaxis.map(function(n,o){i.globals.zoomed||s[o]!==void 0?r(o):t.ctx.opts.yaxis[o]!==void 0&&(n.min=t.ctx.opts.yaxis[o].min,n.max=t.ctx.opts.yaxis[o].max)})}}]),y}();Oe=typeof window<"u"?window:void 0,tt=function(y,e){var t=(this!==void 0?this:y).SVG=function(l){if(t.supported)return l=new t.Doc(l),t.parser.draw||t.prepare(),l};if(t.ns="http://www.w3.org/2000/svg",t.xmlns="http://www.w3.org/2000/xmlns/",t.xlink="http://www.w3.org/1999/xlink",t.svgjs="http://svgjs.dev",t.supported=!0,!t.supported)return!1;t.did=1e3,t.eid=function(l){return"Svgjs"+c(l)+t.did++},t.create=function(l){var g=e.createElementNS(this.ns,l);return g.setAttribute("id",this.eid(l)),g},t.extend=function(){var l,g;g=(l=[].slice.call(arguments)).pop();for(var b=l.length-1;b>=0;b--)if(l[b])for(var C in g)l[b].prototype[C]=g[C];t.Set&&t.Set.inherit&&t.Set.inherit()},t.invent=function(l){var g=typeof l.create=="function"?l.create:function(){this.constructor.call(this,t.create(l.create))};return l.inherit&&(g.prototype=new l.inherit),l.extend&&t.extend(g,l.extend),l.construct&&t.extend(l.parent||t.Container,l.construct),g},t.adopt=function(l){return l?l.instance?l.instance:((g=l.nodeName=="svg"?l.parentNode instanceof y.SVGElement?new t.Nested:new t.Doc:l.nodeName=="linearGradient"?new t.Gradient("linear"):l.nodeName=="radialGradient"?new t.Gradient("radial"):t[c(l.nodeName)]?new t[c(l.nodeName)]:new t.Element(l)).type=l.nodeName,g.node=l,l.instance=g,g instanceof t.Doc&&g.namespace().defs(),g.setData(JSON.parse(l.getAttribute("svgjs:data"))||{}),g):null;var g},t.prepare=function(){var l=e.getElementsByTagName("body")[0],g=(l?new t.Doc(l):t.adopt(e.documentElement).nested()).size(2,0);t.parser={body:l||e.documentElement,draw:g.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:g.polyline().node,path:g.path().node,native:t.create("svg")}},t.parser={native:t.create("svg")},e.addEventListener("DOMContentLoaded",function(){t.parser.draw||t.prepare()},!1),t.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},t.utils={map:function(l,g){for(var b=l.length,C=[],k=0;k1?1:l,new t.Color({r:~~(this.r+(this.destination.r-this.r)*l),g:~~(this.g+(this.destination.g-this.g)*l),b:~~(this.b+(this.destination.b-this.b)*l)})):this}}),t.Color.test=function(l){return l+="",t.regex.isHex.test(l)||t.regex.isRgb.test(l)},t.Color.isRgb=function(l){return l&&typeof l.r=="number"&&typeof l.g=="number"&&typeof l.b=="number"},t.Color.isColor=function(l){return t.Color.isRgb(l)||t.Color.test(l)},t.Array=function(l,g){(l=(l||[]).valueOf()).length==0&&g&&(l=g.valueOf()),this.value=this.parse(l)},t.extend(t.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(l){return l=l.valueOf(),Array.isArray(l)?l:this.split(l)}}),t.PointArray=function(l,g){t.Array.call(this,l,g||[[0,0]])},t.PointArray.prototype=new t.Array,t.PointArray.prototype.constructor=t.PointArray;for(var i={M:function(l,g,b){return g.x=b.x=l[0],g.y=b.y=l[1],["M",g.x,g.y]},L:function(l,g){return g.x=l[0],g.y=l[1],["L",l[0],l[1]]},H:function(l,g){return g.x=l[0],["H",l[0]]},V:function(l,g){return g.y=l[0],["V",l[0]]},C:function(l,g){return g.x=l[4],g.y=l[5],["C",l[0],l[1],l[2],l[3],l[4],l[5]]},Q:function(l,g){return g.x=l[2],g.y=l[3],["Q",l[0],l[1],l[2],l[3]]},S:function(l,g){return g.x=l[2],g.y=l[3],["S",l[0],l[1],l[2],l[3]]},Z:function(l,g,b){return g.x=b.x,g.y=b.y,["Z"]}},a="mlhvqtcsaz".split(""),s=0,r=a.length;sR);return C},bbox:function(){return t.parser.draw||t.prepare(),t.parser.path.setAttribute("d",this.toString()),t.parser.path.getBBox()}}),t.Number=t.invent({create:function(l,g){this.value=0,this.unit=g||"",typeof l=="number"?this.value=isNaN(l)?0:isFinite(l)?l:l<0?-34e37:34e37:typeof l=="string"?(g=l.match(t.regex.numberAndUnit))&&(this.value=parseFloat(g[1]),g[5]=="%"?this.value/=100:g[5]=="s"&&(this.value*=1e3),this.unit=g[5]):l instanceof t.Number&&(this.value=l.valueOf(),this.unit=l.unit)},extend:{toString:function(){return(this.unit=="%"?~~(1e8*this.value)/1e6:this.unit=="s"?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(l){return l=new t.Number(l),new t.Number(this+l,this.unit||l.unit)},minus:function(l){return l=new t.Number(l),new t.Number(this-l,this.unit||l.unit)},times:function(l){return l=new t.Number(l),new t.Number(this*l,this.unit||l.unit)},divide:function(l){return l=new t.Number(l),new t.Number(this/l,this.unit||l.unit)},to:function(l){var g=new t.Number(this);return typeof l=="string"&&(g.unit=l),g},morph:function(l){return this.destination=new t.Number(l),l.relative&&(this.destination.value+=this.value),this},at:function(l){return this.destination?new t.Number(this.destination).minus(this).times(l).plus(this):this}}}),t.Element=t.invent({create:function(l){this._stroke=t.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=l)&&(this.type=l.nodeName,this.node.instance=this,this._stroke=l.getAttribute("stroke")||this._stroke)},extend:{x:function(l){return this.attr("x",l)},y:function(l){return this.attr("y",l)},cx:function(l){return l==null?this.x()+this.width()/2:this.x(l-this.width()/2)},cy:function(l){return l==null?this.y()+this.height()/2:this.y(l-this.height()/2)},move:function(l,g){return this.x(l).y(g)},center:function(l,g){return this.cx(l).cy(g)},width:function(l){return this.attr("width",l)},height:function(l){return this.attr("height",l)},size:function(l,g){var b=u(this,l,g);return this.width(new t.Number(b.width)).height(new t.Number(b.height))},clone:function(l){this.writeDataToDom();var g=x(this.node.cloneNode(!0));return l?l.add(g):this.after(g),g},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(l){return this.after(l).remove(),l},addTo:function(l){return l.put(this)},putIn:function(l){return l.add(this)},id:function(l){return this.attr("id",l)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return this.style("display")!="none"},toString:function(){return this.attr("id")},classes:function(){var l=this.attr("class");return l==null?[]:l.trim().split(t.regex.delimiter)},hasClass:function(l){return this.classes().indexOf(l)!=-1},addClass:function(l){if(!this.hasClass(l)){var g=this.classes();g.push(l),this.attr("class",g.join(" "))}return this},removeClass:function(l){return this.hasClass(l)&&this.attr("class",this.classes().filter(function(g){return g!=l}).join(" ")),this},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l)},reference:function(l){return t.get(this.attr(l))},parent:function(l){var g=this;if(!g.node.parentNode)return null;if(g=t.adopt(g.node.parentNode),!l)return g;for(;g&&g.node instanceof y.SVGElement;){if(typeof l=="string"?g.matches(l):g instanceof l)return g;if(!g.node.parentNode||g.node.parentNode.nodeName=="#document")return null;g=t.adopt(g.node.parentNode)}},doc:function(){return this instanceof t.Doc?this:this.parent(t.Doc)},parents:function(l){var g=[],b=this;do{if(!(b=b.parent(l))||!b.node)break;g.push(b)}while(b.parent);return g},matches:function(l){return function(g,b){return(g.matches||g.matchesSelector||g.msMatchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.oMatchesSelector).call(g,b)}(this.node,l)},native:function(){return this.node},svg:function(l){var g=e.createElementNS("http://www.w3.org/2000/svg","svg");if(!(l&&this instanceof t.Parent))return g.appendChild(l=e.createElementNS("http://www.w3.org/2000/svg","svg")),this.writeDataToDom(),l.appendChild(this.node.cloneNode(!0)),g.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");g.innerHTML=""+l.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var b=0,C=g.firstChild.childNodes.length;b":function(l){return-Math.cos(l*Math.PI)/2+.5},">":function(l){return Math.sin(l*Math.PI/2)},"<":function(l){return 1-Math.cos(l*Math.PI/2)}},t.morph=function(l){return function(g,b){return new t.MorphObj(g,b).at(l)}},t.Situation=t.invent({create:function(l){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new t.Number(l.duration).valueOf(),this.delay=new t.Number(l.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=l.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),t.FX=t.invent({create:function(l){this._target=l,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(l,g,b){se(l)==="object"&&(g=l.ease,b=l.delay,l=l.duration);var C=new t.Situation({duration:l||1e3,delay:b||0,ease:t.easing[g||"-"]||g});return this.queue(C),this},target:function(l){return l&&l instanceof t.Element?(this._target=l,this):this._target},timeToAbsPos:function(l){return(l-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(l){return this.situation.duration/this._speed*l+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=y.requestAnimationFrame((function(){this.step()}).bind(this))},stopAnimFrame:function(){y.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(l){return(typeof l=="function"||l instanceof t.Situation)&&this.situations.push(l),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof t.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var l,g=this.situation;if(g.init)return this;for(var b in g.animations){l=this.target()[b](),Array.isArray(l)||(l=[l]),Array.isArray(g.animations[b])||(g.animations[b]=[g.animations[b]]);for(var C=l.length;C--;)g.animations[b][C]instanceof t.Number&&(l[C]=new t.Number(l[C])),g.animations[b][C]=l[C].morph(g.animations[b][C])}for(var b in g.attrs)g.attrs[b]=new t.MorphObj(this.target().attr(b),g.attrs[b]);for(var b in g.styles)g.styles[b]=new t.MorphObj(this.target().style(b),g.styles[b]);return g.initialTransformation=this.target().matrixify(),g.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(l,g){var b=this.active;return this.active=!1,g&&this.clearQueue(),l&&this.situation&&(!b&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(l){var g=this.last();return this.target().on("finished.fx",function b(C){C.detail.situation==g&&(l.call(this,g),this.off("finished.fx",b))}),this._callStart()},during:function(l){var g=this.last(),b=function(C){C.detail.situation==g&&l.call(this,C.detail.pos,t.morph(C.detail.pos),C.detail.eased,g)};return this.target().off("during.fx",b).on("during.fx",b),this.after(function(){this.off("during.fx",b)}),this._callStart()},afterAll:function(l){var g=function b(C){l.call(this),this.off("allfinished.fx",b)};return this.target().off("allfinished.fx",g).on("allfinished.fx",g),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(l,g,b){return this.last()[b||"animations"][l]=g,this._callStart()},step:function(l){var g,b,C;l||(this.absPos=this.timeToAbsPos(+new Date)),this.situation.loops!==!1?(g=Math.max(this.absPos,0),b=Math.floor(g),this.situation.loops===!0||bthis.lastPos&&L<=k&&(this.situation.once[L].call(this.target(),this.pos,k),delete this.situation.once[L]);return this.active&&this.target().fire("during",{pos:this.pos,eased:k,fx:this,situation:this.situation}),this.situation?(this.eachAt(),this.pos==1&&!this.situation.reversed||this.situation.reversed&&this.pos==0?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=k,this):this},eachAt:function(){var l,g=this,b=this.target(),C=this.situation;for(var k in C.animations)l=[].concat(C.animations[k]).map(function(T){return typeof T!="string"&&T.at?T.at(C.ease(g.pos),g.pos):T}),b[k].apply(b,l);for(var k in C.attrs)l=[k].concat(C.attrs[k]).map(function(Y){return typeof Y!="string"&&Y.at?Y.at(C.ease(g.pos),g.pos):Y}),b.attr.apply(b,l);for(var k in C.styles)l=[k].concat(C.styles[k]).map(function(Y){return typeof Y!="string"&&Y.at?Y.at(C.ease(g.pos),g.pos):Y}),b.style.apply(b,l);if(C.transforms.length){l=C.initialTransformation,k=0;for(var L=C.transforms.length;k=0;--b)this[v[b]]=l[v[b]]!=null?l[v[b]]:g[v[b]]},extend:{extract:function(){var l=f(this,0,1);f(this,1,0);var g=180/Math.PI*Math.atan2(l.y,l.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(g*Math.PI/180)+this.f*Math.sin(g*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(g*Math.PI/180)+this.e*Math.sin(-g*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:g,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new t.Matrix(this)}},clone:function(){return new t.Matrix(this)},morph:function(l){return this.destination=new t.Matrix(l),this},multiply:function(l){return new t.Matrix(this.native().multiply(function(g){return g instanceof t.Matrix||(g=new t.Matrix(g)),g}(l).native()))},inverse:function(){return new t.Matrix(this.native().inverse())},translate:function(l,g){return new t.Matrix(this.native().translate(l||0,g||0))},native:function(){for(var l=t.parser.native.createSVGMatrix(),g=v.length-1;g>=0;g--)l[v[g]]=this[v[g]];return l},toString:function(){return"matrix("+m(this.a)+","+m(this.b)+","+m(this.c)+","+m(this.d)+","+m(this.e)+","+m(this.f)+")"}},parent:t.Element,construct:{ctm:function(){return new t.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof t.Nested){var l=this.rect(1,1),g=l.node.getScreenCTM();return l.remove(),new t.Matrix(g)}return new t.Matrix(this.node.getScreenCTM())}}}),t.Point=t.invent({create:function(l,g){var b;b=Array.isArray(l)?{x:l[0],y:l[1]}:se(l)==="object"?{x:l.x,y:l.y}:l!=null?{x:l,y:g??l}:{x:0,y:0},this.x=b.x,this.y=b.y},extend:{clone:function(){return new t.Point(this)},morph:function(l,g){return this.destination=new t.Point(l,g),this}}}),t.extend(t.Element,{point:function(l,g){return new t.Point(l,g).transform(this.screenCTM().inverse())}}),t.extend(t.Element,{attr:function(l,g,b){if(l==null){for(l={},b=(g=this.node.attributes).length-1;b>=0;b--)l[g[b].nodeName]=t.regex.isNumber.test(g[b].nodeValue)?parseFloat(g[b].nodeValue):g[b].nodeValue;return l}if(se(l)==="object")for(var C in l)this.attr(C,l[C]);else if(g===null)this.node.removeAttribute(l);else{if(g==null)return(g=this.node.getAttribute(l))==null?t.defaults.attrs[l]:t.regex.isNumber.test(g)?parseFloat(g):g;l=="stroke-width"?this.attr("stroke",parseFloat(g)>0?this._stroke:null):l=="stroke"&&(this._stroke=g),l!="fill"&&l!="stroke"||(t.regex.isImage.test(g)&&(g=this.doc().defs().image(g,0,0)),g instanceof t.Image&&(g=this.doc().defs().pattern(0,0,function(){this.add(g)}))),typeof g=="number"?g=new t.Number(g):t.Color.isColor(g)?g=new t.Color(g):Array.isArray(g)&&(g=new t.Array(g)),l=="leading"?this.leading&&this.leading(g):typeof b=="string"?this.node.setAttributeNS(b,l,g.toString()):this.node.setAttribute(l,g.toString()),!this.rebuild||l!="font-size"&&l!="x"||this.rebuild(l,g)}return this}}),t.extend(t.Element,{transform:function(l,g){var b;return se(l)!=="object"?(b=new t.Matrix(this).extract(),typeof l=="string"?b[l]:b):(b=new t.Matrix(this),g=!!g||!!l.relative,l.a!=null&&(b=g?b.multiply(new t.Matrix(l)):new t.Matrix(l)),this.attr("transform",b))}}),t.extend(t.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(t.regex.transforms).slice(0,-1).map(function(l){var g=l.trim().split("(");return[g[0],g[1].split(t.regex.delimiter).map(function(b){return parseFloat(b)})]}).reduce(function(l,g){return g[0]=="matrix"?l.multiply(p(g[1])):l[g[0]].apply(l,g[1])},new t.Matrix)},toParent:function(l){if(this==l)return this;var g=this.screenCTM(),b=l.screenCTM().inverse();return this.addTo(l).untransform().transform(b.multiply(g)),this},toDoc:function(){return this.toParent(this.doc())}}),t.Transformation=t.invent({create:function(l,g){if(arguments.length>1&&typeof g!="boolean")return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(l))for(var b=0,C=this.arguments.length;b=0},index:function(l){return[].slice.call(this.node.childNodes).indexOf(l.node)},get:function(l){return t.adopt(this.node.childNodes[l])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(l,g){for(var b=this.children(),C=0,k=b.length;C=0;g--)l.childNodes[g]instanceof y.SVGElement&&x(l.childNodes[g]);return t.adopt(l).id(t.eid(l.nodeName))}function m(l){return Math.abs(l)>1e-37?l:0}["fill","stroke"].forEach(function(l){var g={};g[l]=function(b){if(b===void 0)return this;if(typeof b=="string"||t.Color.isRgb(b)||b&&typeof b.fill=="function")this.attr(l,b);else for(var C=n[l].length-1;C>=0;C--)b[n[l][C]]!=null&&this.attr(n.prefix(l,n[l][C]),b[n[l][C]]);return this},t.extend(t.Element,t.FX,g)}),t.extend(t.Element,t.FX,{translate:function(l,g){return this.transform({x:l,y:g})},matrix:function(l){return this.attr("transform",new t.Matrix(arguments.length==6?[].slice.call(arguments):l))},opacity:function(l){return this.attr("opacity",l)},dx:function(l){return this.x(new t.Number(l).plus(this instanceof t.FX?0:this.x()),!0)},dy:function(l){return this.y(new t.Number(l).plus(this instanceof t.FX?0:this.y()),!0)}}),t.extend(t.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(l){return this.node.getPointAtLength(l)}}),t.Set=t.invent({create:function(l){Array.isArray(l)?this.members=l:this.clear()},extend:{add:function(){for(var l=[].slice.call(arguments),g=0,b=l.length;g-1&&this.members.splice(g,1),this},each:function(l){for(var g=0,b=this.members.length;g=0},index:function(l){return this.members.indexOf(l)},get:function(l){return this.members[l]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(l){return new t.Set(l)}}}),t.FX.Set=t.invent({create:function(l){this.set=l}}),t.Set.inherit=function(){var l=[];for(var g in t.Shape.prototype)typeof t.Shape.prototype[g]=="function"&&typeof t.Set.prototype[g]!="function"&&l.push(g);for(var g in l.forEach(function(C){t.Set.prototype[C]=function(){for(var k=0,L=this.members.length;k=0;l--)delete this.memory()[arguments[l]];return this},memory:function(){return this._memory||(this._memory={})}}),t.get=function(l){var g=e.getElementById(function(b){var C=(b||"").toString().match(t.regex.reference);if(C)return C[1]}(l)||l);return t.adopt(g)},t.select=function(l,g){return new t.Set(t.utils.map((g||e).querySelectorAll(l),function(b){return t.adopt(b)}))},t.extend(t.Parent,{select:function(l){return t.select(l,this.node)}});var v="abcdef".split("");if(typeof y.CustomEvent!="function"){var A=function(l,g){g=g||{bubbles:!1,cancelable:!1,detail:void 0};var b=e.createEvent("CustomEvent");return b.initCustomEvent(l,g.bubbles,g.cancelable,g.detail),b};A.prototype=y.Event.prototype,t.CustomEvent=A}else t.CustomEvent=y.CustomEvent;return t},se(S)==="object"?w.exports=Oe.document?tt(Oe,Oe.document):function(y){return tt(y,y.document)}:Oe.SVG=tt(Oe,Oe.document),(function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(r,n){return this.add(r,n),!r.attr("in")&&this.autoSetIn&&r.attr("in",this.source),r.attr("result")||r.attr("result",r),r},blend:function(r,n,o){return this.put(new SVG.BlendEffect(r,n,o))},colorMatrix:function(r,n){return this.put(new SVG.ColorMatrixEffect(r,n))},convolveMatrix:function(r){return this.put(new SVG.ConvolveMatrixEffect(r))},componentTransfer:function(r){return this.put(new SVG.ComponentTransferEffect(r))},composite:function(r,n,o){return this.put(new SVG.CompositeEffect(r,n,o))},flood:function(r,n){return this.put(new SVG.FloodEffect(r,n))},offset:function(r,n){return this.put(new SVG.OffsetEffect(r,n))},image:function(r){return this.put(new SVG.ImageEffect(r))},merge:function(){var r=[void 0];for(var n in arguments)r.push(arguments[n]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,r)))},gaussianBlur:function(r,n){return this.put(new SVG.GaussianBlurEffect(r,n))},morphology:function(r,n){return this.put(new SVG.MorphologyEffect(r,n))},diffuseLighting:function(r,n,o){return this.put(new SVG.DiffuseLightingEffect(r,n,o))},displacementMap:function(r,n,o,h,c){return this.put(new SVG.DisplacementMapEffect(r,n,o,h,c))},specularLighting:function(r,n,o,h){return this.put(new SVG.SpecularLightingEffect(r,n,o,h))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(r,n,o,h,c){return this.put(new SVG.TurbulenceEffect(r,n,o,h,c))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(r){var n=this.put(new SVG.Filter);return typeof r=="function"&&r.call(n,n),n}}),SVG.extend(SVG.Container,{filter:function(r){return this.defs().filter(r)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(r){return this.filterer=r instanceof SVG.Element?r:this.doc().filter(r),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(r){return this.filterer&&r===!0&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(r){return r==null?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",r)},result:function(r){return r==null?this.attr("result"):this.attr("result",r)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(r){return r==null?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",r)},result:function(r){return r==null?this.attr("result"):this.attr("result",r)},toString:function(){return this.result()}}});var y={blend:function(r,n){return this.parent()&&this.parent().blend(this,r,n)},colorMatrix:function(r,n){return this.parent()&&this.parent().colorMatrix(r,n).in(this)},convolveMatrix:function(r){return this.parent()&&this.parent().convolveMatrix(r).in(this)},componentTransfer:function(r){return this.parent()&&this.parent().componentTransfer(r).in(this)},composite:function(r,n){return this.parent()&&this.parent().composite(this,r,n)},flood:function(r,n){return this.parent()&&this.parent().flood(r,n)},offset:function(r,n){return this.parent()&&this.parent().offset(r,n).in(this)},image:function(r){return this.parent()&&this.parent().image(r)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(r,n){return this.parent()&&this.parent().gaussianBlur(r,n).in(this)},morphology:function(r,n){return this.parent()&&this.parent().morphology(r,n).in(this)},diffuseLighting:function(r,n,o){return this.parent()&&this.parent().diffuseLighting(r,n,o).in(this)},displacementMap:function(r,n,o,h){return this.parent()&&this.parent().displacementMap(this,r,n,o,h)},specularLighting:function(r,n,o,h){return this.parent()&&this.parent().specularLighting(r,n,o,h).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(r,n,o,h,c){return this.parent()&&this.parent().turbulence(r,n,o,h,c).in(this)}};SVG.extend(SVG.Effect,y),SVG.extend(SVG.ParentEffect,y),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(r){this.attr("in",r)}}});var e={blend:function(r,n,o){this.attr({in:r,in2:n,mode:o||"normal"})},colorMatrix:function(r,n){r=="matrix"&&(n=a(n)),this.attr({type:r,values:n===void 0?null:n})},convolveMatrix:function(r){r=a(r),this.attr({order:Math.sqrt(r.split(" ").length),kernelMatrix:r})},composite:function(r,n,o){this.attr({in:r,in2:n,operator:o})},flood:function(r,n){this.attr("flood-color",r),n!=null&&this.attr("flood-opacity",n)},offset:function(r,n){this.attr({dx:r,dy:n})},image:function(r){this.attr("href",r,SVG.xlink)},displacementMap:function(r,n,o,h,c){this.attr({in:r,in2:n,scale:o,xChannelSelector:h,yChannelSelector:c})},gaussianBlur:function(r,n){r!=null||n!=null?this.attr("stdDeviation",function(o){if(!Array.isArray(o))return o;for(var h=0,c=o.length,d=[];h1&&(te*=c=Math.sqrt(c),ee*=c),d=new SVG.Matrix().rotate(re).scale(1/te,1/ee).rotate(-re),oe=oe.transform(d),ne=ne.transform(d),u=[ne.x-oe.x,ne.y-oe.y],p=u[0]*u[0]+u[1]*u[1],f=Math.sqrt(p),u[0]/=f,u[1]/=f,x=p<4?Math.sqrt(1-p/4):0,ge===fe&&(x*=-1),m=new SVG.Point((ne.x+oe.x)/2+x*-u[1],(ne.y+oe.y)/2+x*u[0]),v=new SVG.Point(oe.x-m.x,oe.y-m.y),A=new SVG.Point(ne.x-m.x,ne.y-m.y),l=Math.acos(v.x/Math.sqrt(v.x*v.x+v.y*v.y)),v.y<0&&(l*=-1),g=Math.acos(A.x/Math.sqrt(A.x*A.x+A.y*A.y)),A.y<0&&(g*=-1),fe&&l>g&&(g+=2*Math.PI),!fe&&lr.maxX-t.width&&(n=(a=r.maxX-t.width)-this.startPoints.box.x),r.minY!=null&&sr.maxY-t.height&&(o=(s=r.maxY-t.height)-this.startPoints.box.y),r.snapToGrid!=null&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,n-=n%r.snapToGrid,o-=o%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:n,y:o},!0):this.el.move(a,s));return i},y.prototype.end=function(e){var t=this.drag(e);this.el.fire("dragend",{event:e,p:t,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,t){typeof e!="function"&&typeof e!="object"||(t=e,e=!0);var i=this.remember("_draggable")||new y(this);return(e=e===void 0||e)?i.init(t||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}).call(void 0),function(){function y(e){this.el=e,e.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,i,a){var s=typeof t!="string"?t:i[t];return a?s/2:s},this.pointCoords=function(t,i){var a=this.pointsList[t];return{x:this.pointCoord(a[0],i,t==="t"||t==="b"),y:this.pointCoord(a[1],i,t==="r"||t==="l")}}}y.prototype.init=function(e,t){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],t[s]!==void 0&&(this.options[s]=t[s]);var r=["points","pointsExclude"];for(var s in r){var n=this.options[r[s]];typeof n=="string"?n=n.length>0?n.split(/\s*,\s*/i):[]:typeof n=="boolean"&&r[s]==="points"&&(n=n?a:[]),this.options[r[s]]=n}this.options.points=[a,this.options.points].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)>-1})}),this.options.points=[this.options.points,this.options.pointsExclude].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)<0})}),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&["line","polyline","polygon"].indexOf(this.el.type)!==-1?this.selectPoints(e):this.selectRect(e),this.observe(),this.cleanup()},y.prototype.selectPoints=function(e){return this.pointSelection.isSelected=e,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},y.prototype.getPointArray=function(){var e=this.el.bbox();return this.el.array().valueOf().map(function(t){return[t[0]-e.x,t[1]-e.y]})},y.prototype.drawPoints=function(){for(var e=this,t=this.getPointArray(),i=0,a=t.length;i0&&this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y+n[1]).size(this.parameters.box.width-n[0],this.parameters.box.height-n[1])}};break;case"rt":this.calc=function(s,r){var n=this.snapToGrid(s,r,2);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).size(this.parameters.box.width+n[0],this.parameters.box.height-n[1])}};break;case"rb":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+n[0],this.parameters.box.height+n[1])}};break;case"lb":this.calc=function(s,r){var n=this.snapToGrid(s,r,1);if(this.parameters.box.width-n[0]>0&&this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).size(this.parameters.box.width-n[0],this.parameters.box.height+n[1])}};break;case"t":this.calc=function(s,r){var n=this.snapToGrid(s,r,2);if(this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).height(this.parameters.box.height-n[1])}};break;case"r":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.width+n[0]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+n[0])}};break;case"b":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+n[1])}};break;case"l":this.calc=function(s,r){var n=this.snapToGrid(s,r,1);if(this.parameters.box.width-n[0]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).width(this.parameters.box.width-n[0])}};break;case"rot":this.calc=function(s,r){var n=s+this.parameters.p.x,o=r+this.parameters.p.y,h=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),c=Math.atan2(o-this.parameters.box.y-this.parameters.box.height/2,n-this.parameters.box.x-this.parameters.box.width/2),d=this.parameters.rotation+180*(c-h)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(d-d%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(s,r){var n=this.snapToGrid(s,r,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),o=this.el.array().valueOf();o[this.parameters.i][0]=this.parameters.pointCoords[0]+n[0],o[this.parameters.i][1]=this.parameters.pointCoords[1]+n[1],this.el.plot(o)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:e}),SVG.on(window,"touchmove.resize",function(s){t.update(s||window.event)}),SVG.on(window,"touchend.resize",function(){t.done()}),SVG.on(window,"mousemove.resize",function(s){t.update(s||window.event)}),SVG.on(window,"mouseup.resize",function(){t.done()})},y.prototype.update=function(e){if(e){var t=this._extractPosition(e),i=this.transformPoint(t.x,t.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:e})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},y.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},y.prototype.snapToGrid=function(e,t,i,a){var s;return a!==void 0?s=[(i+e)%this.options.snapToGrid,(a+t)%this.options.snapToGrid]:(i=i??3,s=[(this.parameters.box.x+e+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+t+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),e<0&&(s[0]-=this.options.snapToGrid),t<0&&(s[1]-=this.options.snapToGrid),e-=Math.abs(s[0])n.maxX&&(e=n.maxX-s),n.minY!==void 0&&r+tn.maxY&&(t=n.maxY-r),[e,t]},y.prototype.checkAspectRatio=function(e,t){if(!this.options.saveAspectRatio)return e;var i=e.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+e[0],r=this.parameters.box.height-e[1],n=s/r;return na&&(i[0]=this.parameters.box.width-r*a,t&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new y(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),window.Apex===void 0&&(window.Apex={});var Qt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","highlightSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new xe(this.ctx),this.ctx.axes=new Zi(this.ctx),this.ctx.core=new Aa(this.ctx.el,this.ctx),this.ctx.config=new je({}),this.ctx.data=new Ht(this.ctx),this.ctx.grid=new Bt(this.ctx),this.ctx.graphics=new B(this.ctx),this.ctx.coreUtils=new de(this.ctx),this.ctx.crosshairs=new xt(this.ctx),this.ctx.events=new Ui(this.ctx),this.ctx.exports=new Qe(this.ctx),this.ctx.fill=new Pe(this.ctx),this.ctx.localization=new qi(this.ctx),this.ctx.options=new Xe,this.ctx.responsive=new $i(this.ctx),this.ctx.series=new Le(this.ctx),this.ctx.theme=new Ji(this.ctx),this.ctx.formatters=new Ve(this.ctx),this.ctx.titleSubtitle=new Ki(this.ctx),this.ctx.legend=new Gt(this.ctx),this.ctx.toolbar=new Vt(this.ctx),this.ctx.tooltip=new Ut(this.ctx),this.ctx.dimensions=new et(this.ctx),this.ctx.updateHelpers=new ka(this.ctx),this.ctx.zoomPanSelection=new sa(this.ctx),this.ctx.w.globals.tooltip=new Ut(this.ctx)}}]),y}(),ei=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"clear",value:function(e){var t=e.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:t})}},{key:"killSVG",value:function(e){e.each(function(t,i){this.removeClass("*"),this.off(),this.stop()},!0),e.ungroup(),e.clear()}},{key:"clearDomElements",value:function(e){var t=this,i=e.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach(function(n){s.removeEventListener(n,t.ctx.events.documentEvent)});var r=this.w.globals.dom;if(this.ctx.el!==null)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),y}(),yt=new WeakMap,Sa=function(){function y(e,t){E(this,y),this.opts=t,this.ctx=this,this.w=new ji(t).init(),this.el=e,this.w.globals.cuid=z.randomId(),this.w.globals.chartID=this.w.config.chart.id?z.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Qt(this).initModules(),this.create=z.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return I(y,[{key:"render",value:function(){var e=this;return new Promise(function(t,i){if(e.el!==null){Apex._chartInstances===void 0&&(Apex._chartInstances=[]),e.w.config.chart.id&&Apex._chartInstances.push({id:e.w.globals.chartID,group:e.w.config.chart.group,chart:e}),e.setLocale(e.w.config.chart.defaultLocale);var a=e.w.config.chart.events.beforeMount;typeof a=="function"&&a(e,e.w),e.events.fireEvent("beforeMount",[e,e.w]),window.addEventListener("resize",e.windowResizeHandler),function(u,f){var p=!1;if(u.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var x=u.getBoundingClientRect();u.style.display!=="none"&&x.width!==0||(p=!0)}var m=new ResizeObserver(function(v){p&&f.call(u,v),p=!0});u.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(u.children).forEach(function(v){return m.observe(v)}):m.observe(u),yt.set(f,m)}(e.el.parentNode,e.parentResizeHandler);var s=e.el.getRootNode&&e.el.getRootNode(),r=z.is("ShadowRoot",s),n=e.el.ownerDocument,o=r?s.getElementById("apexcharts-css"):n.getElementById("apexcharts-css");if(!o){var h;(o=document.createElement("style")).id="apexcharts-css",o.textContent=`@keyframes opaque { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes resizeanim { + + 0%, + to { + opacity: 0 + } +} + +.apexcharts-canvas { + position: relative; + user-select: none +} + +.apexcharts-canvas ::-webkit-scrollbar { + -webkit-appearance: none; + width: 6px +} + +.apexcharts-canvas ::-webkit-scrollbar-thumb { + border-radius: 4px; + background-color: rgba(0, 0, 0, .5); + box-shadow: 0 0 1px rgba(255, 255, 255, .5); + -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5) +} + +.apexcharts-inner { + position: relative +} + +.apexcharts-text tspan { + font-family: inherit +} + +rect.legend-mouseover-inactive, +.legend-mouseover-inactive rect, +.legend-mouseover-inactive path, +.legend-mouseover-inactive circle, +.legend-mouseover-inactive line, +.legend-mouseover-inactive text.apexcharts-yaxis-title-text, +.legend-mouseover-inactive text.apexcharts-yaxis-label { + transition: .15s ease all; + opacity: .2 +} + +.apexcharts-legend-text { + padding-left: 15px; + margin-left: -15px; +} + +.apexcharts-series-collapsed { + opacity: 0 +} + +.apexcharts-tooltip { + border-radius: 5px; + box-shadow: 2px 2px 6px -4px #999; + cursor: default; + font-size: 14px; + left: 62px; + opacity: 0; + pointer-events: none; + position: absolute; + top: 20px; + display: flex; + flex-direction: column; + overflow: hidden; + white-space: nowrap; + z-index: 12; + transition: .15s ease all +} + +.apexcharts-tooltip.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-tooltip.apexcharts-theme-light { + border: 1px solid #e3e3e3; + background: rgba(255, 255, 255, .96) +} + +.apexcharts-tooltip.apexcharts-theme-dark { + color: #fff; + background: rgba(30, 30, 30, .8) +} + +.apexcharts-tooltip * { + font-family: inherit +} + +.apexcharts-tooltip-title { + padding: 6px; + font-size: 15px; + margin-bottom: 4px +} + +.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title { + background: #eceff1; + border-bottom: 1px solid #ddd +} + +.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title { + background: rgba(0, 0, 0, .7); + border-bottom: 1px solid #333 +} + +.apexcharts-tooltip-text-goals-value, +.apexcharts-tooltip-text-y-value, +.apexcharts-tooltip-text-z-value { + display: inline-block; + margin-left: 5px; + font-weight: 600 +} + +.apexcharts-tooltip-text-goals-label:empty, +.apexcharts-tooltip-text-goals-value:empty, +.apexcharts-tooltip-text-y-label:empty, +.apexcharts-tooltip-text-y-value:empty, +.apexcharts-tooltip-text-z-value:empty, +.apexcharts-tooltip-title:empty { + display: none +} + +.apexcharts-tooltip-text-goals-label, +.apexcharts-tooltip-text-goals-value { + padding: 6px 0 5px +} + +.apexcharts-tooltip-goals-group, +.apexcharts-tooltip-text-goals-label, +.apexcharts-tooltip-text-goals-value { + display: flex +} + +.apexcharts-tooltip-text-goals-label:not(:empty), +.apexcharts-tooltip-text-goals-value:not(:empty) { + margin-top: -6px +} + +.apexcharts-tooltip-marker { + width: 12px; + height: 12px; + position: relative; + top: 0; + margin-right: 10px; + border-radius: 50% +} + +.apexcharts-tooltip-series-group { + padding: 0 10px; + display: none; + text-align: left; + justify-content: left; + align-items: center +} + +.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker { + opacity: 1 +} + +.apexcharts-tooltip-series-group.apexcharts-active, +.apexcharts-tooltip-series-group:last-child { + padding-bottom: 4px +} + +.apexcharts-tooltip-y-group { + padding: 6px 0 5px +} + +.apexcharts-custom-tooltip, +.apexcharts-tooltip-box { + padding: 4px 8px +} + +.apexcharts-tooltip-boxPlot { + display: flex; + flex-direction: column-reverse +} + +.apexcharts-tooltip-box>div { + margin: 4px 0 +} + +.apexcharts-tooltip-box span.value { + font-weight: 700 +} + +.apexcharts-tooltip-rangebar { + padding: 5px 8px +} + +.apexcharts-tooltip-rangebar .category { + font-weight: 600; + color: #777 +} + +.apexcharts-tooltip-rangebar .series-name { + font-weight: 700; + display: block; + margin-bottom: 5px +} + +.apexcharts-xaxistooltip, +.apexcharts-yaxistooltip { + opacity: 0; + pointer-events: none; + color: #373d3f; + font-size: 13px; + text-align: center; + border-radius: 2px; + position: absolute; + z-index: 10; + background: #eceff1; + border: 1px solid #90a4ae +} + +.apexcharts-xaxistooltip { + padding: 9px 10px; + transition: .15s ease all +} + +.apexcharts-xaxistooltip.apexcharts-theme-dark { + background: rgba(0, 0, 0, .7); + border: 1px solid rgba(0, 0, 0, .5); + color: #fff +} + +.apexcharts-xaxistooltip:after, +.apexcharts-xaxistooltip:before { + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-xaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-left: -6px +} + +.apexcharts-xaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-left: -7px +} + +.apexcharts-xaxistooltip-bottom:after, +.apexcharts-xaxistooltip-bottom:before { + bottom: 100% +} + +.apexcharts-xaxistooltip-top:after, +.apexcharts-xaxistooltip-top:before { + top: 100% +} + +.apexcharts-xaxistooltip-bottom:after { + border-bottom-color: #eceff1 +} + +.apexcharts-xaxistooltip-bottom:before { + border-bottom-color: #90a4ae +} + +.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after, +.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before { + border-bottom-color: rgba(0, 0, 0, .5) +} + +.apexcharts-xaxistooltip-top:after { + border-top-color: #eceff1 +} + +.apexcharts-xaxistooltip-top:before { + border-top-color: #90a4ae +} + +.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after, +.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before { + border-top-color: rgba(0, 0, 0, .5) +} + +.apexcharts-xaxistooltip.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-yaxistooltip { + padding: 4px 10px +} + +.apexcharts-yaxistooltip.apexcharts-theme-dark { + background: rgba(0, 0, 0, .7); + border: 1px solid rgba(0, 0, 0, .5); + color: #fff +} + +.apexcharts-yaxistooltip:after, +.apexcharts-yaxistooltip:before { + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-yaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-top: -6px +} + +.apexcharts-yaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-top: -7px +} + +.apexcharts-yaxistooltip-left:after, +.apexcharts-yaxistooltip-left:before { + left: 100% +} + +.apexcharts-yaxistooltip-right:after, +.apexcharts-yaxistooltip-right:before { + right: 100% +} + +.apexcharts-yaxistooltip-left:after { + border-left-color: #eceff1 +} + +.apexcharts-yaxistooltip-left:before { + border-left-color: #90a4ae +} + +.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after, +.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before { + border-left-color: rgba(0, 0, 0, .5) +} + +.apexcharts-yaxistooltip-right:after { + border-right-color: #eceff1 +} + +.apexcharts-yaxistooltip-right:before { + border-right-color: #90a4ae +} + +.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after, +.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before { + border-right-color: rgba(0, 0, 0, .5) +} + +.apexcharts-yaxistooltip.apexcharts-active { + opacity: 1 +} + +.apexcharts-yaxistooltip-hidden { + display: none +} + +.apexcharts-xcrosshairs, +.apexcharts-ycrosshairs { + pointer-events: none; + opacity: 0; + transition: .15s ease all +} + +.apexcharts-xcrosshairs.apexcharts-active, +.apexcharts-ycrosshairs.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-ycrosshairs-hidden { + opacity: 0 +} + +.apexcharts-selection-rect { + cursor: move +} + +.svg_select_boundingRect, +.svg_select_points_rot { + pointer-events: none; + opacity: 0; + visibility: hidden +} + +.apexcharts-selection-rect+g .svg_select_boundingRect, +.apexcharts-selection-rect+g .svg_select_points_rot { + opacity: 0; + visibility: hidden +} + +.apexcharts-selection-rect+g .svg_select_points_l, +.apexcharts-selection-rect+g .svg_select_points_r { + cursor: ew-resize; + opacity: 1; + visibility: visible +} + +.svg_select_points { + fill: #efefef; + stroke: #333; + rx: 2 +} + +.apexcharts-svg.apexcharts-zoomable.hovering-zoom { + cursor: crosshair +} + +.apexcharts-svg.apexcharts-zoomable.hovering-pan { + cursor: move +} + +.apexcharts-menu-icon, +.apexcharts-pan-icon, +.apexcharts-reset-icon, +.apexcharts-selection-icon, +.apexcharts-toolbar-custom-icon, +.apexcharts-zoom-icon, +.apexcharts-zoomin-icon, +.apexcharts-zoomout-icon { + cursor: pointer; + width: 20px; + height: 20px; + line-height: 24px; + color: #6e8192; + text-align: center +} + +.apexcharts-menu-icon svg, +.apexcharts-reset-icon svg, +.apexcharts-zoom-icon svg, +.apexcharts-zoomin-icon svg, +.apexcharts-zoomout-icon svg { + fill: #6e8192 +} + +.apexcharts-selection-icon svg { + fill: #444; + transform: scale(.76) +} + +.apexcharts-theme-dark .apexcharts-menu-icon svg, +.apexcharts-theme-dark .apexcharts-pan-icon svg, +.apexcharts-theme-dark .apexcharts-reset-icon svg, +.apexcharts-theme-dark .apexcharts-selection-icon svg, +.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg, +.apexcharts-theme-dark .apexcharts-zoom-icon svg, +.apexcharts-theme-dark .apexcharts-zoomin-icon svg, +.apexcharts-theme-dark .apexcharts-zoomout-icon svg { + fill: #f3f4f5 +} + +.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg, +.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg, +.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg { + fill: #008ffb +} + +.apexcharts-theme-light .apexcharts-menu-icon:hover svg, +.apexcharts-theme-light .apexcharts-reset-icon:hover svg, +.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg, +.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg, +.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg, +.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg { + fill: #333 +} + +.apexcharts-menu-icon, +.apexcharts-selection-icon { + position: relative +} + +.apexcharts-reset-icon { + margin-left: 5px +} + +.apexcharts-menu-icon, +.apexcharts-reset-icon, +.apexcharts-zoom-icon { + transform: scale(.85) +} + +.apexcharts-zoomin-icon, +.apexcharts-zoomout-icon { + transform: scale(.7) +} + +.apexcharts-zoomout-icon { + margin-right: 3px +} + +.apexcharts-pan-icon { + transform: scale(.62); + position: relative; + left: 1px; + top: 0 +} + +.apexcharts-pan-icon svg { + fill: #fff; + stroke: #6e8192; + stroke-width: 2 +} + +.apexcharts-pan-icon.apexcharts-selected svg { + stroke: #008ffb +} + +.apexcharts-pan-icon:not(.apexcharts-selected):hover svg { + stroke: #333 +} + +.apexcharts-toolbar { + position: absolute; + z-index: 11; + max-width: 176px; + text-align: right; + border-radius: 3px; + padding: 0 6px 2px; + display: flex; + justify-content: space-between; + align-items: center +} + +.apexcharts-menu { + background: #fff; + position: absolute; + top: 100%; + border: 1px solid #ddd; + border-radius: 3px; + padding: 3px; + right: 10px; + opacity: 0; + min-width: 110px; + transition: .15s ease all; + pointer-events: none +} + +.apexcharts-menu.apexcharts-menu-open { + opacity: 1; + pointer-events: all; + transition: .15s ease all +} + +.apexcharts-menu-item { + padding: 6px 7px; + font-size: 12px; + cursor: pointer +} + +.apexcharts-theme-light .apexcharts-menu-item:hover { + background: #eee +} + +.apexcharts-theme-dark .apexcharts-menu { + background: rgba(0, 0, 0, .7); + color: #fff +} + +@media screen and (min-width:768px) { + .apexcharts-canvas:hover .apexcharts-toolbar { + opacity: 1 + } +} + +.apexcharts-canvas .apexcharts-element-hidden, +.apexcharts-datalabel.apexcharts-element-hidden, +.apexcharts-hide .apexcharts-series-points { + opacity: 0; +} + +.apexcharts-hidden-element-shown { + opacity: 1; + transition: 0.25s ease all; +} + +.apexcharts-datalabel, +.apexcharts-datalabel-label, +.apexcharts-datalabel-value, +.apexcharts-datalabels, +.apexcharts-pie-label { + cursor: default; + pointer-events: none +} + +.apexcharts-pie-label-delay { + opacity: 0; + animation-name: opaque; + animation-duration: .3s; + animation-fill-mode: forwards; + animation-timing-function: ease +} + +.apexcharts-radialbar-label { + cursor: pointer; +} + +.apexcharts-annotation-rect, +.apexcharts-area-series .apexcharts-area, +.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, +.apexcharts-gridline, +.apexcharts-line, +.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, +.apexcharts-point-annotation-label, +.apexcharts-radar-series path:not(.apexcharts-marker), +.apexcharts-radar-series polygon, +.apexcharts-toolbar svg, +.apexcharts-tooltip .apexcharts-marker, +.apexcharts-xaxis-annotation-label, +.apexcharts-yaxis-annotation-label, +.apexcharts-zoom-rect { + pointer-events: none +} + +.apexcharts-tooltip-active .apexcharts-marker { + transition: .15s ease all +} + +.resize-triggers { + animation: 1ms resizeanim; + visibility: hidden; + opacity: 0; + height: 100%; + width: 100%; + overflow: hidden +} + +.contract-trigger:before, +.resize-triggers, +.resize-triggers>div { + content: " "; + display: block; + position: absolute; + top: 0; + left: 0 +} + +.resize-triggers>div { + height: 100%; + width: 100%; + background: #eee; + overflow: auto +} + +.contract-trigger:before { + overflow: hidden; + width: 200%; + height: 200% +} + +.apexcharts-bar-goals-markers { + pointer-events: none +} + +.apexcharts-bar-shadows { + pointer-events: none +} + +.apexcharts-rangebar-goals-markers { + pointer-events: none +}`;var c=((h=e.opts.chart)===null||h===void 0?void 0:h.nonce)||e.w.config.chart.nonce;c&&o.setAttribute("nonce",c),r?s.prepend(o):n.head.appendChild(o)}var d=e.create(e.w.config.series,{});if(!d)return t(e);e.mount(d).then(function(){typeof e.w.config.chart.events.mounted=="function"&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent("mounted",[e,e.w]),t(d)}).catch(function(u){i(u)})}else i(new Error("Element not found"))})}},{key:"create",value:function(e,t){var i=this,a=this.w;new Qt(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,this.responsive.checkResponsiveConfig(t),a.config.xaxis.convertedCatToNumeric&&new _e(a.config).convertCatToNumericXaxis(a.config,this.ctx),this.el===null||(this.core.setupElements(),a.config.chart.type==="treemap"&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),s.svgWidth===0))return s.animationEnded=!0,null;var r=e;e.forEach(function(u,f){u.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:f}))});var n=de.checkComboSeries(r,a.config.chart.type);s.comboCharts=n.comboCharts,s.comboBarCount=n.comboBarCount;var o=r.every(function(u){return u.data&&u.data.length===0});(r.length===0||o&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Ne(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),a.config.xaxis.type!=="category"&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new de(this).getLargestMarkerSize(),this.dimensions.plotCoords();var h=this.core.xySettings();this.grid.createGridMask();var c=this.core.plotChartType(r,h),d=new He(this);return d.bringForward(),a.config.dataLabels.background.enabled&&d.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:c,xyRatios:h,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:"mount",value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=this,a=i.w;return new Promise(function(s,r){if(i.el===null)return r(new Error("Not enough data to display or target element not found"));(t===null||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Bt(i);var n,o,h=i.grid.drawGrid();if(i.annotations=new _i(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),a.config.grid.position==="back"&&(h&&a.globals.dom.elGraphical.add(h.el),h!=null&&(n=h.elGridBorders)!==null&&n!==void 0&&n.node&&a.globals.dom.elGraphical.add(h.elGridBorders)),Array.isArray(t.elGraph))for(var c=0;c0&&a.globals.memory.methodsToExec.forEach(function(p){p.method(p.params,!1,p.context)}),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)})}},{key:"destroy",value:function(){var e,t;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,e=this.parentResizeHandler,(t=yt.get(e))&&(t.disconnect(),yt.delete(e));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach(function(a,s){a.id===z.escapeString(i)&&Apex._chartInstances.splice(s,1)}),new ei(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],a=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],n=this.w;return n.globals.selection=void 0,e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map(function(o,h){return t.updateHelpers._extendSeries(o,h)})),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,i,a,s,r)}},{key:"updateSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,i)}},{key:"appendSeries",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=this.w.config.series.slice();return a.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,t,i)}},{key:"appendData",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];this.series.resetSeries(e,t)}},{key:"addEventListener",value:function(e,t){this.events.addEventListener(e,t)}},{key:"removeEventListener",value:function(e,t){this.events.removeEventListener(e,t)}},{key:"addXaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(e,t,a)}},{key:"addYaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(e,t,a)}},{key:"addPointAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(e,t,a)}},{key:"clearAnnotations",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:"removeAnnotation",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,i=this;t&&(i=t),i.annotations.removeAnnotation(i,e)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:"getHighestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new ft(this.ctx).getMinYMaxY(e).highestY}},{key:"getLowestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new ft(this.ctx).getMinYMaxY(e).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:"zoomX",value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:"setLocale",value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:"dataURI",value:function(e){return new Qe(this.ctx).dataURI(e)}},{key:"exportToCSV",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return new Qe(this.ctx).exportToCSV(e)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()},150)}},{key:"_windowResizeHandler",value:function(){var e=this.w.config.chart.redrawOnWindowResize;typeof e=="function"&&(e=e()),e&&this._windowResize()}}],[{key:"getChartByID",value:function(e){var t=z.escapeString(e);if(Apex._chartInstances){var i=Apex._chartInstances.filter(function(a){return a.id===t})[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),t=0;t2?s-2:0),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

OPRMAOsPHcgF;;E7(tL?Xclh%AO9io# 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ð-@ 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 QmE`XIAD@o%7xcvl09FY-)&Kwi literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map b/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map new file mode 100644 index 00000000..ea5acc90 --- /dev/null +++ b/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"vue-apexcharts-Nop2JhTm.js","sources":["../../../../../buildchain/node_modules/axios/lib/helpers/bind.js","../../../../../buildchain/node_modules/axios/lib/utils.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/null.js","../../../../../buildchain/node_modules/axios/lib/helpers/toFormData.js","../../../../../buildchain/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/helpers/buildURL.js","../../../../../buildchain/node_modules/axios/lib/core/InterceptorManager.js","../../../../../buildchain/node_modules/axios/lib/defaults/transitional.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/index.js","../../../../../buildchain/node_modules/axios/lib/platform/common/utils.js","../../../../../buildchain/node_modules/axios/lib/platform/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../buildchain/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../buildchain/node_modules/axios/lib/defaults/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/transformData.js","../../../../../buildchain/node_modules/axios/lib/cancel/isCancel.js","../../../../../buildchain/node_modules/axios/lib/cancel/CanceledError.js","../../../../../buildchain/node_modules/axios/lib/core/settle.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseProtocol.js","../../../../../buildchain/node_modules/axios/lib/helpers/speedometer.js","../../../../../buildchain/node_modules/axios/lib/helpers/throttle.js","../../../../../buildchain/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../buildchain/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../buildchain/node_modules/axios/lib/helpers/cookies.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../buildchain/node_modules/axios/lib/helpers/combineURLs.js","../../../../../buildchain/node_modules/axios/lib/core/buildFullPath.js","../../../../../buildchain/node_modules/axios/lib/core/mergeConfig.js","../../../../../buildchain/node_modules/axios/lib/helpers/resolveConfig.js","../../../../../buildchain/node_modules/axios/lib/adapters/xhr.js","../../../../../buildchain/node_modules/axios/lib/helpers/composeSignals.js","../../../../../buildchain/node_modules/axios/lib/helpers/trackStream.js","../../../../../buildchain/node_modules/axios/lib/adapters/fetch.js","../../../../../buildchain/node_modules/axios/lib/adapters/adapters.js","../../../../../buildchain/node_modules/axios/lib/core/dispatchRequest.js","../../../../../buildchain/node_modules/axios/lib/env/data.js","../../../../../buildchain/node_modules/axios/lib/helpers/validator.js","../../../../../buildchain/node_modules/axios/lib/core/Axios.js","../../../../../buildchain/node_modules/axios/lib/cancel/CancelToken.js","../../../../../buildchain/node_modules/axios/lib/helpers/spread.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../buildchain/node_modules/axios/lib/axios.js","../../../../../buildchain/node_modules/apexcharts/dist/apexcharts.min.js","../../../../../buildchain/node_modules/vue-apexcharts/dist/vue-apexcharts.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*!\n * ApexCharts v3.53.0\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===x(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"preciseAddition\",value:function(t,e){var i=(String(t).split(\".\")[1]||\"\").length,a=(String(e).split(\".\")[1]||\"\").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isMsEdge\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"Edge/\");return e>0&&parseInt(t.substring(e+5,t.indexOf(\".\",e)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),m=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return s(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":default:t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a){t.attr({opacity:0}).animate(e,i).attr({opacity:1}).afterAll((function(){a()}))}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){v.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a,s=this.w,r=i.blur,o=i.top,n=i.left,l=i.color,h=i.opacity;if((null===(a=s.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===s.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;var c=t.flood(Array.isArray(l)?l[e]:l,h).composite(t.sourceAlpha,\"in\").offset(n,o).gaussianBlur(r).merge(t.source);return t.blend(t.source,c)}},{key:\"dropShadow\",value:function(t,e){var i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e.top,o=e.left,n=e.blur,l=e.color,h=e.opacity,c=e.noUserSpaceOnUse,d=this.w;if(t.unfilter(!0),v.isMsEdge()&&\"radialBar\"===d.config.chart.type)return t;if((null===(i=d.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=d.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(s)))return t;return l=Array.isArray(l)?l[s]:l,t.filter((function(t){var e=null;e=v.isSafari()||v.isFirefox()||v.isMsEdge()?t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n):t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),w=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var o=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;\"Z\"==o[o.length-1][0]&&o[0].length>2&&(h=[\"L\",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&\"L\"==g[0]&&u.length>2&&\"L\"==u[0]){var f,p,x=r(d),b=r(g),v=r(u);f=i(b,x,e),p=i(b,v,e),s(g,f),g.origPoint=b,n.push(g);var m=a(f,b,.5),y=a(b,p,.5),w=[\"C\",m.x,m.y,y.x,y.y,p.x,p.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push([\"Z\"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,f=void 0===u?null:u,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":f,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n=\"a\");var l=[n,t,e,i,a,s,r,o].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,o=t.stroke,n=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,f=t.className,p=t.shouldClipToGrid,x=void 0===p||p,b=t.bindEventsOnPaths,v=void 0===b||b,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new y(this.ctx),C=new m(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?e=s:(e=r,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[a]:A.config.stroke.dashArray;var z=this.drawPath({d:e,stroke:o,strokeWidth:n,fill:h,fillOpacity:1,classes:f,strokeLinecap:l,strokeDashArray:T});if(z.attr(\"index\",a),x&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,a);else if(A.config.chart.dropShadow.enabled&&k){var X=A.config.chart.dropShadow;S.dropShadow(z,X,a)}v&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:r,pathFrom:s});var E={el:z,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:n,delay:c};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(d(d({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(d(d({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=v.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=v.hexToRgba(i,s));var d=0,g=1,u=1,f=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,f=void 0!==n[3]?n[3]/100:null);var p=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==f&&t.at(f,e,a)})):c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),p){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:x,cy:b,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),k=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0){var u=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/o[e]};if(r.isMultipleYAxis){l=[];for(var f=0;f0&&e.forEach((function(e){var o=[],n=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(o.push(t.series[a]),n.push(i))})),o.length>0&&r.push(a.draw(o,i,n))})),r}}],[{key:\"checkComboSeries\",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e=\"line\"),t.length&&void 0!==t[0].type&&t.forEach((function(t){\"bar\"!==t.type&&\"column\"!==t.type&&\"candlestick\"!==t.type&&\"boxPlot\"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,o,n,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(o=r.annotations)&&void 0!==o&&o.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(n=e)&&void 0!==n&&null!==(l=n.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),A=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=!1,r=this.w;if(this.annoCtx.invertAxis){var o=r.globals.labels;r.config.xaxis.convertedCatToNumeric&&(o=r.globals.categoryLabels);var n=o.indexOf(a),l=r.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(n+1)+\")\");i=l?parseFloat(l.getAttribute(\"y\")):(r.globals.gridHeight/o.length-1)*(n+1)-r.globals.barHeight,void 0!==e.seriesIndex&&r.globals.barHeight&&(i=i-r.globals.barHeight/2*(r.globals.series.length-1)+r.globals.barHeight*e.seriesIndex)}else{var h,c=r.globals.seriesYAxisMap[e.yAxisIndex][0];if(r.config.yaxis[e.yAxisIndex].logarithmic)h=(a=new k(this.annoCtx.ctx).getLogVal(r.config.yaxis[e.yAxisIndex].logBase,a,c))/r.globals.yLogRatio[c];else h=(a-r.globals.minYArr[c])/(r.globals.yRange[c]/r.globals.gridHeight);h>r.globals.gridHeight?(h=r.globals.gridHeight,s=!0):h<0&&(h=0,s=!0),i=r.globals.gridHeight-h,!e.marker||void 0!==e.y&&null!==e.y||(i=0),r.config.yaxis[e.yAxisIndex]&&r.config.yaxis[e.yAxisIndex].reversed&&(i=h)}return\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),{yP:i,clipped:s}}},{key:\"getX1X2\",value:function(t,e){var i,a=\"x1\"===t?e.x:e.x2,s=this.w,r=this.annoCtx.invertAxis?s.globals.minY:s.globals.minX,o=this.annoCtx.invertAxis?s.globals.maxY:s.globals.maxX,n=this.annoCtx.invertAxis?s.globals.yRange[0]:s.globals.xRange,l=!1;return i=this.annoCtx.inversedReversedAxis?(o-a)/(n/s.globals.gridWidth):(a-r)/(n/s.globals.gridWidth),\"category\"!==s.config.xaxis.type&&!s.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||s.globals.dataFormatXNumeric||s.config.chart.sparkline.enabled||(i=this.getStringX(a)),\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),null==a&&e.marker&&(i=s.globals.gridWidth),void 0!==e.seriesIndex&&s.globals.barWidth&&!this.annoCtx.invertAxis&&(i=i-s.globals.barWidth/2*(s.globals.series.length-1)+s.globals.barWidth*e.seriesIndex),i>s.globals.gridWidth?(i=s.globals.gridWidth,l=!0):i<0&&(i=0,l=!0),{x:i,clipped:l}}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),S=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new A(this.annoCtx)}return s(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=r.x,n=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(v.isNumber(o)){if(null===t.x2||void 0===t.x2){if(!n){var d=this.annoCtx.graphics.drawLine(o+t.offsetX,0+t.offsetY,o+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var g=this.helpers.getX1X2(\"x2\",t);if(a=g.x,l=g.clipped,!n||!l){if(a12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(u))).replace(/(^|[^\\\\])h/g,\"$1\"+u);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])m/g,\"$1\"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=v.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),L=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return s(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new C(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;if(v.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(v.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(v.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),P=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new L(this.ctx),f=l;o&&(h=u.xLabelFormat(c,l,f,{i:a,dateFormatter:new C(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new C(this.ctx).formatDate,w:n})));var p,x;e.length>0?(p=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),g=x===p,i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new w(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var m=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&m)&&(h=\"\"),{x:i,text:h,textRect:v,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.xa.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:\"isYAxisHidden\",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new k(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:\"getYAxisForeColor\",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:\"drawYAxisTicks\",value:function(t,e,i,a,s,r,o){var n=this.w,l=new w(this.ctx),h=n.globals.translateY+n.config.yaxis[s].labels.offsetY;if(n.globals.isBarHorizontal?h=0:\"heatmap\"===n.config.chart.type&&(h+=r/2),a.show&&e>0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);o.add(d),h+=r}}}}]),t}(),M=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new A(this.annoCtx),this.axesUtils=new P(this.annoCtx)}return s(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,o=this.helpers.getY1Y2(\"y1\",t),n=o.yP,l=o.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var g=this.annoCtx.graphics.drawLine(0+t.offsetX,n+t.offsetY,this._getYAxisAnnotationWidth(t),n+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(g.node),t.id&&g.node.classList.add(t.id)}}else{if(a=(o=this.helpers.getY1Y2(\"y2\",t)).yP,h=o.clipped,a>n){var u=n;n=a,a=u}if(!l||!h){c=!0;var f=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),n-a,0,t.fillColor,t.opacity,1,t.borderColor,r);f.node.classList.add(\"apexcharts-annotation-rect\"),f.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(f.node),t.id&&f.node.classList.add(t.id)}}if(c){var p=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:p+t.label.offsetX,y:(null!=a?a:n)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),I=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new A(this.annoCtx)}return s(t,[{key:\"addPointAnnotation\",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2(\"x1\",t),s=a.x,r=a.clipped,o=(a=this.helpers.getY1Y2(\"y1\",t)).yP,n=a.clipped;if(v.isNumber(s)&&!n&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,o+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:\"\",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:o+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var g=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});g.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(o+t.customSVG.offsetY,\")\")}),g.node.innerHTML=t.customSVG.SVG,e.appendChild(g.node)}if(t.image.path){var u=t.image.width?t.image.width:20,f=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-u/2,y:o+t.image.offsetY-f/2,width:u,height:f,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&h.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener(\"click\",t.click.bind(this,t))}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var T={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},z=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"\",locales:[T],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),X=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new w(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new A(this),this.xAxisAnnotations=new S(this),this.yAxisAnnotations=new M(this),this.pointsAnnotations=new I(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var I=P.bbox();if(s){var T=this.graphics.drawRect(I.x-m,I.y-C,I.width+m+w,I.height+A+C,f,d||\"transparent\",1,g,p,u);M.insertBefore(T.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-svg\":g,f=i.globals.dom.Paper.image(a);f.size(h,d).move(r,n);var p=i.globals.dom.baseEl.querySelector(u);return p&&p.appendChild(f.node),f}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new z,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=v.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),f=this.helpers.addBackgroundToAnno(u,g);return f&&l.insertBefore(f.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:v.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)\"addText\"!==e.globals.memory.methodsToExec[a].label&&\"addAnnotation\"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=v.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),E=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:\"\",u=l.globals.ttKeyFormatter,f=l.config.tooltip.y.title.formatter,p={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof f&&(g=f(g,p)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new L(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new C(a).formatDate,w:l}));\"function\"==typeof u&&(d=u(d,p)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x=\"\",b=\"\",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var m=new C(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},Y=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'

'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[o].type||\"rangeBar\"===t.w.config.series[o].type?c:\"\".concat(h,\"\"):c)+\"
\"},F=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return v.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"slope\",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+\": \"+t:\"\"},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:\"top\",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:\"straight\"}}}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),d(d({},this.bar()),{},{chart:{animations:{easing:\"linear\",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:7,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=E(d(d({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,o=e.endVal;return Y(d(d({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t):function(t){var e=E(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,o=e.end;return Y(d(d({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=E(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,o=e.end;return Y(d(d({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t)}}}}},{key:\"brush\",value:function(t){return v.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return d(d({},t),{},{plotOptions:d(d({},t.plotOptions),{},{bar:d(d({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return v.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return v.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\"}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+o+\"
\"+(n?\"
\".concat(a[2],': ')+n+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),R=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new z,s=new F(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),o={};if(i&&\"object\"===x(i)){var n,l,h,c,d,g,u,f,p,b,m={};m=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(n=i.plotOptions)&&void 0!==n&&null!==(l=n.bar)&&void 0!==l&&l.isFunnel&&(m=s.funnel()),i.chart.stacked&&\"bar\"===i.chart.type&&(m=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(m=s.brush(m)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(m=s.slope()),i.chart.stacked&&\"100%\"===i.chart.stackType&&(i=s.stacked100(i)),null!==(g=i.plotOptions)&&void 0!==g&&null!==(u=g.bar)&&void 0!==u&&u.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(f=(i=this.checkForCatToNumericXAxis(this.chartType,m,i)).chart.sparkline)&&void 0!==f&&f.enabled||null!==(p=window.Apex.chart)&&void 0!==p&&null!==(b=p.sparkline)&&void 0!==b&&b.enabled)&&(m=s.sparkline(m)),o=v.extend(r,m)}var y=v.extend(o,window.Apex);return r=v.extend(y,i),r=this.handleUserInputErrors(r)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new F(i),o=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new z;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=v.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[v.extend(i.yAxis,t.yaxis)]:t.yaxis=v.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=v.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new z;return t.annotations.yaxis=v.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new z;return t.annotations.xaxis=v.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new z;return t.annotations.points=v.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),D=function(){function t(){i(this,t)}return s(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=v.extend({},t),e.initialSeries=v.clone(t.series),e.lastXAxis=v.clone(e.initialConfig.xaxis),e.lastYAxis=v.clone(e.initialConfig.yaxis),e}}]),t}(),H=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(){var t=new R(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new D).init(t)}}}]),t}(),O=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");w.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),w.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color),o||(o=\"#fff\",console.warn(\"undefined color - ApexCharts\"));var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=v.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=v.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),\"gradient\"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\",g=\"pattern\".concat(e.globals.cuid).concat(t.seriesNumber+1).concat(d);-1===this.patternIDs.indexOf(g)&&(this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=v.getOpacityFromRGBA(g));var f=void 0===r.gradient.opacityTo?i:Array.isArray(r.gradient.opacityTo)?r.gradient.opacityTo[s]:r.gradient.opacityTo;if(void 0===r.gradient.gradientToColors||0===r.gradient.gradientToColors.length)o=\"dark\"===r.gradient.shade?h.shadeColor(-1*parseFloat(r.gradient.shadeIntensity),e.indexOf(\"rgb\")>-1?v.rgb2hex(e):e):h.shadeColor(parseFloat(r.gradient.shadeIntensity),e.indexOf(\"rgb\")>-1?v.rgb2hex(e):e);else if(r.gradient.gradientToColors[n.seriesNumber]){var p=r.gradient.gradientToColors[n.seriesNumber];o=p,p.indexOf(\"rgba\")>-1&&(f=v.getOpacityFromRGBA(p))}else o=e;if(r.gradient.gradientFrom&&(g=r.gradient.gradientFrom),r.gradient.gradientTo&&(o=r.gradient.gradientTo),r.gradient.inverseColors){var x=g;g=o,o=x}return g.indexOf(\"rgb\")>-1&&(g=v.rgb2hex(g)),o.indexOf(\"rgb\")>-1&&(o=v.rgb2hex(o)),l.drawGradient(c,g,o,u,f,n.size,r.gradient.stops,r.gradient.colorStops,s)}}]),t}(),N=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new w(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){v.isNumber(l.y[g])?f+=\" w\".concat(v.randomId()):f=\"apexcharts-nullpoint\";var p=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(p.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(p.pointStrokeColor=o.config.series[n].data[u].strokeColor)),void 0!==a&&(p.pSize=a),(l.x[g]<-o.globals.markers.largestSize||l.x[g]>o.globals.gridWidth+o.globals.markers.largestSize||l.y[g]<-o.globals.markers.largestSize||l.y[g]>o.globals.gridHeight+o.globals.markers.largestSize)&&(p.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],p)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",p.pSize),new y(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,o=void 0===r?null:r,n=t.size,l=void 0===n?null:n,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,g=this.getMarkerStyle(i),u=null===l?d.globals.markers.size[i]:l,f=d.config.markers;return null!==s&&f.discrete.length&&f.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(g.pointStrokeColor=t.strokeColor,g.pointFillColor=t.fillColor,u=t.size,g.pointShape=t.shape)})),{pSize:null===o?u:o,pRadius:null!==o?o:f.radius,pointStrokeWidth:null!==c?c:Array.isArray(f.strokeWidth)?f.strokeWidth[i]:f.strokeWidth,pointStrokeColor:g.pointStrokeColor,pointFillColor:g.pointFillColor,shape:g.pointShape||(Array.isArray(f.shape)?f.shape[i]:f.shape),class:e,pointStrokeOpacity:Array.isArray(f.strokeOpacity)?f.strokeOpacity[i]:f.strokeOpacity,pointStrokeDashArray:Array.isArray(f.strokeDashArray)?f.strokeDashArray[i]:f.strokeDashArray,pointFillOpacity:Array.isArray(f.fillOpacity)?f.fillOpacity[i]:f.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new w(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),W=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new w(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(u=f.maxBubbleRadius)}var p=o.x[c],x=o.y[c];if(u=u||0,null!==x&&void 0!==a.globals.series[r][d]||(g=!1),g){var b=this.drawPoint(p,x,u,r,d,e);h.add(b)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r){var o=this.w,n=a,l=new m(this.ctx),h=new y(this.ctx),c=new O(this.ctx),d=new N(this.ctx),g=new w(this.ctx),u=d.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:n,dataPointIndex:s,radius:\"bubble\"===o.config.chart.type||o.globals.comboCharts&&o.config.series[a]&&\"bubble\"===o.config.series[a].type?i:null}),f=c.fillPath({seriesNumber:a,dataPointIndex:s,color:u.pointFillColor,patternUnits:\"objectBoundingBox\",value:o.globals.series[a][r]}),p=g.drawMarker(t,e,u);if(o.config.series[n].data[s]&&o.config.series[n].data[s].fillColor&&(f=o.config.series[n].data[s].fillColor),p.attr({fill:f}),o.config.chart.dropShadow.enabled){var x=o.config.chart.dropShadow;h.dropShadow(p,x,a)}if(!this.initialAnim||o.globals.dataChanged||o.globals.resized)o.globals.animationEnded=!0;else{var b=o.config.chart.animations.speed;l.animateMarker(p,b,o.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(p)}),100)}))}return p.attr({rel:s,j:s,index:a,\"default-marker-size\":u.pSize}),h.setSelectionFilter(p,a,s),d.addEvents(p),p.node.classList.add(\"apexcharts-marker\"),p}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),B=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"dataLabelsCorrection\",value:function(t,e,i,a,s,r,o){var n=this.w,l=!1,h=new w(this.ctx).getTextRects(i,o),c=h.width,d=h.height;e<0&&(e=0),e>n.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var f=n.globals.dataLabelsRects[a][u];(t>f.x+f.width||e>f.y+f.height||e+de.globals.gridWidth+b.textRects.width+30)&&(n=\"\");var v=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(v=e.globals.dataLabels.style.colors[o]),\"function\"==typeof v&&(v=v({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(v=g);var m=d.offsetX,k=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(m=0,k=0),e.globals.isSlopeChart&&(0!==o&&(m=-2*d.offsetX+5),0!==o&&o!==e.config.series[r].data.length-1&&(m=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+m,y:s+k,foreColor:v,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"})).attr({class:p||\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var A=d.dropShadow;new y(this.ctx).dropShadow(x,A)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}return x}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new w(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:\"#fff\",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new y(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=v.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"highlightSeries\",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(i.getAttribute(\"data:realIndex\"),10),s=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"),r=null,o=null,n=null;if(e.globals.axisCharts||\"radialBar\"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(a,\"']\")),o=e.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(a,\"']\"));var l=e.globals.seriesYAxisReverseMap[a];n=e.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(l,\"']\"))}else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"']\"));else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"'] path\"));for(var h=0;h=t.from&&(r0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),V=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new k(this.ctx)}return s(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new G(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new G(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(v.parseNumber(t[e].data[r][4])):this.twoDSeries.push(v.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new C(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push(\"series-\"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var n=[],l=f(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);n[i]||(n[i]=[]),n[i].push(s.seriesNames[e])})),s.seriesGroups=n;for(var h=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return v.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new F(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),j=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"getSvgString\",value:function(){var t=this;return new Promise((function(e){var i=t.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=t.w.globals.dom.Paper.svg(),o=t.w.globals.dom.Paper.node.cloneNode(!0);1!==s&&t.scaleSvgNode(o,s),t.convertImagesToBase64(o).then((function(){r=(new XMLSerializer).serializeToString(o),e(r.replace(/ /g,\" \"))}))}))}},{key:\"convertImagesToBase64\",value:function(t){var e=this,i=t.getElementsByTagName(\"image\"),a=Array.from(i).map((function(t){var i=t.getAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\");return i&&!i.startsWith(\"data:\")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",e)})).catch((function(t){console.error(\"Error converting image to base64:\",t)})):Promise.resolve()}));return Promise.all(a)}},{key:\"getBase64FromUrl\",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin=\"Anonymous\",a.onload=function(){var t=document.createElement(\"canvas\");t.width=a.width,t.height=a.height,t.getContext(\"2d\").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){var t=this;return new Promise((function(e){t.cleanup(),t.getSvgString().then((function(t){var i=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});e(URL.createObjectURL(i))}))}))}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:\"#fff\",n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s),e.getSvgString().then((function(t){var e=\"data:image/svg+xml,\"+encodeURIComponent(t),a=new Image;a.crossOrigin=\"anonymous\",a.onload=function(){if(n.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},a.src=e}))}))}},{key:\"exportToSVG\",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,\".svg\")}))}},{key:\"exportToPng\",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h,c,d=[],g=[],u=\"\",p=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),x=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):\"datetime\"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():v.isNumber(t)?t:t.split(r).join(\"\")},b=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},m=Math.max.apply(Math,f(i.map((function(t){return t.data?t.data.length:0})))),y=new V(this.ctx),w=new P(this.ctx),k=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new G(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=w.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?\"nullvalue\":(Array.isArray(i)&&(i=i.join(\" \")),v.isNumber(i)?i:i.split(r).join(\"\"))},A=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||f(Array(m)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new w(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,f=l.xaxisForeColors||this.xaxisForeColors,p=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/Math.min(y,v-1),b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:p,fontSize:g,fontFamily:u,foreColor:Array.isArray(f)?t&&d.config.xaxis.convertedCatToNumeric?f[d.globals.minX+s-1]:f[s]:f,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new w(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new w(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new w(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2-2,e.gridWidth+a+n+o+4,e.gridHeight+a+4,0,\"#fff\");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d0&&\"datetime\"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0){var l=i.globals.isBarHorizontal||\"on\"!==i.config.xaxis.tickPlacement||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1;i.globals.isXNumeric&&(l=i.globals.xAxisScale.result.length-1);for(var h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),\"datetime\"===i.config.xaxis.type)h=this.xaxisLabels[g].position,c=((null===(f=this.xaxisLabels[g+1])||void 0===f?void 0:f.position)||i.globals.gridWidth)-this.xaxisLabels[g].position;this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}}}]),t}(),q=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[o],a=Math.max((h.svgHeight-100)/15,2)),v.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,g=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(g=h.multiAxisTickAmount,d=!0),g=\"dataPoints\"===g?h.dataPoints-1:Math.abs(Math.round(g)),(t===Number.MIN_VALUE&&0===e||!v.isNumber(t)&&!v.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=v.isNumber(i.min)?i.min:0,e=v.isNumber(i.max)?i.max:t+g,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var u=e;e=t,t=u}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var f=[];g<1&&(g=1);var p=g,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/p,m=b,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(b=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var S=x/p;if(d)if(c)if(0!=v.mod(x,b)){var C=v.getGCD(b,S);b=S/C<10?C:S}else 0==v.mod(b,S)?b=S:(S=b,d=!1);else b=S;else if(c)0==v.mod(x,b)?S=b:b=S;else if(0==v.mod(x,b))S=b;else{S=x/(p=Math.ceil(x/b));var L=v.getGCD(x,b);x/La&&(t=e-b*g,t+=b*Math.floor((P-t)/b))}else if(s)if(d)e=t+b*p;else{var M=e;e=b*Math.ceil(e/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(e=t+b*g,e+=b*Math.ceil((M-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*p;T0&&t16&&v.getPrimeFactors(p).length<2&&p++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&p>x&&(p=x,b=Math.round(x/p)),p>a&&(!d&&!c||i.forceNiceScale)){var z=v.getPrimeFactors(p),X=z.length-1,E=p;t:for(var Y=0;YW);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),o=[];if(t===e)return{result:o=[t],niceMin:o[0],niceMax:o[o.length-1]};\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var n=t;i>=0;)o.push(n),n=v.preciseAddition(n,s),i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&v.isNumber(i)&&e!==Number.MAX_VALUE&&v.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(t,e,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,g=c,u=d;if(e.chart.stacked)!function(){var t=i.seriesX[a[0]],s=[],r=[],f=[];n.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),f.push(t.map((function(){return Number.MIN_VALUE})))}));for(var p=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:\"axis-\".concat(o),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,n.forEach((function(t,a){if(e.series[c].group===t)for(var o=0;o=0?r[a][o]+=n:f[a][o]+=n,s[a][o]+=n,g=Math.min(g,n),u=Math.max(u,n)}}))),\"bar\"!==l&&\"column\"!==l||i.barGroups.push(h)},x=0;x1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var g,u=null===(g=r.brushSource)||void 0===g?void 0:g.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=u&&u.enabled&&null!=u&&u.autoScaleYaxis)&&(d=!0)}for(var f=t;fx&&r.seriesX[f][b]>s.xaxis.max;b--);}for(var m=x;m<=b&&mh[f][m]&&h[f][m]<0&&(n=h[f][m])}else r.hasNullValues=!0}\"bar\"!==p&&\"column\"!==p||(n<0&&o<0&&(o=0,i=Math.max(i,0)),n===Number.MIN_VALUE&&(n=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if(\"dataPoints\"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=t.maxX-t.minX;s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],o=t.minX-1;o0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var o=0;o0?a[i][o]+=parseFloat(e.series[r][o])+1e-4:s[i][o]+=parseFloat(e.series[r][o]))}}))})),Object.entries(a).forEach((function(t){var i=u(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),$=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,\"bottom\"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new P(e)}return s(t,[{key:\"drawYaxis\",value:function(t){var e=this,i=this.w,a=new w(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\"+i.globals.translateYAxisX[t]+\", 0)\"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:\"apexcharts-yaxis-texts-g\"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.yLabelFormatters[t],u=i.globals.yAxisScale[t].result.slice();u=this.axesUtils.checkForReversedLabels(t,u);var f=\"\";if(i.config.yaxis[t].labels.show){var p=i.globals.translateY+i.config.yaxis[t].labels.offsetY;i.globals.isBarHorizontal?p=0:\"heatmap\"===i.config.chart.type&&(p-=d/2),p+=parseInt(i.config.yaxis[t].labels.style.fontSize,10)/3;for(var x=function(l){var x=u[l];x=g(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var m=\"end\";i.config.yaxis[t].opposite&&(m=\"start\"),\"left\"===i.config.yaxis[t].labels.align?m=\"start\":\"center\"===i.config.yaxis[t].labels.align?m=\"middle\":\"right\"===i.config.yaxis[t].labels.align&&(m=\"end\");var y=e.axesUtils.getYAxisForeColor(s.colors,t),w=v.listToArray(i.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-label tspan\"))).map((function(t){return t.textContent})),k=a.drawText({x:b,y:p,text:w.indexOf(x)>=0?\"\":x,textAnchor:m,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(y)?y[l]:y,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \"+s.cssClass});l===c&&(f=k),h.add(k);var A=document.createElementNS(i.globals.SVGNS,\"title\");if(A.textContent=Array.isArray(x)?x.join(\" \"):x,k.node.appendChild(A),0!==i.config.yaxis[t].labels.rotate){var S=a.rotateAroundCenter(f.node),C=a.rotateAroundCenter(k.node);k.node.setAttribute(\"transform\",\"rotate(\".concat(i.config.yaxis[t].labels.rotate,\" \").concat(S.x,\" \").concat(C.y,\")\"))}p+=d},b=c;b>=0;b--)x(b)}if(void 0!==i.config.yaxis[t].title.text){var m=a.group({class:\"apexcharts-yaxis-title\"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var k=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});m.add(k),l.add(m)}var A=i.config.yaxis[t].axisBorder,S=31+A.offsetX;if(i.config.yaxis[t].opposite&&(S=-31-A.offsetX),A.show){var C=a.drawLine(S,i.globals.translateY+A.offsetY-2,S,i.globals.gridHeight+i.globals.translateY+A.offsetY+2,A.color,0,A.width);l.add(C)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(S,c,A,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new w(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var f=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,f,g,this.drawnLabels,this.xaxisFontSize);f=p.x,u=p.text,this.drawnLabels.push(p.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:f,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,\"title\");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new w(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new w(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new w(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=v.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=v.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),J=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=v.bind(this.documentEvent,this)}return s(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=v.extend(T,i);this.w.globals.locale=a.options}}]),t}(),K=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new _(this.ctx,e),l=new $(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),tt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new w(this.ctx),i=new y(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,f=s.blur,p=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(b=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine());var k=t.globals.gridHeight;(!v.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!v.isNumber(A)||A<0)&&(A=0),m.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:b,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:g,top:u,blur:f,color:p,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new w(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),et=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new R({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=v.clone(i.globals.initialConfig);n.series=v.clone(i.config.series);var l=k.extendArrayProps(r,n,i);t=v.extend(l,t),t=v.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h0&&\"function\"==typeof i.config.colors[0]&&(i.globals.colors=i.config.series.map((function(t,a){var s=i.config.colors[a];return s||(s=i.config.colors[0]),\"function\"==typeof s?(e.isColorFn=!0,s({value:i.globals.axisCharts?i.globals.series[a][0]?i.globals.series[a][0]:0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:i})):s})))),i.globals.seriesColors.map((function(t,e){t&&(i.globals.colors[e]=t)})),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var o=i.config.theme.monochrome.color,n=1/(r/i.config.theme.monochrome.shadeIntensity),l=i.config.theme.monochrome.shadeTo,h=0,c=0;c2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getDatalabelsRect\",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,o){var n;n=e.globals.series[r][o],a=e.config.dataLabels.formatter(n,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:o,w:e}),i.push(a)}))}));var a=v.getLargestStringFromArr(i),s=new w(this.dCtx.ctx),r=e.config.dataLabels.style,o=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*o.width,height:o.height}}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,f(a));i=e[a.indexOf(s)]}return i}}]),t}(),rt=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=v.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new L(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new C(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new C(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new w(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=v.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new w(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new w(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new w(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,n)))||void 0===a?void 0:a.length)?t:e}),d),u=g=c(g,n);if(void 0!==g&&0!==g.length||(g=l.niceMax),e.globals.isBarHorizontal){a=0;var f=e.globals.labels.slice();g=v.getLargestStringFromArr(f),g=c(g,{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var p=new w(t.dCtx.ctx),x=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),b=p.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=b;g!==u&&(m=p.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>b.width?h:m.width>b.width?m.width:b.width)+a,height:m.height>b.height?m.height:b.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new w(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new P(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),nt=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},r=i.chart.type,o=0,n=s(r)?i.series.length:1;a.comboBarCount>0&&(n=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(n-=1)})),i.chart.stacked&&(n=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&n>0&&0!==h){var c,d;h<=3&&(h=a.dataPoints),c=h/t,a.minXDiff&&a.minXDiff/c>0&&(d=a.minXDiff/c),d>t/2&&(d/=2),(o=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(o=1),a.barPadForNumericAxis=o}return o}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new P(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),lt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new st(this),this.dimYAxis=new ot(this),this.dimXAxis=new rt(this),this.dimGrid=new nt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,f(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=u(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||\"treemap\"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case\"right\":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new $(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight-i.grid.padding.top-i.grid.padding.bottom;var n=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(n,e.gridHeight)-i.grid.padding.left-i.grid.padding.right,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),ht=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n margin-right: 1px;\\n }\\n\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\");return a.appendChild(r),a}},{key:\"getLegendDimensions\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\"),e=t.offsetWidth;return{clwh:t.offsetHeight,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new w(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"getSeriesAfterCollapsing\",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=v.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],o={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(o),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(o),a.collapsedSeriesIndices.push(e);var n=a.risingSeries.indexOf(e);a.risingSeries.splice(n,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:\"hideSeries\",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,o=0;o0){for(var r=0;r1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"createLegendMarker\",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement(\"span\");s.classList.add(\"apexcharts-legend-marker\");var r=a.config.legend.markers.shape||a.config.markers.shape,o=r;Array.isArray(r)&&(o=r[e]);var n=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),g=s.style;if(g.height=2*(n+c)+\"px\",g.width=2*(n+c)+\"px\",g.left=l+\"px\",g.top=h+\"px\",a.config.legend.markers.customHTML)g.background=\"transparent\",g.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var u=new N(this.ctx).getMarkerConfig({cssClass:\"apexcharts-legend-marker apexcharts-marker apexcharts-marker-\".concat(o),seriesIndex:e,strokeWidth:c,size:n}),f=SVG(s).size(\"100%\",\"100%\"),p=new w(this.ctx).drawMarker(0,0,d(d({},u),{},{pointFillColor:Array.isArray(i)?i[e]:u.pointFillColor,shape:o}));SVG.select(\".apexcharts-legend-marker.apexcharts-marker\").members.forEach((function(t){t.node.classList.contains(\"apexcharts-marker-triangle\")?t.node.style.transform=\"translate(50%, 45%)\":t.node.style.transform=\"translate(50%, 50%)\"})),f.add(p)}return s}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.config.legend.markers.fillColors?e.config.legend.markers.fillColors.slice():e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h,c=o(a[l],{seriesIndex:l,w:e}),d=!1,g=!1;if(e.globals.collapsedSeries.length>0)for(var u=0;u0)for(var f=0;f0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendDimensions(),i=new lt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new G(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new G(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),dt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;lthis.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:\"executeMouseWheelZoom\",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,o,n=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+n*c;r=d-(s=.5*c)/2,o=d+s/2}else r=l-(s=1.5*c)/2,o=h+s/2;r=Math.max(r,i.globals.initialMinX),o=Math.min(o,i.globals.initialMaxX);var g=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(o-r0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),w.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),w.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,o,n,l=i.gridRect.getBoundingClientRect(),h=r.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(h.left-l.left)*s.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(h.right-l.left)*s.invertedYRatio,o=0,n=1):(t=a.globals.xAxisScale.niceMin+(h.left-l.left)*s.xRatio,e=a.globals.xAxisScale.niceMin+(h.right-l.left)*s.xRatio,o=a.globals.yAxisScale[0].niceMin+(l.bottom-h.bottom)*s.yRatio[0],n=a.globals.yAxisScale[0].niceMax-(h.top-l.top)*s.yRatio[0]);var c={xaxis:{min:t,max:e},yaxis:{min:o,max:n}};a.config.chart.events.selection(i.ctx,c),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,c)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=v.clone(a.globals.initialConfig.yaxis),f=v.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(f={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),o){var p=o.getBeforeZoomRange(f,u);p&&(f=p.xaxis?p.xaxis:f,u=p.yaxis?p.yaxis:u)}var x={xaxis:f};a.config.chart.group||(x.yaxis=u),s.ctx.updateHelpers._updateOptions(x,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(f,u)}else if(a.globals.selectionEnabled){var b,m=null;b={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(m=v.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=g[e],m[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:b,yaxis:m})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=v.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),a}(dt),ut=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var f=Math.round(g/h),p=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/h),f-=1);var x=null,b=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);x=(b=this.closestInMultiArray(k,A,m,y)).index,f=b.j,null!==x&&(m=r.globals.seriesXvalues[x],f=(b=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=p:r.globals.capturedDataPointIndex=f,{capturedSeries:x,j:r.globals.isBarHorizontal?p:f,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,n=i)}))})),-1!==n){var c=a[r][n],d=Math.abs(e-c);o=r,a.forEach((function(t,i){var a=Math.abs(e-t[n]);a<=d&&(d=a,o=i)}))}return{index:o,j:n}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=f(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getPathFromPoint\",value:function(t,e){var i=Number(t.getAttribute(\"cx\")),a=Number(t.getAttribute(\"cy\")),s=t.getAttribute(\"shape\");return new w(this.ctx).getMarkerPath(i,a,s,e)}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==f&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==f?f:\"\");if(o&&p[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?p[0].parentNode.style.display=\"none\":p[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(p[0].parentNode.style.display=\"none\")}},{key:\"toggleActiveInactiveSeries\",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var a=i.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group-\".concat(e));a&&(a.classList.add(\"apexcharts-active\"),a.style.display=i.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new L(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new C(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),pt=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&w.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&w.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new w(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0){var u=g.getAttribute(\"shape\"),f=l.getMarkerPath(s,r,u,1.5*c);g.setAttribute(\"d\",f)}this.moveXCrosshairs(s),n.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray,n=new G(this.ctx),l=new w(this.ctx);e=n.getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var h=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var c=i.tooltipUtil.getAllMarkers();if(null!==c)for(var d=0;d0){var b=l.getMarkerPath(s,u,p,h);c[d].setAttribute(\"d\",b)}else c[d].setAttribute(\"d\",\"\")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new G(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));o||\"number\"!=typeof e||(o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var n=o?parseFloat(o.getAttribute(\"cx\")):0,l=o?parseFloat(o.getAttribute(\"cy\")):0,h=o?parseFloat(o.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains(\"apexcharts-candlestick-area\")||o.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),xt=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new pt(e)}return s(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new w(this.ctx),i=new N(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=f(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute(\"d\",a)}else t[e].setAttribute(\"d\",\"M0,0\")}}}]),t}(),bt=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&\"rangeBar\"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var f=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-f.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-f.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=v.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var u=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10);if(r.globals.isMultipleYAxis?r.config.yaxis[u]&&r.config.yaxis[u].reversed:r.config.yaxis[0].reversed,h+o.tooltipRect.ttWidth>r.globals.gridWidth?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var f=o.getElGrid().getBoundingClientRect();c=o.e.clientY-f.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,o=this.ttCtx,n=0,l=0,h=0,c=0,d=0,g=i.target.classList;if(g.contains(\"apexcharts-bar-area\")||g.contains(\"apexcharts-candlestick-area\")||g.contains(\"apexcharts-boxPlot-area\")||g.contains(\"apexcharts-rangebar-area\")){var u=i.target,f=u.getBoundingClientRect(),p=a.elGrid.getBoundingClientRect(),x=f.height;d=f.height;var b=f.width,v=parseInt(u.getAttribute(\"cx\"),10),m=parseInt(u.getAttribute(\"cy\"),10);c=parseFloat(u.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(u.getAttribute(\"j\"),10),n=parseInt(u.parentNode.getAttribute(\"rel\"),10)-1;var w=u.getAttribute(\"data-range-y1\"),k=u.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?v-b/2:e.isVerticalGroupedRangeBar?v+b/2:v-o.dataPointsDividedWidth+b/2},S=function(){return m-o.dataPointsDividedHeight+x/2-o.tooltipRect.ttHeight/2};o.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:n,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!o.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-p.left+15,h=S()):(l=A(),h=i.clientY-p.top-o.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=v)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,o=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&o.length>0){var n=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=o[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],g=r.maxYArr[h]-r.minYArr[h],u=r.minYArr[h]+(g-d);s.config.yaxis[t].reversed&&(u=r.maxYArr[h]-(g-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=n(u),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),mt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new ut(this),this.tooltipLabels=new ft(this),this.tooltipPosition=new pt(this),this.marker=new xt(this),this.intersect=new bt(this),this.axesTooltip=new vt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new _(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\",\"apexcharts-tooltip-series-group-\".concat(r)),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip(e);if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new G(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=[];r.config.chart.group&&(g=this.ctx.getSyncedCharts());var u=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var f=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&f.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),u&&!this.showOnIntersect||g.length>1)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;xl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new w(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(i),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var M=S.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new w(this.ctx),D=S.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var H=0;H0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=h*A)),k){g=g+d.height/2-b/2-2}var C=e.globals.series[i][a]<0,L=n;switch(this.barCtx.isReversed&&(L=n+(C?c:-c)),p.position){case\"center\":u=k?C?L-c/2+m:L+c/2-m:C?L-c/2+d.height/2+m:L+c/2+d.height/2-m;break;case\"bottom\":u=k?C?L-c+m:L+c-m:C?L-c+d.height+b+m:L+c-d.height/2+b-m;break;case\"top\":u=k?C?L+m:L-m:C?L-d.height/2-m:L+d.height+m}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var P=new w(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),f.fontSize);r=C?L-P.height/2-m-x.offsetY+18:L+P.height+m+x.offsetY-18;var M=S;o=y+(e.globals.isXNumeric?-h*e.globals.barGroups.length/2:e.globals.barGroups.length*h/2-(e.globals.barGroups.length-1)*h-M)+x.offsetX}return e.config.chart.stacked||(u<0?u=0+b:u+d.height/3>e.globals.gridHeight&&(u=e.globals.gridHeight-b)),{bcx:l,bcy:n,dataLabelsX:g,dataLabelsY:u,totalDataLabelsX:o,totalDataLabelsY:r,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.bcy,n=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,g=t.dataLabelsConfig,u=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,p=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var v,m,y=o-(this.barCtx.isRangeBar?0:b)+n/2+h.height/2+x-3,k=\"start\",A=e.globals.series[a][s]<0,S=i;switch(this.barCtx.isReversed&&(S=i+(A?-l:l),k=A?\"start\":\"end\"),u.position){case\"center\":c=A?S+l/2-p:Math.max(h.width/2,S-l/2)+p;break;case\"bottom\":c=A?S+l-d-p:S-l+d+p;break;case\"top\":c=A?S-d-p:S-d+p}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var C=new w(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),g.fontSize);A?(v=S-d-p-f.offsetX,k=\"end\"):v=S+p+f.offsetX+(this.barCtx.isReversed?-(l+d):d),m=y-h.height/2+C.height/2+f.offsetY+d}return e.config.chart.stacked||(\"start\"===g.textAnchor?c-h.width<0?c=A?h.width+d:d:c+h.width>e.globals.gridWidth&&(c=A?e.globals.gridWidth-d:e.globals.gridWidth-h.width-d):\"middle\"===g.textAnchor?c-h.width/2<0?c=h.width/2+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width/2-d):\"end\"===g.textAnchor&&(c<1?c=h.width+d:c+1>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d))),{bcx:i,bcy:o,dataLabelsX:c,dataLabelsY:y,totalDataLabelsX:v,totalDataLabelsY:m,totalDataLabelsAnchor:k}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,o=t.textRects,n=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,g=\"rotate(0)\";\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(e,\", \").concat(i,\")\"));var u=new B(this.barCtx.ctx),f=new w(this.barCtx.ctx),p=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=f.group({class:\"apexcharts-data-labels\",transform:g});var v=\"\";void 0!==a&&(v=p(a,d(d({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v=\"\");var m=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===y&&(h.textAnchor=m?\"end\":\"start\"),\"center\"===y&&(h.textAnchor=\"middle\"),\"bottom\"===y&&(h.textAnchor=m?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)lMath.abs(l)&&(v=\"\"):o.height/1.6>Math.abs(n)&&(v=\"\"));var k=d({},h);this.barCtx.isHorizontal&&a<0&&(\"start\"===h.textAnchor?k.textAnchor=\"end\":\"end\"===h.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:e,y:i,text:v,i:s,j:r,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,o=t.barTotalDataLabelsConfig;this.w;var n,l=new w(this.barCtx.ctx);return o.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(n=l.drawText({x:e,y:i,foreColor:o.style.color,text:a,textAnchor:r,fontFamily:o.style.fontFamily,fontSize:o.style.fontSize,fontWeight:o.style.fontWeight})),n}}]),t}(),wt=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"initializeStackedPrevVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:\"initializeStackedXYVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,o,n,l,h=this.w,c=this.barCtx.ctx.fill,d=null,g=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(d=a.color)}));return null!==(s=h.config.series[e].data[i])&&void 0!==s&&s.fillColor&&(d=h.config.series[e].data[i].fillColor),c.fillPath({seriesNumber:this.barCtx.barOptions.distributed?g:a,dataPointIndex:i,color:d,value:t[e][i],fillConfig:null===(r=h.config.series[e].data[i])||void 0===r?void 0:r.fill,fillType:null!==(o=h.config.series[e].data[i])&&void 0!==o&&null!==(n=o.fill)&&void 0!==n&&n.type?null===(l=h.config.series[e].data[i])||void 0===l?void 0:l.fill.type:Array.isArray(h.config.fill.type)?h.config.fill.type[a]:h.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"shouldApplyRadius\",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&\"last\"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new w(this.barCtx.ctx),c=new G(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new w(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,f=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(f=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var p=o/2,x=f+p,b=f+u-p;s+=.001-p,r+=.001+p;var v=g.move(x,s),m=g.move(x,s),y=g.line(b,s);if(d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,c,!1)),v=v+g.line(x,r)+g.line(b,r)+g.line(b,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),m=m+g.line(x,s)+y+y+y+y+y+g.line(x,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).yArrj.push(r-p),k.yArrjF.push(Math.abs(s-r+o)),k.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:m}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new w(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,f=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,f=a+d.config.series[l].data[c].barHeightOffset);var p=o/2,x=u+p,b=u+f-p;s+=.001-p,r+=.001+p;var v=g.move(s,x),m=g.move(s,x);d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,c,!1));var y=g.line(s,b);if(v=v+g.line(r,x)+g.line(r,b)+y+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),m=m+g.line(s,x)+y+y+y+y+y+g.line(s,x)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).xArrj.push(r+p),k.xArrjF.push(Math.abs(s-r)),k.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:m}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s,r){var n=this,l=this.w,h=[],c=function(a,s){var l;h.push((o(l={},t,\"x\"===t?n.getXForValue(a,e,!1):n.getYForValue(a,i,r,!1)),o(l,\"attrs\",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var g=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,u={strokeHeight:\"x\"===t?0:l.globals.markers.size[a],strokeWidth:\"x\"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(g[a])?g[a][0]:g[a]};c(l.globals.seriesRangeStart[a][s],u),c(l.globals.seriesRangeEnd[a][s],d(d({},u),{},{strokeColor:Array.isArray(g[a])?g[a][1]:g[a]}))}return h}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new w(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=n.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=n.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,o=e.x1,n=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=n+i.barHeight,g=new w(this.barCtx.ctx),u=new v,f=g.move(o,d)+g.line(r,d)+g.line(l,c)+g.line(h,c)+g.line(o,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\");return g.drawPath({d:f,fill:u.shadeColor(.5,v.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadows\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,o=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),kt=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new G(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]),this.columnGroupIndices=[];var o=r.getBarSeriesIndices(),n=new k(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new wt(this)}return s(t,[{key:\"draw\",value:function(t,e){var i=this.w,a=new w(this.ctx),s=new k(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var o=0,n=0;o0&&(this.visibleI=this.visibleI+1);var A=0,S=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var C=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var L=this.barHelpers.initialPositions();f=L.y,A=L.barHeight,h=L.yDivision,g=L.zeroW,u=L.x,S=L.barWidth,l=L.xDivision,c=L.zeroH,this.horizontal||x.push(u+S/2);var P=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b});i.globals.delayedElements.push({el:P.node}),P.node.classList.add(\"apexcharts-element-hidden\");var M=a.group({class:\"apexcharts-bar-goals-markers\"}),I=a.group({class:\"apexcharts-bar-shadows\"});i.globals.delayedElements.push({el:I.node}),I.node.classList.add(\"apexcharts-element-hidden\");for(var T=0;T0){var F=this.barHelpers.drawBarShadow({color:\"string\"==typeof Y&&-1===(null==Y?void 0:Y.indexOf(\"url\"))?Y:v.hexToRgba(i.globals.colors[o]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:X});F&&I.add(F)}this.pathArr.push(X);var R=this.barHelpers.drawGoalLine({barXPosition:X.barXPosition,barYPosition:X.barYPosition,goalX:X.goalX,goalY:X.goalY,barHeight:A,barWidth:S});R&&M.add(R),f=X.y,u=X.x,T>0&&x.push(u+S/2),p.push(f),this.renderSeries({realIndex:b,pathFill:Y,j:T,i:o,columnGroupIndex:m,pathFrom:X.pathFrom,pathTo:X.pathTo,strokeWidth:z,elSeries:y,x:u,y:f,series:t,barHeight:Math.abs(X.barHeight?X.barHeight:A),barWidth:Math.abs(X.barWidth?X.barWidth:S),elDataLabelsWrap:P,elGoalsMarkers:M,elBarShadows:I,visibleSeries:this.visibleI,type:\"bar\"})}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=p,r.add(y)}return r}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.columnGroupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,f=t.y2,p=t.series,x=t.barHeight,b=t.barWidth,v=t.barXPosition,m=t.barYPosition,k=t.elDataLabelsWrap,A=t.elGoalsMarkers,S=t.elBarShadows,C=t.visibleSeries,L=t.type,P=this.w,M=new w(this.ctx);if(!a){var I=\"function\"==typeof P.globals.stroke.colors[e]?function(t){var e,i=P.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=\"\"),\"function\"==typeof e)?e({value:P.globals.series[t][s],dataPointIndex:s,w:P}):e}(e):P.globals.stroke.colors[e];a=this.barOptions.distributed?P.globals.stroke.colors[s]:I}P.config.series[r].data[s]&&P.config.series[r].data[s].strokeColor&&(a=P.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var T=s/P.config.chart.animations.animateGradually.delay*(P.config.chart.animations.speed/P.globals.dataPoints)/2.4,z=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:P.config.stroke.lineCap,fill:i,animationDelay:T,initialSpeed:P.config.chart.animations.speed,dataChangeSpeed:P.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(L,\"-area\")});z.attr(\"clip-path\",\"url(#gridRectMask\".concat(P.globals.cuid,\")\"));var X=P.config.forecastDataPoints;X.count>0&&s>=P.globals.dataPoints-X.count&&(z.node.setAttribute(\"stroke-dasharray\",X.dashArray),z.node.setAttribute(\"stroke-width\",X.strokeWidth),z.node.setAttribute(\"fill-opacity\",X.fillOpacity)),void 0!==u&&void 0!==f&&(z.attr(\"data-range-y1\",u),z.attr(\"data-range-y2\",f)),new y(this.ctx).setSelectionFilter(z,e,s),c.add(z);var E=new yt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:f,i:r,j:s,series:p,realIndex:e,columnGroupIndex:o,barHeight:x,barWidth:b,barXPosition:v,barYPosition:m,renderedPath:z,visibleSeries:C});return null!==E.dataLabels&&k.add(E.dataLabels),E.totalDataLabels&&k.add(E.totalDataLabels),c.add(k),A&&c.add(A),S&&c.add(S),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,f=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*f}else e=n+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][g],r)-r)/2),o=this.barHelpers.getXForValue(this.series[d][g],r);var p=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1:r,x:o,y:n,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,g),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.translationsIndex,u=i.i,f=i.j,p=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:f,realIndex:d,barWidth:o});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:u,j:f}),v=b.nonZeroColumns,m=b.zeroEncounters;v>0&&(o=this.seriesLen*o/v),e=a+o*this.visibleI,e-=o*m}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[u][f],n,g);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:d,i:u,j:f,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:f,i:u,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,n,u,f,g),barXPosition:e,barWidth:o}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,o=a;return r.globals.seriesX[a].length||(o=r.globals.maxValsInArrayIndex),r.globals.seriesX[o][s]&&(e=(r.globals.seriesX[o][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),At=function(t){l(a,t);var e=r(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this,a=this.w;this.graphics=new w(this.ctx),this.bar=new kt(this.ctx,this.xyRatios);var s=new k(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),o=0,n=0,l=function(s,l){var h=void 0,c=void 0,g=void 0,u=void 0,f=a.globals.comboCharts?e[s]:s,p=i.barHelpers.getGroupIndex(f),x=p.groupIndex,b=p.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var m=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[f][0],w=f),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:\"apexcharts-series\",seriesName:v.escapeString(a.globals.seriesNames[f]),rel:s+1,\"data:realIndex\":f});i.ctx.series.addCollapsedClassToSeries(k,f);var A=i.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":f}),S=i.graphics.group({class:\"apexcharts-bar-goals-markers\"}),C=0,L=0,P=i.initialPositions(o,n,h,c,g,u,w);n=P.y,C=P.barHeight,c=P.yDivision,u=P.zeroW,o=P.x,L=P.barWidth,h=P.xDivision,g=P.zeroH,a.globals.barHeight=C,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return g})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var M=0;M1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf(\"%\")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[o]:h.globals.gridHeight-this.baseLineY[o],t=h.globals.padHorizontal+(i-l)/2}var g=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:n/g,barWidth:l/g,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+l*a,f=i.i,p=i.j,x=i.realIndex,b=i.translationsIndex,v=0,m=0;m0){var w=r;this.groupCtx.prevXVal[y-1][p]<0?w=this.series[f][p]>=0?this.groupCtx.prevX[y-1][p]+v-2*(this.isReversed?v:0):this.groupCtx.prevX[y-1][p]:this.groupCtx.prevXVal[y-1][p]>=0&&(w=this.series[f][p]>=0?this.groupCtx.prevX[y-1][p]:this.groupCtx.prevX[y-1][p]-v+2*(this.isReversed?v:0)),e=w}else e=r;o=null===this.series[f][p]?e:e+this.series[f][p]/this.invertedYRatio-2*(this.isReversed?this.series[f][p]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:f,j:p,w:g});return this.barHelpers.barBackground({j:p,i:f,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,f,p,b),barXPosition:e,barYPosition:u,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc,f=e.realIndex,p=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[f][g];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,v=i+n*r,m=0,y=0;y0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[f-1][g]===c.globals.seriesX[f][g]){var k,A,S,C=Math.min(this.yRatio.length+1,f+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L=0?S-m+2*(this.isReversed?m:0):S;break}if((null===(T=this.groupCtx.prevYVal[w-M])||void 0===T?void 0:T[g])>=0){A=this.series[d][g]>=0?S:S+m-2*(this.isReversed?m:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:A}else b=o;a=this.series[d][g]?b-this.series[d][g]/this.yRatio[p]+2*(this.isReversed?this.series[d][g]/this.yRatio[p]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:v,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[p],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:v,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:v,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(kt),St=function(t){l(a,t);var e=r(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e,i){var a=this,s=this.w,r=new w(this.ctx),o=s.globals.comboCharts?e:s.config.chart.type,n=new O(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var l=new k(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:\"apexcharts-\".concat(o,\"-series apexcharts-plot-series\")}),c=function(e){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[e].type;var o,l,c,g,u=void 0,f=void 0,p=[],x=[],b=s.globals.comboCharts?i[e]:e,m=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:\"apexcharts-series\",seriesName:v.escapeString(s.globals.seriesNames[b]),rel:e+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var S=a.barHelpers.initialPositions();f=S.y,w=S.barHeight,l=S.yDivision,g=S.zeroW,u=S.x,k=S.barWidth,o=S.xDivision,c=S.zeroH,x.push(u+k/2);for(var C=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),L=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,v={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:u,y:f,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(d(d({},v),{},{yDivision:l,barHeight:w,zeroW:g})):a.drawVerticalBoxPaths(d(d({},v),{},{xDivision:o,barWidth:k,zeroH:c})),f=h.y,u=h.x,i>0&&x.push(u+k/2),p.push(f),h.pathTo.forEach((function(o,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=n.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:o,strokeWidth:r,elSeries:y,x:u,y:f,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:C,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;Pb.c&&(d=!1);var y=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(y=r,k=r):(y=r-y/p,k=r-k/p,v=r-b.h/p,m=r-b.l/p,A=r-b.m/p);var C=l.move(S,r),L=l.move(S+s/2,y);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,y)+l.line(S+s/2,y)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,y)+l.line(S+s,y)+l.line(S+s,A)+l.line(S,A)+l.line(S,y+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,m)+l.line(S+s-s/4,m)+l.line(S+s/4,m)+l.line(S+s/2,m)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+\"z\"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,y)+l.line(S+s/2,y)+l.line(S+s/2,m)+l.line(S+s/2,y)+l.line(S,y)+l.line(S,k-o/2)],L+=l.move(S,y),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?f:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new w(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,f=this.getOHLCValue(u,c),p=r,x=r,b=Math.min(f.o,f.c),v=Math.max(f.o,f.c),m=f.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,p=r+f.h/g,x=r+f.l/g,m=r+f.m/g);var k=l.move(r,y),A=l.move(b,y+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,y)+l.line(b,y+s/2)+l.line(p,y+s/2)+l.line(p,y+s/2-s/4)+l.line(p,y+s/2+s/4)+l.line(p,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(m,y+s)+l.line(m,y)+l.line(b+o/2,y),l.move(m,y)+l.line(m,y+s)+l.line(v,y+s)+l.line(v,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(v,y+s/2)+l.line(v,y)+l.line(m,y)+\"z\"],A+=l.move(b,y),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:y,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),a}(kt),Ct=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new v;if(s.config.plotOptions[t].enableShades)if(\"dark\"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,n.color);l=v.hexToRgba(v.isColorHex(c)?c:v.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,n.color);l=v.hexToRgba(v.isColorHex(d)?d:v.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,f(a.globals.series[e])),c=Math.max.apply(Math,f(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new w(this.ctx),c=new B(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,f=i+g,p=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:f,y:p,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new w(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),Lt=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new Ct(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:\"draw\",value:function(t){var e=this.w,i=new w(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:v.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new y(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=m.x,S=m.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),g=i.centerY+r*Math.sin(l),u=i.centerX+r*Math.cos(c),f=i.centerY+r*Math.sin(c),p=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,n),b=s>180?1:0,m=[\"M\",d,g,\"A\",r,r,0,b,1,u,f];return e=\"donut\"===i.chartType?[].concat(m,[\"L\",p.x,p.y,\"A\",i.donutSize,i.donutSize,0,b,0,x.x,x.y,\"L\",d,g,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(m,[\"L\",i.centerX,i.centerY,\"L\",d,g]).join(\" \"):[].concat(m).join(\" \"),o.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new q(this.ctx),a=new w(this.ctx),s=new Pt(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new w(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n0&&(p=e.getPreviousPath(o));for(var x=0;x=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var f=h.dropShadow;s.dropShadow(u,f)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new w(this.ctx),a=new O(this.ctx),s=new y(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;if(this.radialDataLabels.show){var f=e.globals.dom.Paper.select(\".apexcharts-datalabels-group\").members[0];u=this.renderInnerDataLabels(f,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})}\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var x=p?t.series.length-1:0;p?x>=0:x100?100:t.series[x])/100,C=Math.round(this.totalAngle*S)+this.startAngle,L=void 0;e.globals.dataChanged&&(A=this.startAngle,L=Math.round(this.totalAngle*v.negToZero(e.globals.previousPaths[x])/100)+A),Math.abs(C)+Math.abs(k)>=360&&(C-=.01),Math.abs(L)+Math.abs(A)>=360&&(L-=.01);var P=C-k,M=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,I=i.drawPath({d:\"\",stroke:m,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+x,strokeDashArray:M});if(w.setAttrs(I.node,{\"data:angle\":P,\"data:value\":t.series[x]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,x)}if(s.setSelectionFilter(I,0,x),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:x}),this.barLabels.enabled){var z=v.polarToCartesian(t.centerX,t.centerY,t.size,k),X=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),E=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||E.push(\"apexcharts-no-click\");var Y=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;Y||(Y=e.config.chart.foreColor);var F=z.x+this.barLabels.offsetX,R=z.y+this.barLabels.offsetY,D=i.drawText({x:F,y:R,text:X,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:Y,cssClass:E.join(\" \")});D.on(\"click\",this.onBarLabelClick),D.attr({rel:x+1}),0!==k&&D.attr({\"transform-origin\":\"\".concat(F,\" \").concat(R),transform:\"rotate(\".concat(k,\" 0 0)\")}),b.add(D)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:C,startAngle:k,prevEndAngle:L,prevStartAngle:A,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new w(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new O(this.ctx),o=v.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),o}(Mt),zt=function(t){l(a,t);var e=r(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this.w,a=new w(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),r=0;r0&&(this.visibleI=this.visibleI+1);var x=0,b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[u][0],m=u);var y=this.barHelpers.initialPositions();g=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,o=y.xDivision,n=y.yDivision,l=y.zeroH;for(var k=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),A=a.group({class:\"apexcharts-rangebar-goals-markers\"}),S=0;S0}));return this.isHorizontal?(a=g.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+n*this.visibleI+h*b,v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(f)>-1&&(a=(n=d.barHeight/u.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+n*(this.visibleI+u.indexOf(f))+h*b)):(b>-1&&!g.globals.timescaleLabels.length&&(s=g.config.plotOptions.bar.rangeBarGroupRows?o+c*b:o+l*this.visibleI+c*b),v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(f)>-1&&(s=(l=d.barWidth/u.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+u.indexOf(f))+c*b)),{barYPosition:a,barXPosition:s,barHeight:n,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,o=t.zeroH,n=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,g=this.yRatio[d],u=this.getRangeValue(c,h),f=Math.min(u.start,u.end),p=Math.max(u.start,u.end);void 0===this.series[l][h]||null===this.series[l][h]?f=o:(f=o-f/g,p=o-p/g);var x=Math.abs(p-f),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:f,y2:p,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:n});if(n.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=v.x,r=v.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:u.start<0&&u.end<0?f:p,goalY:this.barHelpers.getGoalValues(\"y\",null,o,l,h,d),barXPosition:r}}},{key:\"preventBarOverflow\",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,g=this.preventBarOverflow(l+a/this.invertedYRatio),u=this.preventBarOverflow(l+s/this.invertedYRatio),f=this.getRangeValue(c,d),p=Math.abs(u-g),x=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:g,x2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:p,x:f.start<0&&f.end<0?g:u,goalX:this.barHelpers.getGoalValues(\"x\",l,null,c,d),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(kt),Xt=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new k(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(v.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a,s=t.i,r=t.realIndex,o=t.series,n=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=o[s])||void 0===a?void 0:a[0]))n=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-o[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?o[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===o[s][0])for(var g=s-1;g>=0;g--)if(null!==o[g][0]&&void 0!==o[g][0]){n=l=this.lineCtx.prevSeriesY[g][0];break}return{prevY:n,lineYPosition:l}}}]),t}(),Et=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Rt(i,a),r=1,o=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=o;h++)s=(t[Math.min(o,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([s||0,r[h]*s||0]);return n},Yt=function(t){var e=Et(t),i=t[1],a=t[0],s=[],r=e[1],o=e[0];s.push(a,[a[0]+o[0],a[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var n=2,l=e.length;n1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Rt(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Dt=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new W(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Xt(this),this.markers=new N(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:\"draw\",value:function(t,e,i,a){var s,r=this.w,o=new w(this.ctx),n=r.globals.comboCharts?e:r.config.chart.type,l=o.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),h=new k(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],g=0;g1?u:0;this._initSerieVariables(t,g,u);var p=[],x=[],b=[],v=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,u),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(v=(r.globals.seriesX[u][0]-r.globals.minX)/this.xRatio),b.push(v);var m,y=v,A=void 0,S=y,C=this.zeroY,L=this.zeroY;C=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:t,prevY:C,lineYPosition:0,translationsIndex:f}).prevY,\"monotoneCubic\"===r.config.stroke.curve&&null===t[g][0]?p.push(null):p.push(C),m=C;\"rangeArea\"===n&&(A=L=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:a,prevY:L,lineYPosition:0,translationsIndex:f}).prevY,x.push(null!==p[0]?L:null));var P=this._calculatePathsFrom({type:n,series:t,i:g,realIndex:u,translationsIndex:f,prevX:S,prevY:C,prevY2:L}),M=[p[0]],I=[x[0]],T={type:n,series:t,realIndex:u,translationsIndex:f,i:g,x:v,y:1,pX:y,pY:m,pathsFrom:P,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:p,y2Arrj:x,seriesRangeEnd:a},z=this._iterateOverDataPoints(d(d({},T),{},{iterations:\"rangeArea\"===n?t[g].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===n){for(var X=this._calculatePathsFrom({series:a,i:g,realIndex:u,prevX:S,prevY:L}),E=this._iterateOverDataPoints(d(d({},T),{},{series:a,xArrj:[v],yArrj:M,y2Arrj:I,pY:A,areaPaths:z.areaPaths,pathsFrom:X,iterations:a[g].length-1,isRangeStart:!1})),Y=z.linePaths.length/2,F=0;F=0;R--)l.add(c[R]);else for(var D=0;D1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:v.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var o=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":o,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,g=t.prevY2,u=this.w,f=new w(this.ctx);if(null===o[n][0]){for(var p=0;p0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,o=new w(this.ctx),n=new O(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&\"rangeArea\"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=o.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var g=o.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var u={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(e)};if(\"area\"===e)for(var f=n.fillPath({seriesNumber:i}),p=0;p0&&\"rangeArea\"!==e){var S=o.renderPaths(k);S.node.setAttribute(\"stroke-dasharray\",l.dashArray),l.strokeWidth&&S.node.setAttribute(\"stroke-width\",l.strokeWidth),this.elSeries.add(S),S.attr(\"clip-path\",\"url(#forecastMask\".concat(r.globals.cuid,\")\")),A.attr(\"clip-path\",\"url(#nonForecastMask\".concat(r.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i,a=this,s=t.type,r=t.series,o=t.iterations,n=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,g=t.pX,u=t.pY,f=t.pathsFrom,p=t.linePaths,x=t.areaPaths,b=t.seriesIndex,m=t.lineYPosition,y=t.xArrj,k=t.yArrj,A=t.y2Arrj,S=t.isRangeStart,C=t.seriesRangeEnd,L=this.w,P=new w(this.ctx),M=this.yRatio,I=f.prevY,T=f.linePath,z=f.areaPath,X=f.pathFromLine,E=f.pathFromArea,Y=v.isNumber(L.globals.minYArr[n])?L.globals.minYArr[n]:L.globals.minY;o||(o=L.globals.dataPoints>1?L.globals.dataPoints-1:L.globals.dataPoints);var F=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},R=d,D=L.config.chart.stacked&&!L.globals.comboCharts||L.config.chart.stacked&&L.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[n])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[n])||void 0===i?void 0:i.type)),H=L.config.stroke.curve;Array.isArray(H)&&(H=Array.isArray(b)?H[b[h]]:H[h]);for(var O,N=0,W=0;W0&&L.globals.collapsedSeries.length0;e--){if(!(L.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][W+1]}else m=this.zeroY;else m=this.zeroY;B?d=F(Y,m):(d=F(r[h][W+1],m),\"rangeArea\"===s&&(R=F(C[h][W+1],m))),y.push(c),!B||\"smooth\"!==L.config.stroke.curve&&\"monotoneCubic\"!==L.config.stroke.curve?(k.push(d),A.push(R)):(k.push(null),A.push(null));var V=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:n,i:h,j:W,prevY:I}),j=this._createPaths({type:s,series:r,i:h,realIndex:n,j:W,x:c,y:d,y2:R,xArrj:y,yArrj:k,y2Arrj:A,pX:g,pY:u,pathState:N,segmentStartX:O,linePath:T,areaPath:z,linePaths:p,areaPaths:x,curve:H,isRangeStart:S});x=j.areaPaths,p=j.linePaths,g=j.pX,u=j.pY,N=j.pathState,O=j.segmentStartX,z=j.areaPath,T=j.linePath,!this.appendPathFrom||\"monotoneCubic\"===H&&\"rangeArea\"===s||(X+=P.line(c,this.zeroY),E+=P.line(c,this.zeroY)),this.handleNullDataPoints(r,V,h,W,n),this._handleMarkersAndLabels({type:s,pointsPos:V,i:h,j:W,realIndex:n,isRangeStart:S})}return{yArrj:k,xArrj:y,pathFromArea:E,areaPaths:x,pathFromLine:X,linePaths:p,linePath:T,areaPath:z}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new B(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s=t.j,r=t.x,o=t.y,n=t.xArrj,l=t.yArrj,h=t.y2,c=t.y2Arrj,d=t.pX,g=t.pY,u=t.pathState,f=t.segmentStartX,p=t.linePath,x=t.areaPath,b=t.linePaths,v=t.areaPaths,m=t.curve,y=t.isRangeStart;this.w;var k,A=new w(this.ctx),S=this.areaBottomY,C=\"rangeArea\"===e,L=\"rangeArea\"===e&&y;switch(m){case\"monotoneCubic\":var P=y?l:c;switch(u){case 0:if(null===P[s+1])break;u=1;case 1:if(!(C?n.length===i[a].length:s===i[a].length-2))break;case 2:var M=y?n:n.slice().reverse(),I=y?P:P.slice().reverse(),T=(k=I,M.map((function(t,e){return[t,k[e]]})).filter((function(t){return null!==t[1]}))),z=T.length>1?Yt(T):T,X=[];C&&(L?v=T:X=v.reverse());var E=0,Y=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e}(t),i=Y,a=(Y+=t.length)-1;L?p=A.move(T[i][0],T[i][1])+e:C?p=A.move(X[i][0],X[i][1])+A.line(T[i][0],T[i][1])+e+A.line(X[a][0],X[a][1]):(p=A.move(T[i][0],T[i][1])+e,x=p+A.line(T[a][0],S)+A.line(T[i][0],S)+\"z\",v.push(x)),b.push(p)})),C&&E>1&&!L){var F=b.slice(E).reverse();b.splice(E),F.forEach((function(t){return b.push(t)}))}u=0}break;case\"smooth\":var R=.35*(r-d);if(null===i[a][s])u=0;else switch(u){case 0:if(f=d,p=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s=i[a].length-2&&(L&&(p+=A.curve(r,o,r,o,r,h)+A.move(r,h)),x+=A.curve(r,o,r,o,r,S)+A.line(f,S)+\"z\",b.push(p),v.push(x),u=-1)}}d=r,g=o;break;default:var O=function(t,e,i){var a=[];switch(t){case\"stepline\":a=A.line(e,null,\"H\")+A.line(null,i,\"V\");break;case\"linestep\":a=A.line(null,i,\"V\")+A.line(e,null,\"H\");break;case\"straight\":a=A.line(e,i)}return a};if(null===i[a][s])u=0;else switch(u){case 0:if(f=d,p=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s=i[a].length-2&&(L&&(p+=A.line(r,h)),x+=A.line(r,S)+A.line(f,S)+\"z\",b.push(p),v.push(x),u=-1)}}d=r,g=o}return{linePaths:b,areaPaths:v,pX:d,pY:g,pathState:u,segmentStartX:f,linePath:p,areaPath:x}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.strokeWidth-r.config.markers.strokeWidth/2;o>0||(o=0);var n=this.markers.plotChartMarkers(e,s,a+1,o,!0);null!==n&&this.elPointsMain.add(n)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var o=new w(this.ctx),n=o.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=o.getTextBasedOnMaxWidth({text:t,maxWidth:n,fontSize:e});return t.length!==l.length&&n/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new m(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Wt=86400,Bt=10/Wt,Gt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:\"calculateTimeScaleTicks\",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new C(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var o=s.getTimeUnitsfromTimestamp(t,e,this.utc),n=a.globals.gridWidth/r,l=n/24,h=l/60,c=h/60,g=Math.floor(24*r),u=Math.floor(1440*r),f=Math.floor(r*Wt),p=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),v={minMillisecond:o.minMillisecond,minSecond:o.minSecond,minMinute:o.minMinute,minHour:o.minHour,minDate:o.minDate,minMonth:o.minMonth,minYear:o.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:n,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:f,numberOfMinutes:u,numberOfHours:g,numberOfDays:p,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?d(d({},e),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?d(d({},e),{},{value:t.value}):\"minute\"===t.unit?d(d({},e),{},{value:t.value,minute:t.value}):\"second\"===t.unit?d(d({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var o=!1,n=!1;switch(i.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0)}if(\"hours\"===i.tickInterval||\"minutes_fives\"===i.tickInterval||\"seconds_tens\"===i.tickInterval||\"seconds_fives\"===i.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new lt(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new C(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:v.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:v.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=v.monthMod(a+1);var g=s+d,u=v.monthMod(n),f=n;0===n&&(c=\"year\",f=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:f,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:v.monthMod(a)});for(var p=n+1,x=l,b=0,m=1;bo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=v.monthMod(e.minMonth),n=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:v.monthMod(u),day:h});for(var f=d,p=0;pn.determineDaysOfMonths(e+1,s)&&(p=1,e+=1),{month:e,date:p}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,f=u;60===d&&(g=0,f=u=e.minHour);var p=i;f>=24&&(f=0,p+=1,l=\"day\");var x=h(p,a).month;x=c(p,x),this.timeScaleArray.push({position:g,value:u,unit:l,day:p,hour:f,year:s,month:v.monthMod(x)}),f++;for(var b=g,m=0;m=24)f=0,l=\"day\",x=h(p+=1,x).month,x=c(p,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===f?p:f;this.timeScaleArray.push({position:b,value:w,unit:l,hour:f,day:p,year:y,month:v.monthMod(x)}),f++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,f=n,p=s,x=(60-i-e/1e3)*h,b=0;b=60&&(d=0,24===(p+=1)&&(p=0)),this.timeScaleArray.push({position:x,value:d,unit:\"minute\",hour:p,minute:d,day:g,year:this._getYear(f,u,0),month:v.monthMod(u)}),x+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,f=n,p=s,x=(1e3-e)/1e3*l,b=0;b=60&&(c=0,++d>=60&&(d=0,24===++p&&(p=0))),this.timeScaleArray.push({position:x,value:c,unit:\"second\",hour:p,minute:d,second:c,day:g,year:this._getYear(f,u,0),month:v.monthMod(u)}),x+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new C(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new w(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Vt=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].indexOf(i)>-1,t.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].indexOf(i)>-1,t.isBarHorizontal=(\"bar\"===e.chart.type||\"rangeBar\"===e.chart.type||\"boxPlot\"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=\".apexcharts\"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),w.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(e.chart.offsetX,\", \").concat(e.chart.offsetY,\")\")}),t.dom.Paper.node.style.background=\"dark\"!==e.theme.mode||e.chart.background?\"light\"!==e.theme.mode||e.chart.background?e.chart.background:\"#fff\":\"#424242\",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\"),w.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]},p=void 0!==a.chart.type?a.chart.type:\"line\",x=null,b=0;s.series.forEach((function(e,a){var f=t[a].type||p;switch(f){case\"column\":case\"bar\":h.series.push(e),h.i.push(a),i.globals.columnSeries=h;break;case\"area\":o.series.push(e),o.i.push(a);break;case\"line\":r.series.push(e),r.i.push(a);break;case\"scatter\":n.series.push(e),n.i.push(a);break;case\"bubble\":l.series.push(e),l.i.push(a);break;case\"candlestick\":c.series.push(e),c.i.push(a);break;case\"boxPlot\":d.series.push(e),d.i.push(a);break;case\"rangeBar\":g.series.push(e),g.i.push(a);break;case\"rangeArea\":u.series.push(s.seriesRangeStart[a]),u.seriesRangeEnd.push(s.seriesRangeEnd[a]),u.i.push(a);break;case\"heatmap\":case\"treemap\":case\"pie\":case\"donut\":case\"polarArea\":case\"radialBar\":case\"radar\":x=f;break;default:console.warn(\"You have specified an unrecognized series type (\",f,\").\")}p!==f&&\"scatter\"!==f&&b++})),b>0&&(null!==x&&console.warn(\"Chart or series type \",x,\" can not appear with other chart or series types.\"),h.series.length>0&&a.plotOptions.bar.horizontal&&(b-=h.length,h={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"))),s.comboCharts||(s.comboCharts=b>0);var v=new Dt(this.ctx,e),m=new St(this.ctx,e);this.ctx.pie=new Mt(this.ctx);var y=new Tt(this.ctx);this.ctx.rangeBar=new zt(this.ctx,e);var w=new It(this.ctx),A=[];if(s.comboCharts){var S,C,L=new k(this.ctx);if(o.series.length>0)(S=A).push.apply(S,f(L.drawSeriesByGroup(o,s.areaGroups,\"area\",v)));if(h.series.length>0)if(i.config.chart.stacked){var P=new At(this.ctx,e);A.push(P.draw(h.series,h.i))}else this.ctx.bar=new kt(this.ctx,e),A.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&A.push(v.draw(u.series,\"rangeArea\",u.i,u.seriesRangeEnd)),r.series.length>0)(C=A).push.apply(C,f(L.drawSeriesByGroup(r,s.lineGroups,\"line\",v)));if(c.series.length>0&&A.push(m.draw(c.series,\"candlestick\",c.i)),d.series.length>0&&A.push(m.draw(d.series,\"boxPlot\",d.i)),g.series.length>0&&A.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var M=new Dt(this.ctx,e,!0);A.push(M.draw(n.series,\"scatter\",n.i))}if(l.series.length>0){var I=new Dt(this.ctx,e,!0);A.push(I.draw(l.series,\"bubble\",l.i))}}else switch(a.chart.type){case\"line\":A=v.draw(s.series,\"line\");break;case\"area\":A=v.draw(s.series,\"area\");break;case\"bar\":if(a.chart.stacked)A=new At(this.ctx,e).draw(s.series);else this.ctx.bar=new kt(this.ctx,e),A=this.ctx.bar.draw(s.series);break;case\"candlestick\":A=new St(this.ctx,e).draw(s.series,\"candlestick\");break;case\"boxPlot\":A=new St(this.ctx,e).draw(s.series,a.chart.type);break;case\"rangeBar\":A=this.ctx.rangeBar.draw(s.series);break;case\"rangeArea\":A=v.draw(s.seriesRangeStart,\"rangeArea\",void 0,s.seriesRangeEnd);break;case\"heatmap\":A=new Lt(this.ctx,e).draw(s.series);break;case\"treemap\":A=new Nt(this.ctx,e).draw(s.series);break;case\"pie\":case\"donut\":case\"polarArea\":A=this.ctx.pie.draw(s.series);break;case\"radialBar\":A=y.draw(s.series);break;case\"radar\":A=w.draw(s.series);break;default:A=v.draw(s.series)}return A}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;e.chart.width||(e.chart.width=\"100%\"),e.chart.height||(e.chart.height=\"auto\"),t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=v.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===a?v.isNumber(i[0])&&(0===i[0].width&&(i=v.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):\"px\"!==a&&\"\"!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=String(e.chart.height).toString().split(/[0-9]+/g).pop();if(\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===s){var r=v.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),w.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),\"%\"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+\"px\"}t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};w.setAttrs(t.dom.elGraphical.node,i)}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,\"top\"!==t.config.legend.position&&\"bottom\"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ct(this.ctx).legendHelpers.getLegendDimensions().clwh+10);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=v.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).indexOf(\"%\")>0||(e.dom.elWrap.style.height=l+\"px\",w.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+\"px\")}},{key:\"coreCalculations\",value:function(){new Z(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new D,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if(\"back\"===e.config.xaxis.crosshairs.position)new tt(this.ctx).drawXCrosshairs();if(\"back\"===e.config.yaxis[0].crosshairs.position)new tt(this.ctx).drawYCrosshairs();if(\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Gt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new k(this.ctx).getCalculatedRatios()}return t}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),jt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"_updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(o){var n=[e.ctx];s&&(n=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(n=[e.ctx],e.ctx.w.globals.isExecCalled=!1),n.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&\"object\"===x(t)&&(s.config=new R(t),t=k.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=v.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?v.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?v.clone(t.yaxis):[],h.globals.initialConfig=v.extend({},h.config),h.globals.initialSeries=v.clone(h.config.series),t.series))){for(var c=0;c2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=v.clone(o.config.series),o.globals.initialSeries=v.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,e){var i=this.w,a=i.config.series[e];return d(d({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new w(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new F(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Ht=\"undefined\"!=typeof window?window:void 0,Ot=function(t,e){var i=(void 0!==this?this:t).SVG=function(t){if(i.supported)return t=new i.Doc(t),i.parser.draw||i.prepare(),t};if(i.ns=\"http://www.w3.org/2000/svg\",i.xmlns=\"http://www.w3.org/2000/xmlns/\",i.xlink=\"http://www.w3.org/1999/xlink\",i.svgjs=\"http://svgjs.dev\",i.supported=!0,!i.supported)return!1;i.did=1e3,i.eid=function(t){return\"Svgjs\"+c(t)+i.did++},i.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},i.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var a=t.length-1;a>=0;a--)if(t[a])for(var s in e)t[a].prototype[s]=e[s];i.Set&&i.Set.inherit&&i.Set.inherit()},i.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,i.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&i.extend(e,t.extend),t.construct&&i.extend(t.parent||i.Container,t.construct),e},i.adopt=function(e){return e?e.instance?e.instance:((a=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new i.Nested:new i.Doc:\"linearGradient\"==e.nodeName?new i.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new i.Gradient(\"radial\"):i[c(e.nodeName)]?new(i[c(e.nodeName)]):new i.Element(e)).type=e.nodeName,a.node=e,e.instance=a,a instanceof i.Doc&&a.namespace().defs(),a.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),a):null;var a},i.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],a=(t?new i.Doc(t):i.adopt(e.documentElement).nested()).size(2,0);i.parser={body:t||e.documentElement,draw:a.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:a.polyline().node,path:a.path().node,native:i.create(\"svg\")}},i.parser={native:i.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){i.parser.draw||i.prepare()}),!1),i.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},i.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new i.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),i.Color.test=function(t){return t+=\"\",i.regex.isHex.test(t)||i.regex.isRgb.test(t)},i.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},i.Color.isColor=function(t){return i.Color.isRgb(t)||i.Color.test(t)},i.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},i.extend(i.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),i.PointArray=function(t,e){i.Array.call(this,t,e||[[0,0]])},i.PointArray.prototype=new i.Array,i.PointArray.prototype.constructor=i.PointArray;for(var a={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},s=\"mlhvqtcsaz\".split(\"\"),r=0,o=s.length;rh);return r},bbox:function(){return i.parser.draw||i.prepare(),i.parser.path.setAttribute(\"d\",this.toString()),i.parser.path.getBBox()}}),i.Number=i.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(i.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof i.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new i.Number(t),new i.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new i.Number(t),new i.Number(this-t,this.unit||t.unit)},times:function(t){return t=new i.Number(t),new i.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new i.Number(t),new i.Number(this/t,this.unit||t.unit)},to:function(t){var e=new i.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new i.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new i.Number(this.destination).minus(this).times(t).plus(this):this}}}),i.Element=i.invent({create:function(t){this._stroke=i.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var a=g(this,t,e);return this.width(new i.Number(a.width)).height(new i.Number(a.height))},clone:function(t){this.writeDataToDom();var e=p(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(i.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return i.get(this.attr(t))},parent:function(e){var a=this;if(!a.node.parentNode)return null;if(a=i.adopt(a.node.parentNode),!e)return a;for(;a&&a.node instanceof t.SVGElement;){if(\"string\"==typeof e?a.matches(e):a instanceof e)return a;if(!a.node.parentNode||\"#document\"==a.node.parentNode.nodeName)return null;a=i.adopt(a.node.parentNode)}},doc:function(){return this instanceof i.Doc?this:this.parent(i.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var a=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");if(!(t&&this instanceof i.Parent))return a.appendChild(t=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),a.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");a.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=a.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},i.morph=function(t){return function(e,a){return new i.MorphObj(e,a).at(t)}},i.Situation=i.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new i.Number(t.duration).valueOf(),this.delay=new i.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),i.FX=i.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,a){\"object\"===x(t)&&(e=t.ease,a=t.delay,t=t.duration);var s=new i.Situation({duration:t||1e3,delay:a||0,ease:i.easing[e||\"-\"]||e});return this.queue(s),this},target:function(t){return t&&t instanceof i.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof i.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof i.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var a in e.animations){t=this.target()[a](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[a])||(e.animations[a]=[e.animations[a]]);for(var s=t.length;s--;)e.animations[a][s]instanceof i.Number&&(t[s]=new i.Number(t[s])),e.animations[a][s]=t[s].morph(e.animations[a][s])}for(var a in e.attrs)e.attrs[a]=new i.MorphObj(this.target().attr(a),e.attrs[a]);for(var a in e.styles)e.styles[a]=new i.MorphObj(this.target().style(a),e.styles[a]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),a=function(a){a.detail.situation==e&&t.call(this,a.detail.pos,i.morph(a.detail.pos),a.detail.eased,e)};return this.target().off(\"during.fx\",a).on(\"during.fx\",a),this.after((function(){this.off(\"during.fx\",a)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,a=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a[r].apply(a,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.attr.apply(a,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.style.apply(a,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--a)this[v[a]]=null!=t[v[a]]?t[v[a]]:e[v[a]]},extend:{extract:function(){var t=u(this,0,1);u(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new i.Matrix(this)}},clone:function(){return new i.Matrix(this)},morph:function(t){return this.destination=new i.Matrix(t),this},multiply:function(t){return new i.Matrix(this.native().multiply(function(t){return t instanceof i.Matrix||(t=new i.Matrix(t)),t}(t).native()))},inverse:function(){return new i.Matrix(this.native().inverse())},translate:function(t,e){return new i.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=i.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return\"matrix(\"+b(this.a)+\",\"+b(this.b)+\",\"+b(this.c)+\",\"+b(this.d)+\",\"+b(this.e)+\",\"+b(this.f)+\")\"}},parent:i.Element,construct:{ctm:function(){return new i.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof i.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new i.Matrix(e)}return new i.Matrix(this.node.getScreenCTM())}}}),i.Point=i.invent({create:function(t,e){var i;i=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===x(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=i.x,this.y=i.y},extend:{clone:function(){return new i.Point(this)},morph:function(t,e){return this.destination=new i.Point(t,e),this}}}),i.extend(i.Element,{point:function(t,e){return new i.Point(t,e).transform(this.screenCTM().inverse())}}),i.extend(i.Element,{attr:function(t,e,a){if(null==t){for(t={},a=(e=this.node.attributes).length-1;a>=0;a--)t[e[a].nodeName]=i.regex.isNumber.test(e[a].nodeValue)?parseFloat(e[a].nodeValue):e[a].nodeValue;return t}if(\"object\"===x(t))for(var s in t)this.attr(s,t[s]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?i.defaults.attrs[t]:i.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(i.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof i.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new i.Number(e):i.Color.isColor(e)?e=new i.Color(e):Array.isArray(e)&&(e=new i.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof a?this.node.setAttributeNS(a,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),i.extend(i.Element,{transform:function(t,e){var a;return\"object\"!==x(t)?(a=new i.Matrix(this).extract(),\"string\"==typeof t?a[t]:a):(a=new i.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(a=e?a.multiply(new i.Matrix(t)):new i.Matrix(t)),this.attr(\"transform\",a))}}),i.extend(i.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(i.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(i.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new i.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),i.Transformation=i.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var i=0,a=this.arguments.length;i=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return i.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var a=this.children(),s=0,r=a.length;s=0;a--)e.childNodes[a]instanceof t.SVGElement&&p(e.childNodes[a]);return i.adopt(e).id(i.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||i.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var a=n[t].length-1;a>=0;a--)null!=e[n[t][a]]&&this.attr(n.prefix(t,n[t][a]),e[n[t][a]]);return this},i.extend(i.Element,i.FX,e)})),i.extend(i.Element,i.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new i.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new i.Number(t).plus(this instanceof i.FX?0:this.x()),!0)},dy:function(t){return this.y(new i.Number(t).plus(this instanceof i.FX?0:this.y()),!0)}}),i.extend(i.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),i.Set=i.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new i.Set(t)}}}),i.FX.Set=i.invent({create:function(t){this.set=t}}),i.Set.inherit=function(){var t=[];for(var e in i.Shape.prototype)\"function\"==typeof i.Shape.prototype[e]&&\"function\"!=typeof i.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){i.Set.prototype[t]=function(){for(var e=0,a=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),i.get=function(t){var a=e.getElementById(function(t){var e=(t||\"\").toString().match(i.regex.reference);if(e)return e[1]}(t)||t);return i.adopt(a)},i.select=function(t,a){return new i.Set(i.utils.map((a||e).querySelectorAll(t),(function(t){return i.adopt(t)})))},i.extend(i.Parent,{select:function(t){return i.select(t,this.node)}});var v=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,i.CustomEvent=m}else i.CustomEvent=t.CustomEvent;return i},\"function\"==typeof define&&define.amd?define((function(){return Ot(Ht,Ht.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":x(exports))&&\"undefined\"!=typeof module?module.exports=Ht.document?Ot(Ht,Ht.document):function(t){return Ot(t,t.document)}:Ht.SVG=Ot(Ht,Ht.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n * https://github.com/wout/svg.filter.js\n * Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(M*=a=Math.sqrt(a),I*=a);s=(new SVG.Matrix).rotate(T).scale(1/M,1/I).rotate(-T),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var _t=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"isSeriesHidden\",\"highlightSeries\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new m(this.ctx),this.ctx.axes=new K(this.ctx),this.ctx.core=new Vt(this.ctx.el,this.ctx),this.ctx.config=new R({}),this.ctx.data=new V(this.ctx),this.ctx.grid=new U(this.ctx),this.ctx.graphics=new w(this.ctx),this.ctx.coreUtils=new k(this.ctx),this.ctx.crosshairs=new tt(this.ctx),this.ctx.events=new J(this.ctx),this.ctx.exports=new j(this.ctx),this.ctx.fill=new O(this.ctx),this.ctx.localization=new Q(this.ctx),this.ctx.options=new z,this.ctx.responsive=new et(this.ctx),this.ctx.series=new G(this.ctx),this.ctx.theme=new it(this.ctx),this.ctx.formatters=new L(this.ctx),this.ctx.titleSubtitle=new at(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.tooltip=new mt(this.ctx),this.ctx.dimensions=new lt(this.ctx),this.ctx.updateHelpers=new jt(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new mt(this.ctx)}}]),t}(),Ut=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(t,e){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),qt=new WeakMap;var Zt=function(){function t(e,a){i(this,t),this.opts=a,this.ctx=this,this.w=new H(a).init(),this.el=e,this.w.globals.cuid=v.randomId(),this.w.globals.chartID=this.w.config.chart.id?v.escapeString(this.w.config.chart.id):this.w.globals.cuid,new _t(this).initModules(),this.create=v.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return s(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),qt.set(e,s)}(t.el.parentNode,t.parentResizeHandler);var s=t.el.getRootNode&&t.el.getRootNode(),r=v.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=r?s.getElementById(\"apexcharts-css\"):o.getElementById(\"apexcharts-css\");if(!n){var l;(n=document.createElement(\"style\")).id=\"apexcharts-css\",n.textContent='@keyframes opaque {\\n 0% {\\n opacity: 0\\n }\\n\\n to {\\n opacity: 1\\n }\\n}\\n\\n@keyframes resizeanim {\\n\\n 0%,\\n to {\\n opacity: 0\\n }\\n}\\n\\n.apexcharts-canvas {\\n position: relative;\\n user-select: none\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0, 0, 0, .5);\\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\\n}\\n\\n.apexcharts-inner {\\n position: relative\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit\\n}\\n\\nrect.legend-mouseover-inactive,\\n.legend-mouseover-inactive rect,\\n.legend-mouseover-inactive path,\\n.legend-mouseover-inactive circle,\\n.legend-mouseover-inactive line,\\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\\n transition: .15s ease all;\\n opacity: .2\\n}\\n\\n.apexcharts-legend-text {\\n padding-left: 15px;\\n margin-left: -15px;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255, 255, 255, .96)\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30, 30, 30, .8)\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit\\n}\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #eceff1;\\n border-bottom: 1px solid #ddd\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0, 0, 0, .7);\\n border-bottom: 1px solid #333\\n}\\n\\n.apexcharts-tooltip-text-goals-value,\\n.apexcharts-tooltip-text-y-value,\\n.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n margin-left: 5px;\\n font-weight: 600\\n}\\n\\n.apexcharts-tooltip-text-goals-label:empty,\\n.apexcharts-tooltip-text-goals-value:empty,\\n.apexcharts-tooltip-text-y-label:empty,\\n.apexcharts-tooltip-text-y-value:empty,\\n.apexcharts-tooltip-text-z-value:empty,\\n.apexcharts-tooltip-title:empty {\\n display: none\\n}\\n\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-tooltip-goals-group,\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n display: flex\\n}\\n\\n.apexcharts-tooltip-text-goals-label:not(:empty),\\n.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0;\\n margin-right: 10px;\\n border-radius: 50%\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,\\n.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-custom-tooltip,\\n.apexcharts-tooltip-box {\\n padding: 4px 8px\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_boundingRect,\\n.svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_boundingRect,\\n.apexcharts-selection-rect+g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_points_l,\\n.apexcharts-selection-rect+g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-toolbar-custom-icon,\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, .7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,\\n.apexcharts-datalabel.apexcharts-element-hidden,\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value,\\n.apexcharts-datalabels,\\n.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-gridline,\\n.apexcharts-line,\\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-point-annotation-label,\\n.apexcharts-radar-series path:not(.apexcharts-marker),\\n.apexcharts-radar-series polygon,\\n.apexcharts-toolbar svg,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-zoom-rect {\\n pointer-events: none\\n}\\n\\n.apexcharts-tooltip-active .apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,\\n.resize-triggers,\\n.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers {\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows {\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers {\\n pointer-events: none\\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&n.setAttribute(\"nonce\",h),r?s.prepend(n):o.head.appendChild(n)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this,a=this.w;new _t(this).initModules();var s=this.w.globals;(s.noData=!1,s.animationEnded=!1,this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new F(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(null===this.el)return s.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var o=k.checkComboSeries(r,a.config.chart.type);s.comboCharts=o.comboCharts,s.comboBarCount=o.comboBarCount;var n=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||n&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new N(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),\"category\"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new k(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new B(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new U(i);var o,n,l=i.grid.drawGrid();(i.annotations=new X(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=qt.get(t))&&(e.disconnect(),qt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===v.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Ut(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Z(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Z(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new j(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new j(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=v.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),o=2;oO^F@**Scc4(0x4zsz*HxXB#r^U3gZuL= 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
koPG;CKx5p9MPOqzjCC}o3UKLYj6~et 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%0DI#7Q0gH(y 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 jK6?D*HShXbV;r@J1_U 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

tp!fdIrJ;fz=1DXLDj}-YV|I>J3(N01R1FQ(z*? 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:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),h=(e,t,s,a)=>{e.get(t,{params:s}).then(r=>{a&&a(r.data)}).catch(r=>{console.error(r)})},p={components:{apexcharts:n},props:{title:{type:String,default:""},subTitle:{type:String,default:""},days:{type:String,default:""},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-widget",toolbar:{show:!1}},colors:["#008FFB","#DCE6EC"],labels:["404 hits","404 hits handled"]},series:[50,50]}},created:function(){this.getSeriesData()},methods:{getSeriesData:async function(){const e=i.create(c(this.apiUrl));await h(e,"",{days:this.days},t=>{this.series=t})}}};var d=function(){var t=this,s=t._self._c;return s("apexcharts",{attrs:{width:"100%",height:"200px",type:"donut",options:t.chartOptions,series:t.series}})},u=[],l=o(p,d,u,!1,null,null);const f=l.exports,_=window.Vue;new _({el:"#widget-content",components:{"widget-chart":f}}); -//# sourceMappingURL=widget-DNFe3Srq.js.map +import{A as n,a as i}from"./vue-apexcharts-Nop2JhTm.js";import{n as o}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const c=e=>({baseURL:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),h=(e,t,s,a)=>{e.get(t,{params:s}).then(r=>{a&&a(r.data)}).catch(r=>{console.error(r)})},p={components:{apexcharts:n},props:{title:{type:String,default:""},subTitle:{type:String,default:""},days:{type:String,default:""},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-widget",toolbar:{show:!1}},colors:["#008FFB","#DCE6EC"],labels:["404 hits","404 hits handled"]},series:[50,50]}},created:function(){this.getSeriesData()},methods:{getSeriesData:async function(){const e=i.create(c(this.apiUrl));await h(e,"",{days:this.days},t=>{this.series=t})}}};var d=function(){var t=this,s=t._self._c;return s("apexcharts",{attrs:{width:"100%",height:"200px",type:"donut",options:t.chartOptions,series:t.series}})},u=[],l=o(p,d,u,!1,null,null);const f=l.exports,_=window.Vue;new _({el:"#widget-content",components:{"widget-chart":f}}); +//# sourceMappingURL=widget-B0Swf_04.js.map diff --git a/src/web/assets/dist/assets/widget-B0Swf_04.js.gz b/src/web/assets/dist/assets/widget-B0Swf_04.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..3cfb3937b6b8061223871949d99b3523ac744a76 GIT binary patch literal 667 zcmV;M0%ZLkiwFP!000021ASA`ZqzUkeCI2ID^MbB(zGfF`Q%D1ZG}(^QcD3*RVO#u zyBPUwV{dvbmj4|kxx(=PFOI#lvl;J>)yi2<@hFoaGa!eLN(*mStlGWrv6K!UnofEO zN9a(t=mU@JYk7%3dJKeZ`9)F3IQx2W{*K6P;w+^CI*}s~1dxR|j94v^ za)Rijm#e@-Dk|#G|6S1)?XAK$( zJpQ>qHwm1#F7QZ-H1bG~4*3;%WtPz5LiUY;M0jm)pB;<<9I69s$C*6AZzuV^gM>nuKDx5l%TQN`oM44 zPF=q_J3D5;c23@&zCL}+Zb8dC)B|`>A7q`Pz~J{b>!fKlw(K@RK(8?Hn^!fws&9v? z9wlMBEtWbJhG|`mxhIljUL;r{b+!#W{)KQE9!-;Nu_yPSP}NjAZ}PF=)U%?P$+c9J zbvXiK5XVN33BxV{iNi_2q*PEUQcAOX>9baB{bmS|7&0LUs^$UpqMA3esnc1=*&kyt zh>~cq?pn3fakf|2FBo*FmK|}nU)Sz|!8lCTTGJB)yBQKy+cSG=A8pj7!H>PTxdkn3 z?x2Mpp6`L_wH}vZ^OhDuSNJfz#{hG&R;IP<>T{1XgX?UbN7S6{OrtLwYX}W7*fu$P z0tYdSFH$OI&vtirvS54P;DvNfndSB6x!5Eg*H`PsygsPDhiWC=vtQT;^b|$}008{< BNPYkS literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/widget-DNFe3Srq.js.map b/src/web/assets/dist/assets/widget-B0Swf_04.js.map similarity index 98% rename from src/web/assets/dist/assets/widget-DNFe3Srq.js.map rename to src/web/assets/dist/assets/widget-B0Swf_04.js.map index ec7d6600..a72d3236 100644 --- a/src/web/assets/dist/assets/widget-DNFe3Srq.js.map +++ b/src/web/assets/dist/assets/widget-B0Swf_04.js.map @@ -1 +1 @@ -{"version":3,"file":"widget-DNFe3Srq.js","sources":["../../../../../buildchain/src/vue/WidgetChart.vue","../../../../../buildchain/src/js/Widget.js"],"sourcesContent":["\n\n\n","import Vue from 'vue';\nimport WidgetChart from '@/vue/WidgetChart.vue';\n\n// Create our vue instance\nnew Vue({\n el: \"#widget-content\",\n components: {\n 'widget-chart': WidgetChart,\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["configureApi","url","queryApi","api","uri","params","callback","result","error","_sfc_main","ApexCharts","chartsAPI","Axios","data","Vue","WidgetChart"],"mappings":"kHAgBA,MAAAA,EAAAC,IACA,CACA,QAAAA,EACA,QAAA,CACA,mBAAA,gBACA,CACA,GAGAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CACAH,EAAA,IAAAC,EAAA,CAAA,OAAAC,CAAA,CAAA,EACA,KAAAE,GAAA,CACAD,GACAA,EAAAC,EAAA,IAAA,CAEA,CAAA,EACA,MAAAC,GAAA,CACA,QAAA,MAAAA,CAAA,CACA,CAAA,CACA,EAGAC,EAAA,CACA,WAAA,CACA,WAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,SAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,OAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,EACA,KAAA,UAAA,CACA,MAAA,CACA,aAAA,CACA,MAAA,CACA,GAAA,kBACA,QAAA,CACA,KAAA,EACA,CACA,EACA,OAAA,CAAA,UAAA,SAAA,EACA,OAAA,CACA,WACA,kBACA,CACA,EACA,OAAA,CAAA,GAAA,EAAA,CACA,CACA,EACA,QAAA,UAAA,CACA,KAAA,cAAA,CACA,EACA,QAAA,CAEA,cAAA,gBAAA,CACA,MAAAC,EAAAC,EAAA,OAAAZ,EAAA,KAAA,MAAA,CAAA,EACA,MAAAE,EAAAS,EAAA,GAAA,CAAA,KAAA,KAAA,IAAA,EAAAE,GAAA,CACA,KAAA,OAAAA,CACA,CAAA,CACA,CACA,CACA,4MC1FAC,EAAA,OAAA,IAIA,IAAIA,EAAI,CACN,GAAI,kBACJ,WAAY,CACV,eAAgBC,CAClB,CACF,CAAC"} \ No newline at end of file +{"version":3,"file":"widget-B0Swf_04.js","sources":["../../../../../buildchain/src/vue/WidgetChart.vue","../../../../../buildchain/src/js/Widget.js"],"sourcesContent":["\n\n\n","import Vue from 'vue';\nimport WidgetChart from '@/vue/WidgetChart.vue';\n\n// Create our vue instance\nnew Vue({\n el: \"#widget-content\",\n components: {\n 'widget-chart': WidgetChart,\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["configureApi","url","queryApi","api","uri","params","callback","result","error","_sfc_main","ApexCharts","chartsAPI","Axios","data","Vue","WidgetChart"],"mappings":"kHAgBA,MAAAA,EAAAC,IACA,CACA,QAAAA,EACA,QAAA,CACA,mBAAA,gBACA,CACA,GAGAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CACAH,EAAA,IAAAC,EAAA,CAAA,OAAAC,CAAA,CAAA,EACA,KAAAE,GAAA,CACAD,GACAA,EAAAC,EAAA,IAAA,CAEA,CAAA,EACA,MAAAC,GAAA,CACA,QAAA,MAAAA,CAAA,CACA,CAAA,CACA,EAGAC,EAAA,CACA,WAAA,CACA,WAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,SAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,OAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,EACA,KAAA,UAAA,CACA,MAAA,CACA,aAAA,CACA,MAAA,CACA,GAAA,kBACA,QAAA,CACA,KAAA,EACA,CACA,EACA,OAAA,CAAA,UAAA,SAAA,EACA,OAAA,CACA,WACA,kBACA,CACA,EACA,OAAA,CAAA,GAAA,EAAA,CACA,CACA,EACA,QAAA,UAAA,CACA,KAAA,cAAA,CACA,EACA,QAAA,CAEA,cAAA,gBAAA,CACA,MAAAC,EAAAC,EAAA,OAAAZ,EAAA,KAAA,MAAA,CAAA,EACA,MAAAE,EAAAS,EAAA,GAAA,CAAA,KAAA,KAAA,IAAA,EAAAE,GAAA,CACA,KAAA,OAAAA,CACA,CAAA,CACA,CACA,CACA,4MC1FAC,EAAA,OAAA,IAIA,IAAIA,EAAI,CACN,GAAI,kBACJ,WAAY,CACV,eAAgBC,CAClB,CACF,CAAC"} \ No newline at end of file diff --git a/src/web/assets/dist/assets/widget-B0Swf_04.js.map.gz b/src/web/assets/dist/assets/widget-B0Swf_04.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..17cc13e78343ad7a433493427df9369f2f2161e2 GIT binary patch literal 1403 zcmV->1%&z^iwFP!000021GQG|Zre5#eHDVmAO&C~cT0ysjf=^uL*E)+GFBEF=XMDp=M8q95qo%0@-| z`qDW|I8%fv?ekcXMO9)&UZo6xV_cE@Oq-W_3cwxBRWVHA^TFVk6xy|d(0QSTDg1RX zsP5ZU^-z&v3UkhC)viUnQj{|}OrbG)VW*u~56GYX5xhwj2gC)7Xd>esUlxR~_5S$Ysqiq%a z^FAG3lJ7NYW#%MdIn z2AF|Qrmm;&Tp^Ru~Pb^>xT!*!`#XPv@Ra(E7nBZue?w^q)$ z61;k9L{U|e9^UDz9Dyq(D4U~gVH0NrJa0?3+M3Jy=Kat0kmCpW^Q_~FUW>B#Uhehq ze|@-P&D99ZYL@92(tpD7{#V72#CcewomWGHc1q0+%OmqX8swp^R36%mSDcqOSnRcF zNKo**2+VLP$sTK~9kN~P885khGCzCI27^CNPDUOA-m}-q`1f(*ec7Q@;u}(GrQLCO zM}s3!P$l=J-hn`YSzeOd>&N!R(U*`dei8WmVt~Ml!M56}pD~#rSdn}mX;eX_euuA& zgV$JLf8(KYtSyKtc>a_?VF=!GoCC^C)iCTZWCd70u&fZA@miJ-n_3$_BMaRVr&C|e zBc^N9&{p@rrs=zd*Ef0D+j-FUz~ehi*QLwvj3Rv>!J~aOj1fItA>f-*v7`2MJ891e z3{C!hb!9u2o|9YY-lpqjAc9S+@}VZ{9z{1M&AQX@HS$0E8bRC2=r+b|mpQ9tO#o$5 zVV04UF>cm8L1RFJ--B4 zf{KU;6iQVx3d1E;ebS%&kP<|M=wJuDU?DAb}%nXd9S?_fa`4hpUsu57Ia*!b{$ z_srU|T=Kb}!qfB16q-tGB3q?Q_rDA;Y^&|^2_jgF5+c|#1|o=?W&O2%3q-JOFd%}q z#efK!@(&UGDrec(1*ZB;*X39%wd~UZO=*arCJ;pMgX!R%-P9p2a8*$@moS3gPUHC~ zM(1%H$7meKae}6C5~DK}kGzwa$&W)3Slv^pb9IJsP{gCo%fCF-lrcW7tmD zqca

t@`6uYL?U`!VEVFC^JCb=?ym?pZTi^KGOUBy J9E92r0057Suhjqm literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/widget-DNFe3Srq.js.gz b/src/web/assets/dist/assets/widget-DNFe3Srq.js.gz deleted file mode 100644 index 2409555632fff6751dfccb78bf736930f2b7386f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 668 zcmV;N0%QFjiwFP!000021ASA$ZqzUkz4H~p6)2G=X$lk}uUrXODh>stmI9)xR^DWG zW8}46d(v&O{O>5q7M25C9DClp$@9#!+BoYezRqOG49MZ5(#qQns}65_ETzM{rjwpR z`R2wQ&o90&s~>^Q)WkCb!9EZcPWNkN%G(~FEsXUWsnt*P^+g&#aT)PbRtI}2p|h_60uq% zK^Bi&RvNq^28zL5kH_q4(D3zDPv^Ct_na&Kfin zc>HsJZW1_eUEq-vY2=aa9r6qE%B-QqmFzWf#u9{n`T74Dt-KHaMx|4iUjGvx=p^~7 zHw`Ik@*;Yq-kUh;{N#pU;M0jm)pB;*<9I5!s$C;7AZztfdLBb(xBT%@O3+wsec)H@ zpsrt?p1xtg4(4y)y?pnUU4xcO)C2gUevx&G0)yY%tdpkI*s|*c0lmV&ua0XtuCIrx z9wlMBFP1tLhG|`lxpPS}FA{8!I@<;w|3bJ7_om7A*pquusA?*mH~Cm_>RD0Dy9{kR@d&1!8lCTTGJB)yBiW!`!joJAMMno!H>PTx&|$5 z?x2Mp9v^|}wH}vZ_m);dS9mwP#{dhlRi?Gu>PwF^gWGJ8N7S4hOrtLwYX}W7*f%+Q z00%LQuTm;zj}8wHvS54P;0NiPGV9CpGqFpYe>}zK7yhRD5vq-JkA4C2e~P9?1ONcF CeMU0? diff --git a/src/web/assets/dist/assets/widget-DNFe3Srq.js.map.gz b/src/web/assets/dist/assets/widget-DNFe3Srq.js.map.gz deleted file mode 100644 index 373d9965774f29a10f6ab9a8f09425d4e3908df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1403 zcmV->1%&z^iwFP!000021GQFvZ__v!{wkKyDVgLY<$%*Etmx9L>&h5AHU``gguKLU z45=M#r`t63yPs?)soSOH{-K&O+wb%KvLE|>AK;P*NjZbjGX!U}Brt-vG@lc7c>MN+ zJi8J1NBr`!PWyV^O zE-Ee*i0>$uU?%ticvz3Umz(m6+?l;Jm4|lY73bv*7JF?P z5)}M40yA7nvd7wLhiun+#!IfB%+KDF!Qju6laYsj_vAPk|1nOyFFTYC{*A zi0RriwADSZY5H#A^-W&(b{_OS@c0(fb?Nduqe$OJ@L*pJV?+;E2>7N{?5I86PTF$< zLz91BUD=MM=j2wpx9PeWh+xyIe5lE~N70Q*v+gu}jr^~^M$oo0x{Wd0WzK3@6F`|% zm}MkojNED`zDbaj5lG>arXS60H<&^bV^7iXTA+64MQ%_=MJH#HHzCAXMk)nP&o2R% zpdumyg;JG_!f;6y`6h#$EW>$Ca}wf;9u^A`6lzhXOjmiEcd#G|2L)FRSGHCIY<&2> zduDA}F8SO~;pzEh3QZ+8k*!ju`(K6^w$*m|1QD!72@z}=0};f{vi{n>1tQos7!X0* zVn75<`G*L8m9y;Y0#kja>vF7>TJ~vyrZhxQ69^*s!F2G>Zt4&hxT+|dOBliLr}2Cg zqw_e9V>FKAI6>1miBY0I@0!(SXcreFJ)Dm^)Fht7iP1%gF))7gownMi7B}r=Mg?7% zdD6{|%dd>?Hd>RFG~i*C=1>8lQM;p|b;+UnDr zw4`cxJ#pD|z3Dx3&SV|ixDm`p8>zVTG7kT>!?X6Zw-_-t;wuZ9bn>(AGi^h47}xH4 z4{g?;=jX}O6E_kxji<)m)EJy<*jsIMYIf?iCe}ZC@dF}pJRcd3l_UK<(H;`G`VZYE JZAID-001h3s~Z3S diff --git a/src/web/assets/dist/manifest.json b/src/web/assets/dist/manifest.json index 5a4a193c..a4e1c30d 100644 --- a/src/web/assets/dist/manifest.json +++ b/src/web/assets/dist/manifest.json @@ -24,22 +24,22 @@ "assets/purify-aK_k3t68.css" ] }, - "_vue-apexcharts-Bqp5DSZb.js": { - "file": "assets/vue-apexcharts-Bqp5DSZb.js", + "_vue-apexcharts-Nop2JhTm.js": { + "file": "assets/vue-apexcharts-Nop2JhTm.js", "name": "vue-apexcharts", "imports": [ "__plugin-vue2_normalizer-DeOsZA-U.js" ] }, "src/js/Dashboard.js": { - "file": "assets/dashboard-arO7X85D.js", + "file": "assets/dashboard--4c4omta.js", "name": "dashboard", "src": "src/js/Dashboard.js", "isEntry": true, "imports": [ "_purify.es-Xo6LZ5T9.js", "__plugin-vue2_normalizer-DeOsZA-U.js", - "_vue-apexcharts-Bqp5DSZb.js" + "_vue-apexcharts-Nop2JhTm.js" ] }, "src/js/Import.js": { @@ -83,12 +83,12 @@ ] }, "src/js/Widget.js": { - "file": "assets/widget-DNFe3Srq.js", + "file": "assets/widget-B0Swf_04.js", "name": "widget", "src": "src/js/Widget.js", "isEntry": true, "imports": [ - "_vue-apexcharts-Bqp5DSZb.js", + "_vue-apexcharts-Nop2JhTm.js", "__plugin-vue2_normalizer-DeOsZA-U.js" ] } diff --git a/src/web/assets/dist/manifest.json.gz b/src/web/assets/dist/manifest.json.gz index f148e591639d90fa1a32f96e8f8ab01fdb5167d0..1bff0df4db6b554272ebe71b508d0b84bc7cff28 100644 GIT binary patch literal 495 zcmV&&p+UYP`T$Knc z*=Kho$&_s3^lr|EG|1QzDqeU&#Dz+`{>UDrx=!TBV=si4nC&?s7XkIXHzvSl zeL3jCUD`K;e;S0$ca3#xR!zQ6ZOzAu60;g8iiI~y8cf2@`^>Tq=kK}^avJElGu>D1 zqlPO>Nh#c15p9SGKJxa(;NZ6Nv0$C9xh$dWY-`aZ_4Zc-O#<~Lzr+k^#D2RIDwKpv z9_^h?ZUdc9O-aq{GP&jRDTUj7l1-b+$uCaDP&e|hfB;%c43)|GxNZHuMB@ zmDJf11q9IHqrMMc5N9QXn_Cjv_TqI{{Qu^ocr5hcqy!xIrhNX`ym6;X?UdIMuFMmK0pI!hV!k*mYDS@-NNsj=RD6@mZ?UF-aX?3W`)<_(E3g2TJNpH(zDQ;WU3KDh~Bpy zt~ZI!gy2$?ae6ypT{e!{3`$?vW8VWAb$y5*M7mwy2?n-HUjn|G|LAbdEp-nGdb;bWSAL#|44kse$z8N%(lZJsN6A{Z|N&BlZ!EdIy zvfm>}6C1fEOYf89*J{Z*`QT$_CYGYM!FN(le}@$>NJ diff --git a/src/web/assets/dist/stats.html b/src/web/assets/dist/stats.html index 5236608e..1158ecae 100644 --- a/src/web/assets/dist/stats.html +++ b/src/web/assets/dist/stats.html @@ -4822,7 +4822,7 @@ \r\n\r\n\r\n","\n","\n\n\n","\n","\n\n\n","\n\n\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\r\n\r\n\r\n","\n","\n\n\n","\n","\n\n\n","\n\n\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport RedirectsTable from '@/vue/RedirectsTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'redirects-table': RedirectsTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","value","PriorityValue","LegacyUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","label","DOMPurify","url","Vue","VueEvents","RedirectsTable","vuetable"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"redirects-BXkYchow.js","sources":["../../../../../buildchain/src/vue/RedirectsFieldDefs.js","../../../../../buildchain/src/vue/PriorityValue.vue","../../../../../buildchain/src/vue/RedirectsTable.vue","../../../../../buildchain/src/js/Redirects.js"],"sourcesContent":["// Field definitions for RedirectsTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:legacy-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', 'Legacy URL Pattern'),\n titleClass: 'center vuetable-th-redirectSrcUrl',\n dataClass: 'center vuetable-td-redirectSrcUrl',\n },\n {\n name: 'redirectDestUrl',\n sortField: 'redirectDestUrl',\n title: Craft.t('retour', 'Redirect To'),\n titleClass: 'center',\n dataClass: 'center',\n callback: 'urlFormatter'\n },\n {\n name: 'redirectMatchType',\n sortField: 'redirectMatchType',\n title: Craft.t('retour', 'Match Type'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n callback: 'matchFormatter'\n },\n {\n name: 'siteName',\n sortField: 'siteId',\n title: Craft.t('retour', 'Sites'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'redirectHttpCode',\n sortField: 'redirectHttpCode',\n title: Craft.t('retour', 'Status'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: '__component:priority-value',\n sortField: 'priority',\n title: Craft.t('retour', 'Priority'),\n titleClass: 'text-right vuetable-th-priority',\n dataClass: 'text-right vuetable-td-priority',\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport RedirectsTable from '@/vue/RedirectsTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'redirects-table': RedirectsTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","value","PriorityValue","LegacyUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","label","DOMPurify","url","Vue","VueEvents","RedirectsTable","vuetable"],"mappings":"4LACA,MAAeA,EAAA,CACb,CACE,KAAM,aACN,WAAY,iBACZ,UAAW,gBACZ,EACD,CACE,KAAM,yBACN,UAAW,iBACX,MAAO,MAAM,EAAE,SAAU,oBAAoB,EAC7C,WAAY,oCACZ,UAAW,mCACZ,EACD,CACE,KAAM,kBACN,UAAW,kBACX,MAAO,MAAM,EAAE,SAAU,aAAa,EACtC,WAAY,SACZ,UAAW,SACX,SAAU,cACX,EACD,CACE,KAAM,oBACN,UAAW,oBACX,MAAO,MAAM,EAAE,SAAU,YAAY,EACrC,WAAY,YACZ,UAAW,YACX,SAAU,gBACX,EACD,CACE,KAAM,WACN,UAAW,SACX,MAAO,MAAM,EAAE,SAAU,OAAO,EAChC,WAAY,YACZ,UAAW,WACZ,EACD,CACE,KAAM,mBACN,UAAW,mBACX,MAAO,MAAM,EAAE,SAAU,QAAQ,EACjC,WAAY,YACZ,UAAW,WACZ,EACD,CACE,KAAM,6BACN,UAAW,WACX,MAAO,MAAM,EAAE,SAAU,UAAU,EACnC,WAAY,kCACZ,UAAW,iCACZ,EACD,CACE,KAAM,WACN,UAAW,WACX,MAAO,MAAM,EAAE,SAAU,MAAM,EAC/B,WAAY,aACZ,UAAW,YACZ,EACD,CACE,KAAM,cACN,UAAW,cACX,MAAO,MAAM,EAAE,SAAU,UAAU,EACnC,WAAY,SACZ,UAAW,QACZ,CACH,EC1DAC,EAAA,CACA,MAAA,CACA,QAAA,CACA,KAAA,OACA,SAAA,EACA,EACA,SAAA,CACA,KAAA,OACA,QAAA,CACA,CACA,EACA,SAAA,CACA,cAAA,UAAA,CACA,IAAAC,EAAA,KAAA,QAAA,SACA,OAAA,KAAA,QAAA,oBAAA,eACAA,EAAA,KAGAA,CACA,CACA,CACA,kJC8FA,IAAA,UAAA,gBAAAC,CAAA,EACA,IAAA,UAAA,YAAAC,CAAA,EAEA,MAAAH,EAAA,CACA,WAAA,CACA,SAAAI,EACA,sBAAAC,EACA,2BAAAC,EACA,sBAAAC,CACA,EACA,OAAA,CAAAC,CAAA,EACA,MAAA,CACA,OAAA,CACA,KAAA,OACA,QAAA,CACA,EACA,OAAA,CACA,KAAA,OACA,QAAA,EAAA,CAEA,EACA,KAAA,UAAA,CACA,MAAA,CACA,WAAA,CACA,OAAA,KAAA,MACA,EACA,IAAA,CACA,WAAA,kCACA,cAAA,0BACA,eAAA,0BACA,EACA,UAAA,CACA,CACA,MAAA,WACA,UAAA,WACA,UAAA,MAAA,CAEA,EACA,OAAAT,EACA,YAAA,EACA,YAAA,CAAA,EACA,WAAA,GACA,QAAA,GACA,cAAA,MAAA,EAAA,SAAA,WAAA,EACA,aAAA,MAAA,EAAA,SAAA,QAAA,EACA,eAAA,MAAA,EAAA,SAAA,UAAA,EACA,gBAAA,MAAA,EAAA,SAAA,WAAA,CACA,CACA,EACA,SAAA,CACA,cAAA,UAAA,CACA,OAAA,OAAA,MAAA,aACA,EACA,eAAA,UAAA,CACA,OAAA,OAAA,MAAA,cAAA,CAEA,EACA,MAAA,CACA,QAAA,UAAA,CACA,KAAA,QAAA,KAAA,gBAAA,KAAA,MAAA,QAAA,CAAA,CAEA,EACA,SAAA,CAKA,KAAA,QAAA,IAAA,gBAAA,KAAA,YAAAU,CAAA,CAAA,EACA,KAAA,QAAA,IAAA,eAAA,IAAA,KAAA,eAAA,EACA,KAAA,MAAA,SAAA,IAAA,4BAAA,CAAAC,EAAAC,IAAA,KAAA,kBAAAD,EAAAC,CAAA,CAAA,EACA,KAAA,MAAA,SAAA,IAAA,gCAAAD,GAAA,KAAA,kBAAAA,EAAA,IAAA,CAAA,CACA,EACA,QAAA,CACA,oBAAA,CAEA,MAAA,CACA,SAFA,6BAAA,MAAA,SAAA,MAAA,OAGA,iBAAA,CAAA,cAAA,cAAA,YAAA,CACA,CACA,EACA,YAAAE,EAAA,CACA,KAAA,WAAAA,EACA,KAAA,WAAA,CACA,OAAA,KAAA,WACA,OAAA,KAAA,MACA,EACA,KAAA,QAAA,KAAA,gBAAA,KAAA,MAAA,QAAA,CACA,EACA,eAAA,CACA,KAAA,WAAA,GACA,KAAA,WAAA,CACA,OAAA,KAAA,WACA,OAAA,KAAA,MACA,EACA,KAAA,QAAA,KAAA,gBAAA,KAAA,MAAA,QAAA,CACA,EACA,iBAAAC,EAAA,CACA,KAAA,MAAA,cAAA,kBAAAA,CAAA,EACA,KAAA,MAAA,kBAAA,kBAAAA,CAAA,EAEA,KAAA,MAAA,WAAA,kBAAAA,CAAA,EACA,KAAA,MAAA,eAAA,kBAAAA,CAAA,CACA,EACA,aAAAC,EAAA,CACA,KAAA,MAAA,SAAA,WAAAA,CAAA,CACA,EACA,mBAAA,CACA,KAAA,YAAA,EACA,KAAA,YAAA,CAAA,EACA,KAAA,MAAA,WAAA,QAAA,KAAA,MAAA,SAAA,aAAA,SACA,KAAA,YAAA,KAAA,MAAA,SAAA,WAAA,OACA,KAAA,YAAA,KAAA,MAAA,SAAA,WAEA,EACA,eAAAb,EAAA,CACA,IAAAc,EAAA,eACA,OAAAd,EAAA,CACA,IAAA,aACAc,EAAA,cACA,MACA,IAAA,aACAA,EAAA,cACA,KAAA,CAGA,OAAAA,CACA,EACA,aAAAd,EAAA,CACA,GAAAA,IAAA,GACA,MAAA,GAEAA,EAAAe,EAAA,SAAAf,CAAA,EACAA,EAAA,UAAAA,CAAA,EACA,IAAAgB,EAAAhB,EAEA,MAAA,CADA,IAAA,OAAA,kBAAA,GAAA,EACA,KAAAgB,CAAA,GAAA,CAAAA,EAAA,SAAA,GAAA,IACAA,EAAA,MAAA,WAAAA,CAAA,GAEA;AAAA,sCACAA,CAAA,YAAAA,CAAA,oCAAAhB,CAAA;AAAA,iBAEA,EACA,wBAAAA,EAAA,CACA,OAAAA,IAAA,GACA,GAEA;AAAA,+CACAA,CAAA;AAAA,iBAAA,CAEA,CAEA,ooFCjRAiB,EAAA,OAAA,IAIAA,EAAI,IAAIC,CAAS,EAEjB,IAAID,EAAI,CACN,GAAI,kBACJ,WAAY,CACV,kBAAmBE,CACrB,EACA,SAAU,CACR,KAAK,QAAQ,IAAI,mBAA8B,KAAK,eAAeX,CAAS,CAAC,CAC/E,EACA,QAAS,CACP,eAAeY,EAAU,CACvBH,EAAI,SAAS,IAAMG,EAAS,QAAA,CAAS,CAAA,CACvC,CAEJ,CAAC"} \ No newline at end of file diff --git a/src/web/assets/dist/assets/redirects-BXkYchow.js.map.gz b/src/web/assets/dist/assets/redirects-BXkYchow.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..797dda6acb735560ecf5f044ec6d0f77ef7c7a91 GIT binary patch literal 4020 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 as1<0UX4(b-M?VT^=jp%n>iT9BI{*NKp3kcQ literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/retour-BOu9DI9D.js b/src/web/assets/dist/assets/retour-BOu9DI9D.js deleted file mode 100644 index ad15f53b..00000000 --- a/src/web/assets/dist/assets/retour-BOu9DI9D.js +++ /dev/null @@ -1,2 +0,0 @@ - -//# sourceMappingURL=retour-BOu9DI9D.js.map diff --git a/src/web/assets/dist/assets/retour-BOu9DI9D.js.map b/src/web/assets/dist/assets/retour-BOu9DI9D.js.map deleted file mode 100644 index 2a6a2b7a..00000000 --- a/src/web/assets/dist/assets/retour-BOu9DI9D.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"retour-BOu9DI9D.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/web/assets/dist/assets/retour-DlWrJ6Fo.css b/src/web/assets/dist/assets/retour-ecV1HJmh.css similarity index 63% rename from src/web/assets/dist/assets/retour-DlWrJ6Fo.css rename to src/web/assets/dist/assets/retour-ecV1HJmh.css index 8a90a433..4e3ea509 100644 --- a/src/web/assets/dist/assets/retour-DlWrJ6Fo.css +++ b/src/web/assets/dist/assets/retour-ecV1HJmh.css @@ -1 +1 @@ -div.retour-button-container{display:inline-block;margin-right:10px}table.vuetable{width:100%;table-layout:fixed;overflow:hidden}.retour-menubtn-asc:before{font-weight:700;content:"upangle"}.retour-menubtn-desc:before{font-weight:700;content:"downangle"}table.retour-dashboard th.vuetable-th-checkbox-id{width:3%!important}table.retour-dashboard th.vuetable-th-redirectSrcUrl{width:34%!important}th.vuetable-th-referrerUrl{width:20%!important}th.vuetable-th-remoteIp{width:14%!important}th.vuetable-th-hitCount{width:8%!important;text-align:right!important}th.vuetable-th-hitLastTime{width:16%!important}th.vuetable-th-handledByRetour{width:12%!important}th.vuetable-th-addLink,table.retour-redirects th.vuetable-th-checkbox-id{width:3%!important}table.retour-redirects th.vuetable-th-redirectSrcUrl{width:28%!important}th.vuetable-th-redirectDestUrl{width:22%!important}th.vuetable-th-redirectMatchType{width:10%!important}th.vuetable-th-priority{width:8%!important;text-align:right!important}th.vuetable-th-siteName{width:10%!important}th.vuetable-th-redirectHttpCode{width:7%!important}td.text-center,th.text-center{text-align:center!important}td.text-right,th.text-right{text-align:right!important}.relative{position:relative}.float-right{float:right}.mx-2{margin-left:.5rem;margin-right:.5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.items-start{align-items:flex-start}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-solid{border-style:solid}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pl-3{padding-left:.75rem}.pt-3{padding-top:.75rem}.align-bottom{vertical-align:bottom}.leading-tight{line-height:1.25}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.retour-import-list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd;cursor:move}.retour-import-field-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd;cursor:arrow}.retour-import-arrow-item{position:relative;display:block;padding:11px 15px}.retour-import-drag-area{min-height:100px}.retour-empty-item{background:repeating-linear-gradient(-55deg,#ddd,#ddd 10px,#eee 10px,#eee 20px)}.retour-inputfile{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.retour-reset:before{padding-bottom:4px} +div.retour-button-container{display:inline-block;margin-right:10px}table.vuetable{width:100%;table-layout:fixed;overflow:hidden}.retour-menubtn-asc:before{font-weight:700;content:"upangle"}.retour-menubtn-desc:before{font-weight:700;content:"downangle"}table.retour-dashboard th.vuetable-th-checkbox-id{width:3%!important}table.retour-dashboard th.vuetable-th-redirectSrcUrl{width:34%!important}th.vuetable-th-referrerUrl{width:20%!important}th.vuetable-th-remoteIp{width:14%!important}th.vuetable-th-hitCount{width:8%!important;text-align:right!important}th.vuetable-th-hitLastTime{width:16%!important}th.vuetable-th-handledByRetour{width:12%!important}th.vuetable-th-addLink,table.retour-redirects th.vuetable-th-checkbox-id{width:3%!important}table.retour-redirects th.vuetable-th-redirectSrcUrl{width:28%!important}th.vuetable-th-redirectDestUrl{width:22%!important}th.vuetable-th-redirectMatchType{width:10%!important}th.vuetable-th-priority{width:8%!important;text-align:right!important}th.vuetable-th-siteName{width:10%!important}th.vuetable-th-redirectHttpCode{width:7%!important}td.text-center,th.text-center{text-align:center!important}td.text-right,th.text-right{text-align:right!important}.relative{position:relative}.float-right{float:right}.mx-2{margin-left:.5rem;margin-right:.5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.items-start{align-items:flex-start}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-solid{border-style:solid}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pl-3{padding-left:.75rem}.pt-3{padding-top:.75rem}.align-bottom{vertical-align:bottom}.leading-tight{line-height:1.25}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.retour-import-list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd;cursor:move}.retour-import-field-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd;cursor:arrow}.retour-import-arrow-item{position:relative;display:block;padding:11px 15px}.retour-import-drag-area{min-height:100px}.retour-empty-item{background:repeating-linear-gradient(-55deg,#ddd,#ddd 10px,#eee 10px,#eee 20px)}.retour-inputfile{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.retour-reset:before{padding-bottom:4px} diff --git a/src/web/assets/dist/assets/retour-DlWrJ6Fo.css.gz b/src/web/assets/dist/assets/retour-ecV1HJmh.css.gz similarity index 65% rename from src/web/assets/dist/assets/retour-DlWrJ6Fo.css.gz rename to src/web/assets/dist/assets/retour-ecV1HJmh.css.gz index 5fa6b806c06bb61e8a08568076cc4a19e6f50ce1..ea854ff286894eb48d69b56890e5fb6c008b3165 100644 GIT binary patch delta 367 zcmV-#0g(Q~2*wDo;R1g)N;jJ!wl!ty7=ndy79~-tyXanbQ4+aON#y=MMsd2?j*C0p zMZ^s**7HRm;>iG82b{?)jb6vSZkD?*!ANtqFfM1Rsx08Rw)KSWk|aqs+qK;-gRr(4 z;))9=bm8B5qe8T1b7od}U65ey0(37DLoF^KS20^s0Sl~dff#><6qg{Et}zyXrP!La zjRno=V$O`xXX4|BFbFFV+`4{It@fAtwYKIf8JpVOKLDe2ue*G$n65B+LCa?sQ?gK# z?5?V+JY3k!RnA}6=#DX#m#wkNWQ}q%zUEeO5bXazjvAwmm+U&;y|c zXy0%-U+5%RSVCu`@f5Z@pCB`!fufffE`b`?NQ{HT4`jb*aM-$I_@BrnWqStzi_tF8 z-J&I=Zn5I?Q$BX-8p-(aBqGV>Yd)VdKntrxi;(|KxMa{}BpuFgFAF$5(=T-ML3hIs N{{Ur&5dV}6000zwvRMEC delta 364 zcmV-y0h9j52*U`l;R1hVGsL#0OdUg{FwUYRN_7|A>n=(n7bl6_-^VCUH`{S>r@M%_ z!Nq#M2t+&+VC#T0lcmw?xYx~c_Zb*z&KAZcOjVTy9M`s<&|Q)w$!5E@yJZm8HbY!- z;Z!dCJ8x8o)@;tq3NH#0tX+WaIbx{A1?0+QODbT2)h!UCkm7$5|#n5YLeYm zRh5U^nz_pPyBggw#`3Z?R++3(PQ%ySDh`7EAIMQ-)bWy?2md3lbmVmziy3+#)Bx=p zF6Y~vBnwMuG@fL_cIOjh1~gFg`obkp;~I%^kobY@_Y4kOcMSg%xuk6G0AMlNCAwR* zgw!ooe16BrE?pxTKb{mMxqQm!a|UQ(m1q(2zX_KNx{Rd5`Qc>&r#JeAXg=s}_~9S& KJIHg93;+OPGPE`T diff --git a/src/web/assets/dist/assets/retour-nCwm8tyg.js b/src/web/assets/dist/assets/retour-nCwm8tyg.js new file mode 100644 index 00000000..e1fbff32 --- /dev/null +++ b/src/web/assets/dist/assets/retour-nCwm8tyg.js @@ -0,0 +1,2 @@ + +//# sourceMappingURL=retour-nCwm8tyg.js.map diff --git a/src/web/assets/dist/assets/retour-nCwm8tyg.js.map b/src/web/assets/dist/assets/retour-nCwm8tyg.js.map new file mode 100644 index 00000000..47e2b347 --- /dev/null +++ b/src/web/assets/dist/assets/retour-nCwm8tyg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"retour-nCwm8tyg.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js b/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js similarity index 98% rename from src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js rename to src/web/assets/dist/assets/shortlinks-6cjZJRFA.js index bcdc3050..d0387368 100644 --- a/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js +++ b/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js @@ -1,6 +1,6 @@ -import{V as c,a as d,b as u,c as f,s as h,p,_ as m}from"./purify.es-Xo6LZ5T9.js";import{L as g}from"./LegacyUrl-7VynczAE.js";import{n as l}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const v=[{name:"__checkbox",titleClass:"center aligned",dataClass:"center aligned"},{name:"__component:legacy-url",sortField:"redirectSrcUrl",title:Craft.t("retour","Short Link"),titleClass:"center",dataClass:"center"},{name:"__component:element-url",sortField:"elementTitle",title:Craft.t("retour","Redirect To"),titleClass:"center",dataClass:"center"},{name:"redirectMatchType",sortField:"redirectMatchType",title:Craft.t("retour","Match Type"),titleClass:"text-left",dataClass:"text-left",callback:"matchFormatter"},{name:"siteName",sortField:"siteId",title:Craft.t("retour","Sites"),titleClass:"text-left",dataClass:"text-left"},{name:"redirectHttpCode",sortField:"redirectHttpCode",title:Craft.t("retour","Status"),titleClass:"text-left",dataClass:"text-left"},{name:"hitCount",sortField:"hitCount",title:Craft.t("retour","Hits"),titleClass:"text-right",dataClass:"text-right"},{name:"hitLastTime",sortField:"hitLastTime",title:Craft.t("retour","Last Hit"),titleClass:"center",dataClass:"center"}],b={props:{rowData:{type:Object,required:!0},rowIndex:{type:Number,default:0}},computed:{linkTitle:function(){let a="";return a+=this.rowData.redirectDestUrl,a}}};var C=function(){var e=this,t=e._self._c;return t("div",[t("a",{staticClass:"go",attrs:{href:e.rowData.elementCpUrl,title:e.linkTitle}},[t("span",{staticStyle:{"white-space":"nowrap"}},[t("span"),t("span",{staticStyle:{"white-space":"normal"}},[e._v(e._s(e.rowData.elementTitle))])])])])},_=[],T=l(b,C,_,!1,null,null);const x=T.exports;Vue.component("LegacyUrl",g);Vue.component("ElementUrl",x);const $={components:{vuetable:c,"vuetable-pagination":d,"vuetable-pagination-info":u,"vuetable-filter-bar":f},mixins:[h],props:{siteId:{type:Number,default:0},apiUrl:{type:String,default:""}},data:function(){return{moreParams:{siteId:this.siteId,shortLinks:!0},css:{tableClass:"data fullwidth retour-redirects",ascendingIcon:"icon retour-menubtn-asc",descendingIcon:"icon retour-menubtn-desc"},sortOrder:[{field:"hitCount",sortField:"hitCount",direction:"desc"}],fields:v,numSelected:0,selectedIds:[],filterText:"",perPage:20,stringPerPage:Craft.t("retour","Per-page:"),stringDelete:Craft.t("retour","Delete"),stringRedirect:Craft.t("retour","redirect"),stringRedirects:Craft.t("retour","redirects")}},computed:{csrfTokenName:function(){return window.Craft.csrfTokenName},csrfTokenValue:function(){return window.Craft.csrfTokenValue}},watch:{perPage:function(){this.$events.fire("refresh-table",this.$refs.vuetable)}},mounted(){this.$events.$on("filter-set",a=>this.onFilterSet(a)),this.$events.$on("filter-reset",()=>this.onFilterReset()),this.$refs.vuetable.$on("vuetable:checkbox-toggled",(a,e)=>this.onCheckboxToggled(a,e)),this.$refs.vuetable.$on("vuetable:checkbox-toggled-all",a=>this.onCheckboxToggled(a,null))},methods:{getSaveStateConfig(){return{cacheKey:"retour-shortlinks-state-v2-"+Craft.username+Craft.siteId,ignoreProperties:["numSelected","selectedIds","moreParams"]}},onFilterSet(a){this.filterText=a,this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onFilterReset(){this.filterText="",this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onPaginationData(a){this.$refs.paginationTop.setPaginationData(a),this.$refs.paginationInfoTop.setPaginationData(a),this.$refs.pagination.setPaginationData(a),this.$refs.paginationInfo.setPaginationData(a)},onChangePage(a){this.$refs.vuetable.changePage(a)},onCheckboxToggled(){this.numSelected=0,this.selectedIds=[],this.$refs.vuetable!==void 0&&this.$refs.vuetable.selectedTo!==void 0&&(this.numSelected=this.$refs.vuetable.selectedTo.length,this.selectedIds=this.$refs.vuetable.selectedTo)},matchFormatter(a){let e="Pluing Match";switch(a){case"exactmatch":e="Exact Match";break;case"regexmatch":e="RegEx Match";break}return e},urlFormatter(a){if(a==="")return"";a=p.sanitize(a),a=encodeURI(a);let e=a;return!new RegExp("^(?:[a-z]+:)?//","i").test(e)&&!e.includes("$")&&(e=Craft.getSiteUrl(e)),` +import{V as c,a as d,b as u,c as f,s as h,p,_ as m}from"./purify.es-DnCl3rD_.js";import{L as g}from"./LegacyUrl-7VynczAE.js";import{n as l}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const v=[{name:"__checkbox",titleClass:"center aligned",dataClass:"center aligned"},{name:"__component:legacy-url",sortField:"redirectSrcUrl",title:Craft.t("retour","Short Link"),titleClass:"center",dataClass:"center"},{name:"__component:element-url",sortField:"elementTitle",title:Craft.t("retour","Redirect To"),titleClass:"center",dataClass:"center"},{name:"redirectMatchType",sortField:"redirectMatchType",title:Craft.t("retour","Match Type"),titleClass:"text-left",dataClass:"text-left",callback:"matchFormatter"},{name:"siteName",sortField:"siteId",title:Craft.t("retour","Sites"),titleClass:"text-left",dataClass:"text-left"},{name:"redirectHttpCode",sortField:"redirectHttpCode",title:Craft.t("retour","Status"),titleClass:"text-left",dataClass:"text-left"},{name:"hitCount",sortField:"hitCount",title:Craft.t("retour","Hits"),titleClass:"text-right",dataClass:"text-right"},{name:"hitLastTime",sortField:"hitLastTime",title:Craft.t("retour","Last Hit"),titleClass:"center",dataClass:"center"}],b={props:{rowData:{type:Object,required:!0},rowIndex:{type:Number,default:0}},computed:{linkTitle:function(){let a="";return a+=this.rowData.redirectDestUrl,a}}};var C=function(){var e=this,t=e._self._c;return t("div",[t("a",{staticClass:"go",attrs:{href:e.rowData.elementCpUrl,title:e.linkTitle}},[t("span",{staticStyle:{"white-space":"nowrap"}},[t("span"),t("span",{staticStyle:{"white-space":"normal"}},[e._v(e._s(e.rowData.elementTitle))])])])])},_=[],T=l(b,C,_,!1,null,null);const x=T.exports;Vue.component("LegacyUrl",g);Vue.component("ElementUrl",x);const $={components:{vuetable:c,"vuetable-pagination":d,"vuetable-pagination-info":u,"vuetable-filter-bar":f},mixins:[h],props:{siteId:{type:Number,default:0},apiUrl:{type:String,default:""}},data:function(){return{moreParams:{siteId:this.siteId,shortLinks:!0},css:{tableClass:"data fullwidth retour-redirects",ascendingIcon:"icon retour-menubtn-asc",descendingIcon:"icon retour-menubtn-desc"},sortOrder:[{field:"hitCount",sortField:"hitCount",direction:"desc"}],fields:v,numSelected:0,selectedIds:[],filterText:"",perPage:20,stringPerPage:Craft.t("retour","Per-page:"),stringDelete:Craft.t("retour","Delete"),stringRedirect:Craft.t("retour","redirect"),stringRedirects:Craft.t("retour","redirects")}},computed:{csrfTokenName:function(){return window.Craft.csrfTokenName},csrfTokenValue:function(){return window.Craft.csrfTokenValue}},watch:{perPage:function(){this.$events.fire("refresh-table",this.$refs.vuetable)}},mounted(){this.$events.$on("filter-set",a=>this.onFilterSet(a)),this.$events.$on("filter-reset",()=>this.onFilterReset()),this.$refs.vuetable.$on("vuetable:checkbox-toggled",(a,e)=>this.onCheckboxToggled(a,e)),this.$refs.vuetable.$on("vuetable:checkbox-toggled-all",a=>this.onCheckboxToggled(a,null))},methods:{getSaveStateConfig(){return{cacheKey:"retour-shortlinks-state-v2-"+Craft.username+Craft.siteId,ignoreProperties:["numSelected","selectedIds","moreParams"]}},onFilterSet(a){this.filterText=a,this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onFilterReset(){this.filterText="",this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onPaginationData(a){this.$refs.paginationTop.setPaginationData(a),this.$refs.paginationInfoTop.setPaginationData(a),this.$refs.pagination.setPaginationData(a),this.$refs.paginationInfo.setPaginationData(a)},onChangePage(a){this.$refs.vuetable.changePage(a)},onCheckboxToggled(){this.numSelected=0,this.selectedIds=[],this.$refs.vuetable!==void 0&&this.$refs.vuetable.selectedTo!==void 0&&(this.numSelected=this.$refs.vuetable.selectedTo.length,this.selectedIds=this.$refs.vuetable.selectedTo)},matchFormatter(a){let e="Pluing Match";switch(a){case"exactmatch":e="Exact Match";break;case"regexmatch":e="RegEx Match";break}return e},urlFormatter(a){if(a==="")return"";a=p.sanitize(a),a=encodeURI(a);let e=a;return!new RegExp("^(?:[a-z]+:)?//","i").test(e)&&!e.includes("$")&&(e=Craft.getSiteUrl(e)),`
${a} `},deleteRedirectFormatter(a){return a===""?"":` `}}};var P=function(){var e=this,t=e._self._c;return t("div",[t("div",{directives:[{name:"show",rawName:"v-show",value:e.numSelected!==0,expression:"numSelected !== 0"}]},[t("form",{attrs:{"accept-charset":"UTF-8",method:"post"}},[t("input",{attrs:{name:e.csrfTokenName,type:"hidden"},domProps:{value:e.csrfTokenValue}}),e._l(e.selectedIds,function(r){return t("input",{key:r,attrs:{name:"redirectIds[]",type:"hidden"},domProps:{value:r}})}),t("label",{staticClass:"text-gray-600"},[e._v(e._s(e.numSelected)+" "),e.numSelected===1?t("span",[e._v(e._s(e.stringRedirect))]):e._e(),e.numSelected!==1?t("span",[e._v(e._s(e.stringRedirects))]):e._e(),e._v(":")]),t("div",{staticClass:"btngroup inline"},[t("div",{staticClass:"ml-2 btn menubtn",attrs:{"data-icon":"settings"}}),t("div",{staticClass:"menu",attrs:{"data-align":"right"}},[t("ul",[t("li",[t("a",{staticClass:"formsubmit",attrs:{"data-action":"retour/redirects/delete-shortlinks"}},[e._v(e._s(e.stringDelete))])])])])])],2)]),t("vuetable-filter-bar",{directives:[{name:"show",rawName:"v-show",value:e.numSelected===0,expression:"numSelected === 0"}],attrs:{"initial-filter-text":e.filterText}}),t("div",{staticClass:"vuetable-pagination clearafter"},[t("vuetable-pagination-info",{ref:"paginationInfoTop"}),t("div",{staticClass:"floated left vuetable-pagination-info py-3"},[t("div",{staticClass:"inline pl-3 text-gray-600"},[e._v(" "+e._s(e.stringPerPage)+" ")]),t("div",{staticClass:"inline pl-3 text-gray-600"},[t("div",{staticClass:"select"},[t("select",{directives:[{name:"model",rawName:"v-model",value:e.perPage,expression:"perPage"}],staticClass:"fieldtoggle",attrs:{"data-target-prefix":"per-page-",name:"perPage"},on:{change:function(r){var n=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.perPage=r.target.multiple?n:n[0]}}},[t("option",{attrs:{selected:"",value:"20"}},[e._v(" 20 ")]),t("option",{attrs:{value:"50"}},[e._v(" 50 ")]),t("option",{attrs:{value:"100"}},[e._v(" 100 ")]),t("option",{attrs:{value:"500"}},[e._v(" 500 ")])])])])]),t("vuetable-pagination",{ref:"paginationTop",on:{"vuetable-pagination:change-page":e.onChangePage}})],1),t("vuetable",{ref:"vuetable",attrs:{"api-url":e.apiUrl,"append-params":e.moreParams,css:e.css,fields:e.fields,"per-page":e.perPage,"sort-order":e.sortOrder},on:{"vuetable:pagination-data":e.onPaginationData}}),t("div",{staticClass:"vuetable-pagination clearafter border-solid"},[t("vuetable-pagination-info",{ref:"paginationInfo"}),t("vuetable-pagination",{ref:"pagination",on:{"vuetable-pagination:change-page":e.onChangePage}})],1)],1)},k=[],w=l($,P,k,!1,null,null);const y=w.exports,i=window.Vue;i.use(m);new i({el:"#cp-nav-content",components:{"shortlinks-table":y},mounted(){this.$events.$on("refresh-table",a=>this.onTableRefresh(a))},methods:{onTableRefresh(a){i.nextTick(()=>a.refresh())}}}); -//# sourceMappingURL=shortlinks-Q4nOpy0m.js.map +//# sourceMappingURL=shortlinks-6cjZJRFA.js.map diff --git a/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.gz b/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1913a9192440d091abd47243fff0d749e18980df GIT binary patch literal 2507 zcmV;+2{iT}iwFP!000021I-!RZreEaeZE3D6BH6kDQ*TcyI@8winK+u+nEUxrw zX}q&0VR}MpZt!=u=*wmouhJ)!!wu?hlx6Q)-W!u&X6fNu*=`<{!7x*Nw-9q~F0(?K z9`o(uF{baiImlA++57;{YPrkw1Jh>6cdom)evGw+@ZNLt^>#QSlX#P>EZ20Sveg@A z7~Po19O)mEPnZ~@@V^CDn9`F$NmRDFk}0lhkl%~N1Qkhf$_ioVpe%`Xs={DOH-gIt z=Q(s*$i(nW`oTt^@mLISq0kgcdhB^@=3GZL>!?xf8`S1b3Bt;DCjba*&lZL4AA>~UT_r?bXWTOo;JgE;p%YZOrl%|`x!YRd;ckS($xn*44Fh=bu z%F@x(Ig>5PTk|N8ZeTU%21A{*1c8FgR*L1&MF_~(qS|omP%#=WeS0>4PeLb85RB@d zl8oc~5gEq9pO8y3CMPe5EQD~sf;yD1<6(qrn-28F#{#1^`1#N#4DxMWsgK+}WkA(zt(Xwli6a$!(~6Q+PpOS0f=E;YTM zk4SBzRnR$ReuU-xPKkQ^)+jD#?KaqJwI0y5$I4GvE17SKrnQ}S1N-{}-Cz))Z7AT8}ks;FwkQBcR zXknmqq2UjeqN4Yk>27E`7_Ta6xTRas7!il4>5|A|af<>I>$wA>>({GP(|ZeLwKBxD zy+o3ux@I$^=L4eM4PVy_`{C#smDM*=2x{0jD9{`Ntu|V?CZ`^NY_4?=RzCr(A?O9C zM62mAdq8Q^+P*<}D=yP)6;%X#z*hbB=SL=ruSa&!Wl2^x$4W*!YUZkT@t66^r3bsjRpvdUpjzHzH_U$XnYm~eOxA{GELncJ`g!^<|I1Ea% zKr_!$O*b<%w`_^FNWjZXPWfyb5fYZn@!$AJYg-Ck46xZihc<#^xI7Qxd8Ok*qq5n% z{;Z=0pGg~5RF6tG|ciyquGNd2cfUzH2XG;ZzO&Y+#ct0&g2Yj z?ASR<>nKSVqC)BWLXFn3#&}Rk(lJR}Qyidv635Gor{3V%vqQWa0>i8W=F|KO7z6wQ=i3g3=mW>02eIIBh4f?{IgXQVKK@iOY!dJ z%4fkvB{-{#+7pQ@&vDFs_>cdJ-m~!Y=s68uot*&z4nbs48y|yb&rUGnG7&|J+J{pJ zo;~w1u0oRydEDTg621+yfBoR?{QH%8i7jekTPS6Pc%3W#DWS6RR^tQMB8R=}7P?dx1GJyYy4{ADnJod&9Nv%z!lz{=kZM{)e(RokKUF#9E@ZMrB% zWAt|@oO~?>-6t_#`amHVxpP%E)jQS1$eGHD+~ZPkiBNWouLrmg;kh?4(yQBqw#jwP zN$9+Uf<|MwoM|Y_V;n914ze5J0fl-}QOQt<$`J%V(r8I&=1>a4BN z&nlPhlv;b8aJP%tcEF=xM9%9=Jk(46O-GHNa@4qX)b@-Cz|b^jJ^6J2#7 zJCV_Sq)r&tZ5ZAbQDqP6Lu{%0&>FHNGs=la>+_Oo5Ss7fkcN4dq7lkl9 z7x+q2c|RDHb%dw{+NPdH20KKk$iw+y>*3&?4_bTJ#jW9g?!o{3Mfewk9>R;kS8&*2 zQDHPcw9>S*1sfZ>MSWQYBl4ohsG+|7ZVQ2&yFXe`jH=NW0hZ?| z(=e|(Ns68B%MGq*)7YO8Z+Hv;Rx-VB4luEc{b)O&$)8VjtsGGm0fVu7^b*3%uZV zkl-(Z3tQ`Re}jU;k4YX%whWU@8njcq?%)+VLy5{V=;PDVpq-X^J1!a8g_~;E&V)K+ zlD*9hk0h?mkS7nm9SzyBeYF<^WmyInKb)QY=;^Fb3I4|NoXgqW&4;)n>@UfuKmT>} V?sfD@+j#WD{{TI$H$NsF008vY*N^}J literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js.map b/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map similarity index 89% rename from src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js.map rename to src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map index 43bf2913..e14c3c27 100644 --- a/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js.map +++ b/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map @@ -1 +1 @@ -{"version":3,"file":"shortlinks-Q4nOpy0m.js","sources":["../../../../../buildchain/src/vue/ShortlinksFieldDefs.js","../../../../../buildchain/src/vue/ElementUrl.vue","../../../../../buildchain/src/vue/ShortlinksTable.vue","../../../../../buildchain/src/js/Shortlinks.js"],"sourcesContent":["// Field definitions for ShortlinksTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:legacy-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', 'Short Link'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: '__component:element-url',\n sortField: 'elementTitle',\n title: Craft.t('retour', 'Redirect To'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: 'redirectMatchType',\n sortField: 'redirectMatchType',\n title: Craft.t('retour', 'Match Type'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n callback: 'matchFormatter'\n },\n {\n name: 'siteName',\n sortField: 'siteId',\n title: Craft.t('retour', 'Sites'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'redirectHttpCode',\n sortField: 'redirectHttpCode',\n title: Craft.t('retour', 'Status'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport ShortlinksTable from '@/vue/ShortlinksTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'shortlinks-table': ShortlinksTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","title","LegacyUrl","ElementUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","value","label","DOMPurify","url","Vue","VueEvents","ShortlinksTable","vuetable"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shortlinks-6cjZJRFA.js","sources":["../../../../../buildchain/src/vue/ShortlinksFieldDefs.js","../../../../../buildchain/src/vue/ElementUrl.vue","../../../../../buildchain/src/vue/ShortlinksTable.vue","../../../../../buildchain/src/js/Shortlinks.js"],"sourcesContent":["// Field definitions for ShortlinksTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:legacy-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', 'Short Link'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: '__component:element-url',\n sortField: 'elementTitle',\n title: Craft.t('retour', 'Redirect To'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: 'redirectMatchType',\n sortField: 'redirectMatchType',\n title: Craft.t('retour', 'Match Type'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n callback: 'matchFormatter'\n },\n {\n name: 'siteName',\n sortField: 'siteId',\n title: Craft.t('retour', 'Sites'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'redirectHttpCode',\n sortField: 'redirectHttpCode',\n title: Craft.t('retour', 'Status'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport ShortlinksTable from '@/vue/ShortlinksTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'shortlinks-table': ShortlinksTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","title","LegacyUrl","ElementUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","value","label","DOMPurify","url","Vue","VueEvents","ShortlinksTable","vuetable"],"mappings":"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"} \ No newline at end of file diff --git a/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map.gz b/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..841e5c017272e120e2b98c236838358037c5b0f0 GIT binary patch literal 3979 zcmV;64|MP!iwFP!000021KnDEbKAJl|0*~>nNpr3B{%n6=Z3c2QnYOAd_E_BiR+8f z6eb}FF$JJa-5(aaiv_UcXKO>UoF>fjesHV>jfv%1 z`6|hHOxbnt8_3i2WmJ=zt%i^+@RKIMiO==MQPF-RCEjKfSvBP1q( zBC?>2a+tcv57xgKRNz^b2M8_D=s4`c;>dFX>EV5cDZslCNOk zFROe}P7z%t-&*I&dS{r2tE;D!Y%_6-sb6KmiUe<`#+*EIHzo_-rF4rJ;yAv;;k}3K zH2@za*&1`0Sl_&I%E_;I-8mhg&7v1X3gsmK{pxQs`w8c1kVIRp-sIV$Fvq<34{5xj zJV*-0yEJXm`ZYYEe4Bn5U9S2SG^jlq{(^IUMZ3M;LGITRIME5^zjwKP*qbxUvGzGx zr!nT_00{dL-5f~SeJuY+$XjJ(F`ipl@^FYb9+nv*NUyVaZdF_%j5D5F%S88iLbvhU zf^04_N<}-^&r{4$&YuMRVMRG{^Av}~Lo9j7aJo0QN~Y0v=4_2)VE+8M8n&UR99Ynv zpZ7p0j7Ltg_|S zsEg>PLfp9dDtQ>sEmo{ANlZdcBJ|yOjCR{mr{bz2>@SjRT|FR#!;qxh4OckJ2_Mg` z>#HO8Cyj&9n($Q;jptUHls7cFCr>r*9!2{Y%DGk%FpKi{ zAHHH5F}@?Q@|(z>%M3rcf7;y@ix`>Sett%B?QdMVXhgzzJVt+%B00|}TdK2&Ughvx zH(3kjI|*Yb+XBorqPIU16EJ5K(T$qV9cRldDN;mPOc|M52j=i*bl2l|9lNj59cO4w zSaHW$-LNu~yEIIga1iH|EgS9~y>ukPicWNK?ga^;6P}<>~F-?#$6{7iNStS zyLOB!o55+2C(C8r!6cRf$Jvr_H_ga`K1xWiDRJBUWwP!Wv>pCQ3T|mHpK3E`Q>yLa z^=^Cgj!f`+x4q=#pnb}y5q{ilSsVU-{CdPc?sh{$|JQ5Tr{+sB_eav&|5nnGPumu; zmTfL%v4}PKFCD^OxWa5HdSH?X3&e9hs7Bkeo<1KgjC5qAH=I(aMU3YbPHF8*;o&qT zEOJwv;kDSil8n3&4+c{xR!^9lePS)CMP*W|HPf{?Jh+s(Nfr@ttV%L|4sFe#EaVxf z43?%a%^TGRN9EsEh!OfGHMqizx%l!N`f$<-TiZ9->=vv&eR9zD-vSf|yzig>{ z!j+{I`$ZJvuCur%rh1`{XmIOVXpOyIA~pEm6-1OHOKxSA*P`U9%4_-PT}kPY*HKa% zx02H2FUo_HzkmTOJvc|={4l{;CxoIlq;tF>P|GpQ;6k69L#M%bcz*V#$mrs!WQ^cq z3eWP6`K};CWwU{;oMb!NjXQfSKJ6XbF+2#IqY*kUGNhQ1yt3!rcX#bCbyHR@wLN7d zr$I8-fWf8hy@g*a)J`FAQcF;u6%85X6{FI$rjL~69(u1_^TBCXCuCvq<%I>OUYU@Y zxg~xn&RuPB+pfvW-$+zPI*Jfws6?)0TqIK?dAOdZ$Fgo%72{$hz0zLY#{#* z7c?Vaq(w&Zl`Au_Q?g{R$yYgXXRl?mHN-KAH1=qOW(z2T#Yu=`6p@XCqJ-HTg*aRh z#8<@FBE+U81?d6}R$lJWu9M_b1;n1vz<8s(CGDJC7C;KJgm(>OtBy2&KWT8WhL=NFk6AXg(5G; z(Du{UUSK8N7E_roY;bqL)$>~uuT~^RyY(pAb7#K$)zLVx%} zr_L4XRZ{2QsU4!*%5BFQ#)K{TYOeuNpTc$sCHq{rV*MkGfvC zNPG~Ymw5g_;RBJDD17UY6J(P|9C9&??U@H?1v>?XCMx{hWdz^vHSsdCB#+zhF358F z_+`B3*1K4N(1@}ki~Fqup(6UkI|$pZ&AtRRlA*d6lrs9#Kg=<_wD>0}huCX!5*8*A zxxSb+8NfkB2J_w+2Tj?J@A4!rIJp*dMjntbO**juHu$sm9=rei@V&S5=g|nZMQZQV zmcVz0^pKOB4~i__fw=#!$l@VoVO&HcAK0(#o!Y#mHgbQ5Qv?+dLb`2<(nx>rdKFgt zL;{r`RlNFKWbyOdLe-}dx8%LVs_# zUcN7@ZYbYA3SKmKsRV+%uW1B155o-dRtDdIY@b`-7Y4f8r7KnSD%ezPpGF-^?xzM* z<3q%rYUGt!?2{F%A}0eiLRp*&G6H3@q{!ff7@{oan1y7{AdcS^WFU-8Vh_!&{|i%> z;f)*0uO;V}(^s=H&ZkxFs-c;)<+jwmV>FKuUAGnidm$NH7nknScSA^>NOWX@*%*1` zS2VmI$g7RY`lV9(Vxw+=&+=q28X;eN;DJugE)dS)`stw+=V|VZMjOh>r+gTZ&1hNB zh>YNk!)l!kS9~4MS^v$i(L0nMk(An1m-K|?Nlb=uvK-8L()E0XSm)T8<^Q9LurPPGC7!QB6Vq%2i=GRwGaW zrSv!$ZH?0uzH+cUtN6taeCN#fiSJB(-**B(xPzambL#tN4)%jzog3f3b?C$oesivU z|HfI0=F|@k4bG)xy5%PUH7W{*7x6n;HMWs zY8`L-0L#Zt!kY@>l|8_ z(3(PPsva9GS}f?`yN1@adYt)wHTtnX1q9jjOGE*-ocPlkrueyk7d#wE1POR6umYu_ zreKpYm2*5X=6s`Cpy*7B=aW*mz;|97?Xq7_?p#XO2iImi-)f`jR+du5X~}n5H{Myt z1kRP|&J{uXYgU)I7tIiwu;zV-=;l;;OPgE_c%ulqbyn9Cl(>@3TcyBlWhVJ}BOP7M z^jK+frY3$V2dN}*2lcI@k`C&%qAn+W(7llw){T8GZCasVB|*0Gg>}m`R@Zgi@o$y$ zq`s#L=B+ZG#wt}kHHBvlVKDl2CFq-Bq}hpTovKI8cc#oGSpI*aqkSrVwd6g}4$JPY zF&kLRK=2>e0ZI?ej2Ty^*2^ZDC|jHvi}%QPewx%rI+Ol5_F;RhAVc+Y+YtlMH#O43 zX%#HyT)LLr&6ii;%lur6t-20!rTq6)pc9>Af4#l*9rW?a)5Ik zD#tbBA4`zq3eHU3$5KBv=vl+*pzEG^%mcv{RMsz>Ngx!0U&%)&$_)=j8dA&4G>1n2 zUZX3RDlv(le6fDOmMQ7c$>+I l)aDWxX1;$WTzRQBq)WBPHUK#NSwLIQ{{k=NC8sVr005~?rDXsB literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js.gz b/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js.gz deleted file mode 100644 index 5e3c3dd9a34c04b70f6a1204832130db19164ca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2508 zcmV;-2{ZN|iwFP!000021I-y}bK5rddw&IuW-{aiq!oAD-G$3!I!-e6Y}$BZIkQub zR)xqX2{i<;0H`Ax{`VaKBt`0Qj(*vAVv@kSfOkK$MIn{heh8=zGED6w#}oS~ab_P= ztnFit3p}uOJ&|L z;5k7Ga;6|Nw<^1{TaF{SQgmt(6CwphmI`5XJD17?Z<%;N(GjtZh;v*F;IIH;4&+W+!S#1B09ULq;MdCgXs%lU~OU!Q`3{9vzk%PCp3E? zXklr*u_j@9LTYB3TPRs*vQ={R ziW*9`W>WxpH~9lHgBAQ)G6gv~8&p`y)wRfBU4#5uE+(LG4pUlkLk3laty7f-anh@n|iSWG%5k+{b4K*yQ4?dF!Q)84S+qr@%ftGje?N^0m>~9#7 z_7qj+=;?xrmgKG3a3EW>nll5jE@%dbAR$+Z7O0C5;m<|2;n<-jA8O1X!b} z7o0M!rbGDv!lt!Dg9uhkluiJLsyyE1P7=wzau(V#4 zOql|Ekf{PakDaw4>>(6Pb<+5ZJ=el281j7*PoxM@?NS;H!Zdy10Hk>1R&T+CG>Y&^ zECmiPjP?-U+x4);>|#P)H^xTJX57|@A;qvGcvbHY{kGfu8oDv%ynDh!x-J|> z6<&au%UqM~49qQEf-Mr@N{T6)?IJ=(vpM_=Hl((t*u?;w4RmZHIK<0~7(MekE;T5d zz3b09YOtBGVMWOTlwqLBJ?gj_!l>hB2%}vLLZhm}eI0ql?i?|t{)%=;>DKR(JxKiN zc=nZchxe@EKt_cAFNC~lGmcH7?PYq%T{;@dBGF(Dpz%@YYcZ8yhVg~OkAmCdT+OMN zfsGw|M`;};>q2;xzAw~h9cxSnUXqSU+M41B^|LfxN|pzMr%#XZZU_uz2QWNf_c&_8 zLCnnjP^8DvtZ(-^7<)ms;)E34@REsH;JPGqsaMQobGw~U4G7jWGY%CINYQKi*?>+I z(1%M0reFr^9oT!AyscQ0T>zEve6`<<`XK6aXur3s6 z?W(fQUT~JC!2new-$YEMS|Gfw`xZpA34I7-v!FWU~ShuJSN zZPP^{8AG^7;p}rM=st<@GDHMLBX=%uQ@vA7jF>4|76B8S2|!iH_J&$dzlZEbc!;2SQsHGNxpxH4PBhxqW_3APFtblC^Ic(G zS)I2v`nh-MPN{X!33t1QT?aghM);z>#AChWUv$*;F-J{nM{Uo@Y(%HL;cx8{5$F^< zr|{+_cl5wG6%GStHaQ$$Mu$QAHiKQT0U$>EN9JLuqq(3P|H%XzSkv2%ywv^bx zZKx8@C6R?i>V#q4hT&ZiRYl2y7GW30vXChnyQ3o}0{v1a{)_0uJ(~n5tLU=5o3!P; zD7j$;hnIqg`@yKHBZL=dmwFl*>=40|M;C*ghoj(P(AvX3ZVmr^5B~d4!apDM5S|Y{ zgTo#RkJ0?#;|_S}d)DuqQjdWXuW4rsHa2vN`l^aX_<4^}Lw)z%76Juxf3zTw_|X?e zv?xI2ap5~j0-f&54X$i5*UjL^nv#9Nt!bi;@gqA%ilrSg+2wZPRP_%=IswC)y+2XE zclp|w7fc-cSWC|GuL^*5^!qHO{Uwdr{}q0)ZPO~{;S+p=AC8V^Y}DquVvniONMsgz2CJn zq0X4(U~|h70c$g4*+XbYLw0QM_oAq(s_62Y^Yd>5ElZWbFSIC_nBBd9n|6f#_us_3 WVl!AIe`p(zzWE;^35`)E9RL91qqf}u diff --git a/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js.map.gz b/src/web/assets/dist/assets/shortlinks-Q4nOpy0m.js.map.gz deleted file mode 100644 index 2e0058e55a4a4774dc0d44b339970690e151ce47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3978 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 diff --git a/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js b/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js new file mode 100644 index 00000000..11b902be --- /dev/null +++ b/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js @@ -0,0 +1,844 @@ +import{c as er,g as Bn}from"./_plugin-vue2_normalizer-DeOsZA-U.js";function tr(v,y){return function(){return v.apply(y,arguments)}}const{toString:Wn}=Object.prototype,{getPrototypeOf:Ts}=Object,vi=(v=>y=>{const C=Wn.call(y);return v[C]||(v[C]=C.slice(8,-1).toLowerCase())})(Object.create(null)),tt=v=>(v=v.toLowerCase(),y=>vi(y)===v),yi=v=>y=>typeof y===v,{isArray:Ht}=Array,Kt=yi("undefined");function jn(v){return v!==null&&!Kt(v)&&v.constructor!==null&&!Kt(v.constructor)&&Ve(v.constructor.isBuffer)&&v.constructor.isBuffer(v)}const ir=tt("ArrayBuffer");function Gn(v){let y;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?y=ArrayBuffer.isView(v):y=v&&v.buffer&&ir(v.buffer),y}const Vn=yi("string"),Ve=yi("function"),sr=yi("number"),wi=v=>v!==null&&typeof v=="object",Un=v=>v===!0||v===!1,fi=v=>{if(vi(v)!=="object")return!1;const y=Ts(v);return(y===null||y===Object.prototype||Object.getPrototypeOf(y)===null)&&!(Symbol.toStringTag in v)&&!(Symbol.iterator in v)},qn=tt("Date"),Zn=tt("File"),$n=tt("Blob"),Jn=tt("FileList"),Kn=v=>wi(v)&&Ve(v.pipe),Qn=v=>{let y;return v&&(typeof FormData=="function"&&v instanceof FormData||Ve(v.append)&&((y=vi(v))==="formdata"||y==="object"&&Ve(v.toString)&&v.toString()==="[object FormData]"))},eo=tt("URLSearchParams"),[to,io,so,ao]=["ReadableStream","Request","Response","Headers"].map(tt),ro=v=>v.trim?v.trim():v.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Qt(v,y,{allOwnKeys:C=!1}={}){if(v===null||typeof v>"u")return;let L,P;if(typeof v!="object"&&(v=[v]),Ht(v))for(L=0,P=v.length;L0;)if(P=C[L],y===P.toLowerCase())return P;return null}const At=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,rr=v=>!Kt(v)&&v!==At;function As(){const{caseless:v}=rr(this)&&this||{},y={},C=(L,P)=>{const z=v&&ar(y,P)||P;fi(y[z])&&fi(L)?y[z]=As(y[z],L):fi(L)?y[z]=As({},L):Ht(L)?y[z]=L.slice():y[z]=L};for(let L=0,P=arguments.length;L(Qt(y,(P,z)=>{C&&Ve(P)?v[z]=tr(P,C):v[z]=P},{allOwnKeys:L}),v),oo=v=>(v.charCodeAt(0)===65279&&(v=v.slice(1)),v),lo=(v,y,C,L)=>{v.prototype=Object.create(y.prototype,L),v.prototype.constructor=v,Object.defineProperty(v,"super",{value:y.prototype}),C&&Object.assign(v.prototype,C)},ho=(v,y,C,L)=>{let P,z,E;const X={};if(y=y||{},v==null)return y;do{for(P=Object.getOwnPropertyNames(v),z=P.length;z-- >0;)E=P[z],(!L||L(E,v,y))&&!X[E]&&(y[E]=v[E],X[E]=!0);v=C!==!1&&Ts(v)}while(v&&(!C||C(v,y))&&v!==Object.prototype);return y},co=(v,y,C)=>{v=String(v),(C===void 0||C>v.length)&&(C=v.length),C-=y.length;const L=v.indexOf(y,C);return L!==-1&&L===C},uo=v=>{if(!v)return null;if(Ht(v))return v;let y=v.length;if(!sr(y))return null;const C=new Array(y);for(;y-- >0;)C[y]=v[y];return C},go=(v=>y=>v&&y instanceof v)(typeof Uint8Array<"u"&&Ts(Uint8Array)),fo=(v,y)=>{const L=(v&&v[Symbol.iterator]).call(v);let P;for(;(P=L.next())&&!P.done;){const z=P.value;y.call(v,z[0],z[1])}},po=(v,y)=>{let C;const L=[];for(;(C=v.exec(y))!==null;)L.push(C);return L},xo=tt("HTMLFormElement"),mo=v=>v.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(C,L,P){return L.toUpperCase()+P}),Da=(({hasOwnProperty:v})=>(y,C)=>v.call(y,C))(Object.prototype),bo=tt("RegExp"),nr=(v,y)=>{const C=Object.getOwnPropertyDescriptors(v),L={};Qt(C,(P,z)=>{let E;(E=y(P,z,v))!==!1&&(L[z]=E||P)}),Object.defineProperties(v,L)},vo=v=>{nr(v,(y,C)=>{if(Ve(v)&&["arguments","caller","callee"].indexOf(C)!==-1)return!1;const L=v[C];if(Ve(L)){if(y.enumerable=!1,"writable"in y){y.writable=!1;return}y.set||(y.set=()=>{throw Error("Can not rewrite read-only method '"+C+"'")})}})},yo=(v,y)=>{const C={},L=P=>{P.forEach(z=>{C[z]=!0})};return Ht(v)?L(v):L(String(v).split(y)),C},wo=()=>{},ko=(v,y)=>v!=null&&Number.isFinite(v=+v)?v:y,bs="abcdefghijklmnopqrstuvwxyz",Na="0123456789",or={DIGIT:Na,ALPHA:bs,ALPHA_DIGIT:bs+bs.toUpperCase()+Na},Ao=(v=16,y=or.ALPHA_DIGIT)=>{let C="";const{length:L}=y;for(;v--;)C+=y[Math.random()*L|0];return C};function So(v){return!!(v&&Ve(v.append)&&v[Symbol.toStringTag]==="FormData"&&v[Symbol.iterator])}const Co=v=>{const y=new Array(10),C=(L,P)=>{if(wi(L)){if(y.indexOf(L)>=0)return;if(!("toJSON"in L)){y[P]=L;const z=Ht(L)?[]:{};return Qt(L,(E,X)=>{const Y=C(E,P+1);!Kt(Y)&&(z[X]=Y)}),y[P]=void 0,z}}return L};return C(v,0)},Lo=tt("AsyncFunction"),Mo=v=>v&&(wi(v)||Ve(v))&&Ve(v.then)&&Ve(v.catch),lr=((v,y)=>v?setImmediate:y?((C,L)=>(At.addEventListener("message",({source:P,data:z})=>{P===At&&z===C&&L.length&&L.shift()()},!1),P=>{L.push(P),At.postMessage(C,"*")}))(`axios@${Math.random()}`,[]):C=>setTimeout(C))(typeof setImmediate=="function",Ve(At.postMessage)),Po=typeof queueMicrotask<"u"?queueMicrotask.bind(At):typeof process<"u"&&process.nextTick||lr,D={isArray:Ht,isArrayBuffer:ir,isBuffer:jn,isFormData:Qn,isArrayBufferView:Gn,isString:Vn,isNumber:sr,isBoolean:Un,isObject:wi,isPlainObject:fi,isReadableStream:to,isRequest:io,isResponse:so,isHeaders:ao,isUndefined:Kt,isDate:qn,isFile:Zn,isBlob:$n,isRegExp:bo,isFunction:Ve,isStream:Kn,isURLSearchParams:eo,isTypedArray:go,isFileList:Jn,forEach:Qt,merge:As,extend:no,trim:ro,stripBOM:oo,inherits:lo,toFlatObject:ho,kindOf:vi,kindOfTest:tt,endsWith:co,toArray:uo,forEachEntry:fo,matchAll:po,isHTMLForm:xo,hasOwnProperty:Da,hasOwnProp:Da,reduceDescriptors:nr,freezeMethods:vo,toObjectSet:yo,toCamelCase:mo,noop:wo,toFiniteNumber:ko,findKey:ar,global:At,isContextDefined:rr,ALPHABET:or,generateString:Ao,isSpecCompliantForm:So,toJSONObject:Co,isAsyncFn:Lo,isThenable:Mo,setImmediate:lr,asap:Po};function le(v,y,C,L,P){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=v,this.name="AxiosError",y&&(this.code=y),C&&(this.config=C),L&&(this.request=L),P&&(this.response=P,this.status=P.status?P.status:null)}D.inherits(le,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:D.toJSONObject(this.config),code:this.code,status:this.status}}});const hr=le.prototype,cr={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(v=>{cr[v]={value:v}});Object.defineProperties(le,cr);Object.defineProperty(hr,"isAxiosError",{value:!0});le.from=(v,y,C,L,P,z)=>{const E=Object.create(hr);return D.toFlatObject(v,E,function(Y){return Y!==Error.prototype},X=>X!=="isAxiosError"),le.call(E,v.message,y,C,L,P),E.cause=v,E.name=v.name,z&&Object.assign(E,z),E};const To=null;function Ss(v){return D.isPlainObject(v)||D.isArray(v)}function dr(v){return D.endsWith(v,"[]")?v.slice(0,-2):v}function _a(v,y,C){return v?v.concat(y).map(function(P,z){return P=dr(P),!C&&z?"["+P+"]":P}).join(C?".":""):y}function Eo(v){return D.isArray(v)&&!v.some(Ss)}const Ro=D.toFlatObject(D,{},null,function(y){return/^is[A-Z]/.test(y)});function ki(v,y,C){if(!D.isObject(v))throw new TypeError("target must be an object");y=y||new FormData,C=D.toFlatObject(C,{metaTokens:!0,dots:!1,indexes:!1},!1,function(ee,J){return!D.isUndefined(J[ee])});const L=C.metaTokens,P=C.visitor||V,z=C.dots,E=C.indexes,Y=(C.Blob||typeof Blob<"u"&&Blob)&&D.isSpecCompliantForm(y);if(!D.isFunction(P))throw new TypeError("visitor must be a function");function _(H){if(H===null)return"";if(D.isDate(H))return H.toISOString();if(!Y&&D.isBlob(H))throw new le("Blob is not supported. Use a Buffer instead.");return D.isArrayBuffer(H)||D.isTypedArray(H)?Y&&typeof Blob=="function"?new Blob([H]):Buffer.from(H):H}function V(H,ee,J){let he=H;if(H&&!J&&typeof H=="object"){if(D.endsWith(ee,"{}"))ee=L?ee:ee.slice(0,-2),H=JSON.stringify(H);else if(D.isArray(H)&&Eo(H)||(D.isFileList(H)||D.endsWith(ee,"[]"))&&(he=D.toArray(H)))return ee=dr(ee),he.forEach(function(Ae,We){!(D.isUndefined(Ae)||Ae===null)&&y.append(E===!0?_a([ee],We,z):E===null?ee:ee+"[]",_(Ae))}),!1}return Ss(H)?!0:(y.append(_a(J,ee,z),_(H)),!1)}const Z=[],oe=Object.assign(Ro,{defaultVisitor:V,convertValue:_,isVisitable:Ss});function ke(H,ee){if(!D.isUndefined(H)){if(Z.indexOf(H)!==-1)throw Error("Circular reference detected in "+ee.join("."));Z.push(H),D.forEach(H,function(he,Le){(!(D.isUndefined(he)||he===null)&&P.call(y,he,D.isString(Le)?Le.trim():Le,ee,oe))===!0&&ke(he,ee?ee.concat(Le):[Le])}),Z.pop()}}if(!D.isObject(v))throw new TypeError("data must be an object");return ke(v),y}function Ba(v){const y={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(v).replace(/[!'()~]|%20|%00/g,function(L){return y[L]})}function Es(v,y){this._pairs=[],v&&ki(v,this,y)}const ur=Es.prototype;ur.append=function(y,C){this._pairs.push([y,C])};ur.toString=function(y){const C=y?function(L){return y.call(this,L,Ba)}:Ba;return this._pairs.map(function(P){return C(P[0])+"="+C(P[1])},"").join("&")};function Io(v){return encodeURIComponent(v).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function gr(v,y,C){if(!y)return v;const L=C&&C.encode||Io;D.isFunction(C)&&(C={serialize:C});const P=C&&C.serialize;let z;if(P?z=P(y,C):z=D.isURLSearchParams(y)?y.toString():new Es(y,C).toString(L),z){const E=v.indexOf("#");E!==-1&&(v=v.slice(0,E)),v+=(v.indexOf("?")===-1?"?":"&")+z}return v}class Wa{constructor(){this.handlers=[]}use(y,C,L){return this.handlers.push({fulfilled:y,rejected:C,synchronous:L?L.synchronous:!1,runWhen:L?L.runWhen:null}),this.handlers.length-1}eject(y){this.handlers[y]&&(this.handlers[y]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(y){D.forEach(this.handlers,function(L){L!==null&&y(L)})}}const fr={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Oo=typeof URLSearchParams<"u"?URLSearchParams:Es,zo=typeof FormData<"u"?FormData:null,Xo=typeof Blob<"u"?Blob:null,Ho={isBrowser:!0,classes:{URLSearchParams:Oo,FormData:zo,Blob:Xo},protocols:["http","https","file","blob","url","data"]},Rs=typeof window<"u"&&typeof document<"u",Cs=typeof navigator=="object"&&navigator||void 0,Fo=Rs&&(!Cs||["ReactNative","NativeScript","NS"].indexOf(Cs.product)<0),Yo=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Do=Rs&&window.location.href||"http://localhost",No=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Rs,hasStandardBrowserEnv:Fo,hasStandardBrowserWebWorkerEnv:Yo,navigator:Cs,origin:Do},Symbol.toStringTag,{value:"Module"})),He={...No,...Ho};function _o(v,y){return ki(v,new He.classes.URLSearchParams,Object.assign({visitor:function(C,L,P,z){return He.isNode&&D.isBuffer(C)?(this.append(L,C.toString("base64")),!1):z.defaultVisitor.apply(this,arguments)}},y))}function Bo(v){return D.matchAll(/\w+|\[(\w*)]/g,v).map(y=>y[0]==="[]"?"":y[1]||y[0])}function Wo(v){const y={},C=Object.keys(v);let L;const P=C.length;let z;for(L=0;L=C.length;return E=!E&&D.isArray(P)?P.length:E,Y?(D.hasOwnProp(P,E)?P[E]=[P[E],L]:P[E]=L,!X):((!P[E]||!D.isObject(P[E]))&&(P[E]=[]),y(C,L,P[E],z)&&D.isArray(P[E])&&(P[E]=Wo(P[E])),!X)}if(D.isFormData(v)&&D.isFunction(v.entries)){const C={};return D.forEachEntry(v,(L,P)=>{y(Bo(L),P,C,0)}),C}return null}function jo(v,y,C){if(D.isString(v))try{return(y||JSON.parse)(v),D.trim(v)}catch(L){if(L.name!=="SyntaxError")throw L}return(0,JSON.stringify)(v)}const ei={transitional:fr,adapter:["xhr","http","fetch"],transformRequest:[function(y,C){const L=C.getContentType()||"",P=L.indexOf("application/json")>-1,z=D.isObject(y);if(z&&D.isHTMLForm(y)&&(y=new FormData(y)),D.isFormData(y))return P?JSON.stringify(pr(y)):y;if(D.isArrayBuffer(y)||D.isBuffer(y)||D.isStream(y)||D.isFile(y)||D.isBlob(y)||D.isReadableStream(y))return y;if(D.isArrayBufferView(y))return y.buffer;if(D.isURLSearchParams(y))return C.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),y.toString();let X;if(z){if(L.indexOf("application/x-www-form-urlencoded")>-1)return _o(y,this.formSerializer).toString();if((X=D.isFileList(y))||L.indexOf("multipart/form-data")>-1){const Y=this.env&&this.env.FormData;return ki(X?{"files[]":y}:y,Y&&new Y,this.formSerializer)}}return z||P?(C.setContentType("application/json",!1),jo(y)):y}],transformResponse:[function(y){const C=this.transitional||ei.transitional,L=C&&C.forcedJSONParsing,P=this.responseType==="json";if(D.isResponse(y)||D.isReadableStream(y))return y;if(y&&D.isString(y)&&(L&&!this.responseType||P)){const E=!(C&&C.silentJSONParsing)&&P;try{return JSON.parse(y)}catch(X){if(E)throw X.name==="SyntaxError"?le.from(X,le.ERR_BAD_RESPONSE,this,null,this.response):X}}return y}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:He.classes.FormData,Blob:He.classes.Blob},validateStatus:function(y){return y>=200&&y<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};D.forEach(["delete","get","head","post","put","patch"],v=>{ei.headers[v]={}});const Go=D.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vo=v=>{const y={};let C,L,P;return v&&v.split(` +`).forEach(function(E){P=E.indexOf(":"),C=E.substring(0,P).trim().toLowerCase(),L=E.substring(P+1).trim(),!(!C||y[C]&&Go[C])&&(C==="set-cookie"?y[C]?y[C].push(L):y[C]=[L]:y[C]=y[C]?y[C]+", "+L:L)}),y},ja=Symbol("internals");function Jt(v){return v&&String(v).trim().toLowerCase()}function pi(v){return v===!1||v==null?v:D.isArray(v)?v.map(pi):String(v)}function Uo(v){const y=Object.create(null),C=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let L;for(;L=C.exec(v);)y[L[1]]=L[2];return y}const qo=v=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(v.trim());function vs(v,y,C,L,P){if(D.isFunction(L))return L.call(this,y,C);if(P&&(y=C),!!D.isString(y)){if(D.isString(L))return y.indexOf(L)!==-1;if(D.isRegExp(L))return L.test(y)}}function Zo(v){return v.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(y,C,L)=>C.toUpperCase()+L)}function $o(v,y){const C=D.toCamelCase(" "+y);["get","set","has"].forEach(L=>{Object.defineProperty(v,L+C,{value:function(P,z,E){return this[L].call(this,y,P,z,E)},configurable:!0})})}class Be{constructor(y){y&&this.set(y)}set(y,C,L){const P=this;function z(X,Y,_){const V=Jt(Y);if(!V)throw new Error("header name must be a non-empty string");const Z=D.findKey(P,V);(!Z||P[Z]===void 0||_===!0||_===void 0&&P[Z]!==!1)&&(P[Z||Y]=pi(X))}const E=(X,Y)=>D.forEach(X,(_,V)=>z(_,V,Y));if(D.isPlainObject(y)||y instanceof this.constructor)E(y,C);else if(D.isString(y)&&(y=y.trim())&&!qo(y))E(Vo(y),C);else if(D.isHeaders(y))for(const[X,Y]of y.entries())z(Y,X,L);else y!=null&&z(C,y,L);return this}get(y,C){if(y=Jt(y),y){const L=D.findKey(this,y);if(L){const P=this[L];if(!C)return P;if(C===!0)return Uo(P);if(D.isFunction(C))return C.call(this,P,L);if(D.isRegExp(C))return C.exec(P);throw new TypeError("parser must be boolean|regexp|function")}}}has(y,C){if(y=Jt(y),y){const L=D.findKey(this,y);return!!(L&&this[L]!==void 0&&(!C||vs(this,this[L],L,C)))}return!1}delete(y,C){const L=this;let P=!1;function z(E){if(E=Jt(E),E){const X=D.findKey(L,E);X&&(!C||vs(L,L[X],X,C))&&(delete L[X],P=!0)}}return D.isArray(y)?y.forEach(z):z(y),P}clear(y){const C=Object.keys(this);let L=C.length,P=!1;for(;L--;){const z=C[L];(!y||vs(this,this[z],z,y,!0))&&(delete this[z],P=!0)}return P}normalize(y){const C=this,L={};return D.forEach(this,(P,z)=>{const E=D.findKey(L,z);if(E){C[E]=pi(P),delete C[z];return}const X=y?Zo(z):String(z).trim();X!==z&&delete C[z],C[X]=pi(P),L[X]=!0}),this}concat(...y){return this.constructor.concat(this,...y)}toJSON(y){const C=Object.create(null);return D.forEach(this,(L,P)=>{L!=null&&L!==!1&&(C[P]=y&&D.isArray(L)?L.join(", "):L)}),C}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([y,C])=>y+": "+C).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(y){return y instanceof this?y:new this(y)}static concat(y,...C){const L=new this(y);return C.forEach(P=>L.set(P)),L}static accessor(y){const L=(this[ja]=this[ja]={accessors:{}}).accessors,P=this.prototype;function z(E){const X=Jt(E);L[X]||($o(P,E),L[X]=!0)}return D.isArray(y)?y.forEach(z):z(y),this}}Be.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);D.reduceDescriptors(Be.prototype,({value:v},y)=>{let C=y[0].toUpperCase()+y.slice(1);return{get:()=>v,set(L){this[C]=L}}});D.freezeMethods(Be);function ys(v,y){const C=this||ei,L=y||C,P=Be.from(L.headers);let z=L.data;return D.forEach(v,function(X){z=X.call(C,z,P.normalize(),y?y.status:void 0)}),P.normalize(),z}function xr(v){return!!(v&&v.__CANCEL__)}function Ft(v,y,C){le.call(this,v??"canceled",le.ERR_CANCELED,y,C),this.name="CanceledError"}D.inherits(Ft,le,{__CANCEL__:!0});function mr(v,y,C){const L=C.config.validateStatus;!C.status||!L||L(C.status)?v(C):y(new le("Request failed with status code "+C.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(C.status/100)-4],C.config,C.request,C))}function Jo(v){const y=/^([-+\w]{1,25})(:?\/\/|:)/.exec(v);return y&&y[1]||""}function Ko(v,y){v=v||10;const C=new Array(v),L=new Array(v);let P=0,z=0,E;return y=y!==void 0?y:1e3,function(Y){const _=Date.now(),V=L[z];E||(E=_),C[P]=Y,L[P]=_;let Z=z,oe=0;for(;Z!==P;)oe+=C[Z++],Z=Z%v;if(P=(P+1)%v,P===z&&(z=(z+1)%v),_-E{C=V,P=null,z&&(clearTimeout(z),z=null),v.apply(null,_)};return[(..._)=>{const V=Date.now(),Z=V-C;Z>=L?E(_,V):(P=_,z||(z=setTimeout(()=>{z=null,E(P)},L-Z)))},()=>P&&E(P)]}const mi=(v,y,C=3)=>{let L=0;const P=Ko(50,250);return Qo(z=>{const E=z.loaded,X=z.lengthComputable?z.total:void 0,Y=E-L,_=P(Y),V=E<=X;L=E;const Z={loaded:E,total:X,progress:X?E/X:void 0,bytes:Y,rate:_||void 0,estimated:_&&X&&V?(X-E)/_:void 0,event:z,lengthComputable:X!=null,[y?"download":"upload"]:!0};v(Z)},C)},Ga=(v,y)=>{const C=v!=null;return[L=>y[0]({lengthComputable:C,total:v,loaded:L}),y[1]]},Va=v=>(...y)=>D.asap(()=>v(...y)),el=He.hasStandardBrowserEnv?((v,y)=>C=>(C=new URL(C,He.origin),v.protocol===C.protocol&&v.host===C.host&&(y||v.port===C.port)))(new URL(He.origin),He.navigator&&/(msie|trident)/i.test(He.navigator.userAgent)):()=>!0,tl=He.hasStandardBrowserEnv?{write(v,y,C,L,P,z){const E=[v+"="+encodeURIComponent(y)];D.isNumber(C)&&E.push("expires="+new Date(C).toGMTString()),D.isString(L)&&E.push("path="+L),D.isString(P)&&E.push("domain="+P),z===!0&&E.push("secure"),document.cookie=E.join("; ")},read(v){const y=document.cookie.match(new RegExp("(^|;\\s*)("+v+")=([^;]*)"));return y?decodeURIComponent(y[3]):null},remove(v){this.write(v,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function il(v){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(v)}function sl(v,y){return y?v.replace(/\/?\/$/,"")+"/"+y.replace(/^\/+/,""):v}function br(v,y){return v&&!il(y)?sl(v,y):y}const Ua=v=>v instanceof Be?{...v}:v;function Ct(v,y){y=y||{};const C={};function L(_,V,Z,oe){return D.isPlainObject(_)&&D.isPlainObject(V)?D.merge.call({caseless:oe},_,V):D.isPlainObject(V)?D.merge({},V):D.isArray(V)?V.slice():V}function P(_,V,Z,oe){if(D.isUndefined(V)){if(!D.isUndefined(_))return L(void 0,_,Z,oe)}else return L(_,V,Z,oe)}function z(_,V){if(!D.isUndefined(V))return L(void 0,V)}function E(_,V){if(D.isUndefined(V)){if(!D.isUndefined(_))return L(void 0,_)}else return L(void 0,V)}function X(_,V,Z){if(Z in y)return L(_,V);if(Z in v)return L(void 0,_)}const Y={url:z,method:z,data:z,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:X,headers:(_,V,Z)=>P(Ua(_),Ua(V),Z,!0)};return D.forEach(Object.keys(Object.assign({},v,y)),function(V){const Z=Y[V]||P,oe=Z(v[V],y[V],V);D.isUndefined(oe)&&Z!==X||(C[V]=oe)}),C}const vr=v=>{const y=Ct({},v);let{data:C,withXSRFToken:L,xsrfHeaderName:P,xsrfCookieName:z,headers:E,auth:X}=y;y.headers=E=Be.from(E),y.url=gr(br(y.baseURL,y.url),v.params,v.paramsSerializer),X&&E.set("Authorization","Basic "+btoa((X.username||"")+":"+(X.password?unescape(encodeURIComponent(X.password)):"")));let Y;if(D.isFormData(C)){if(He.hasStandardBrowserEnv||He.hasStandardBrowserWebWorkerEnv)E.setContentType(void 0);else if((Y=E.getContentType())!==!1){const[_,...V]=Y?Y.split(";").map(Z=>Z.trim()).filter(Boolean):[];E.setContentType([_||"multipart/form-data",...V].join("; "))}}if(He.hasStandardBrowserEnv&&(L&&D.isFunction(L)&&(L=L(y)),L||L!==!1&&el(y.url))){const _=P&&z&&tl.read(z);_&&E.set(P,_)}return y},al=typeof XMLHttpRequest<"u",rl=al&&function(v){return new Promise(function(C,L){const P=vr(v);let z=P.data;const E=Be.from(P.headers).normalize();let{responseType:X,onUploadProgress:Y,onDownloadProgress:_}=P,V,Z,oe,ke,H;function ee(){ke&&ke(),H&&H(),P.cancelToken&&P.cancelToken.unsubscribe(V),P.signal&&P.signal.removeEventListener("abort",V)}let J=new XMLHttpRequest;J.open(P.method.toUpperCase(),P.url,!0),J.timeout=P.timeout;function he(){if(!J)return;const Ae=Be.from("getAllResponseHeaders"in J&&J.getAllResponseHeaders()),R={data:!X||X==="text"||X==="json"?J.responseText:J.response,status:J.status,statusText:J.statusText,headers:Ae,config:v,request:J};mr(function(Je){C(Je),ee()},function(Je){L(Je),ee()},R),J=null}"onloadend"in J?J.onloadend=he:J.onreadystatechange=function(){!J||J.readyState!==4||J.status===0&&!(J.responseURL&&J.responseURL.indexOf("file:")===0)||setTimeout(he)},J.onabort=function(){J&&(L(new le("Request aborted",le.ECONNABORTED,v,J)),J=null)},J.onerror=function(){L(new le("Network Error",le.ERR_NETWORK,v,J)),J=null},J.ontimeout=function(){let We=P.timeout?"timeout of "+P.timeout+"ms exceeded":"timeout exceeded";const R=P.transitional||fr;P.timeoutErrorMessage&&(We=P.timeoutErrorMessage),L(new le(We,R.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,v,J)),J=null},z===void 0&&E.setContentType(null),"setRequestHeader"in J&&D.forEach(E.toJSON(),function(We,R){J.setRequestHeader(R,We)}),D.isUndefined(P.withCredentials)||(J.withCredentials=!!P.withCredentials),X&&X!=="json"&&(J.responseType=P.responseType),_&&([oe,H]=mi(_,!0),J.addEventListener("progress",oe)),Y&&J.upload&&([Z,ke]=mi(Y),J.upload.addEventListener("progress",Z),J.upload.addEventListener("loadend",ke)),(P.cancelToken||P.signal)&&(V=Ae=>{J&&(L(!Ae||Ae.type?new Ft(null,v,J):Ae),J.abort(),J=null)},P.cancelToken&&P.cancelToken.subscribe(V),P.signal&&(P.signal.aborted?V():P.signal.addEventListener("abort",V)));const Le=Jo(P.url);if(Le&&He.protocols.indexOf(Le)===-1){L(new le("Unsupported protocol "+Le+":",le.ERR_BAD_REQUEST,v));return}J.send(z||null)})},nl=(v,y)=>{const{length:C}=v=v?v.filter(Boolean):[];if(y||C){let L=new AbortController,P;const z=function(_){if(!P){P=!0,X();const V=_ instanceof Error?_:this.reason;L.abort(V instanceof le?V:new Ft(V instanceof Error?V.message:V))}};let E=y&&setTimeout(()=>{E=null,z(new le(`timeout ${y} of ms exceeded`,le.ETIMEDOUT))},y);const X=()=>{v&&(E&&clearTimeout(E),E=null,v.forEach(_=>{_.unsubscribe?_.unsubscribe(z):_.removeEventListener("abort",z)}),v=null)};v.forEach(_=>_.addEventListener("abort",z));const{signal:Y}=L;return Y.unsubscribe=()=>D.asap(X),Y}},ol=function*(v,y){let C=v.byteLength;if(C{const P=ll(v,y);let z=0,E,X=Y=>{E||(E=!0,L&&L(Y))};return new ReadableStream({async pull(Y){try{const{done:_,value:V}=await P.next();if(_){X(),Y.close();return}let Z=V.byteLength;if(C){let oe=z+=Z;C(oe)}Y.enqueue(new Uint8Array(V))}catch(_){throw X(_),_}},cancel(Y){return X(Y),P.return()}},{highWaterMark:2})},Ai=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",yr=Ai&&typeof ReadableStream=="function",cl=Ai&&(typeof TextEncoder=="function"?(v=>y=>v.encode(y))(new TextEncoder):async v=>new Uint8Array(await new Response(v).arrayBuffer())),wr=(v,...y)=>{try{return!!v(...y)}catch{return!1}},dl=yr&&wr(()=>{let v=!1;const y=new Request(He.origin,{body:new ReadableStream,method:"POST",get duplex(){return v=!0,"half"}}).headers.has("Content-Type");return v&&!y}),Za=64*1024,Ls=yr&&wr(()=>D.isReadableStream(new Response("").body)),bi={stream:Ls&&(v=>v.body)};Ai&&(v=>{["text","arrayBuffer","blob","formData","stream"].forEach(y=>{!bi[y]&&(bi[y]=D.isFunction(v[y])?C=>C[y]():(C,L)=>{throw new le(`Response type '${y}' is not supported`,le.ERR_NOT_SUPPORT,L)})})})(new Response);const ul=async v=>{if(v==null)return 0;if(D.isBlob(v))return v.size;if(D.isSpecCompliantForm(v))return(await new Request(He.origin,{method:"POST",body:v}).arrayBuffer()).byteLength;if(D.isArrayBufferView(v)||D.isArrayBuffer(v))return v.byteLength;if(D.isURLSearchParams(v)&&(v=v+""),D.isString(v))return(await cl(v)).byteLength},gl=async(v,y)=>{const C=D.toFiniteNumber(v.getContentLength());return C??ul(y)},fl=Ai&&(async v=>{let{url:y,method:C,data:L,signal:P,cancelToken:z,timeout:E,onDownloadProgress:X,onUploadProgress:Y,responseType:_,headers:V,withCredentials:Z="same-origin",fetchOptions:oe}=vr(v);_=_?(_+"").toLowerCase():"text";let ke=nl([P,z&&z.toAbortSignal()],E),H;const ee=ke&&ke.unsubscribe&&(()=>{ke.unsubscribe()});let J;try{if(Y&&dl&&C!=="get"&&C!=="head"&&(J=await gl(V,L))!==0){let R=new Request(y,{method:"POST",body:L,duplex:"half"}),Fe;if(D.isFormData(L)&&(Fe=R.headers.get("content-type"))&&V.setContentType(Fe),R.body){const[Je,ut]=Ga(J,mi(Va(Y)));L=qa(R.body,Za,Je,ut)}}D.isString(Z)||(Z=Z?"include":"omit");const he="credentials"in Request.prototype;H=new Request(y,{...oe,signal:ke,method:C.toUpperCase(),headers:V.normalize().toJSON(),body:L,duplex:"half",credentials:he?Z:void 0});let Le=await fetch(H);const Ae=Ls&&(_==="stream"||_==="response");if(Ls&&(X||Ae&&ee)){const R={};["status","statusText","headers"].forEach(re=>{R[re]=Le[re]});const Fe=D.toFiniteNumber(Le.headers.get("content-length")),[Je,ut]=X&&Ga(Fe,mi(Va(X),!0))||[];Le=new Response(qa(Le.body,Za,Je,()=>{ut&&ut(),ee&&ee()}),R)}_=_||"text";let We=await bi[D.findKey(bi,_)||"text"](Le,v);return!Ae&&ee&&ee(),await new Promise((R,Fe)=>{mr(R,Fe,{data:We,headers:Be.from(Le.headers),status:Le.status,statusText:Le.statusText,config:v,request:H})})}catch(he){throw ee&&ee(),he&&he.name==="TypeError"&&/fetch/i.test(he.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,v,H),{cause:he.cause||he}):le.from(he,he&&he.code,v,H)}}),Ms={http:To,xhr:rl,fetch:fl};D.forEach(Ms,(v,y)=>{if(v){try{Object.defineProperty(v,"name",{value:y})}catch{}Object.defineProperty(v,"adapterName",{value:y})}});const $a=v=>`- ${v}`,pl=v=>D.isFunction(v)||v===null||v===!1,kr={getAdapter:v=>{v=D.isArray(v)?v:[v];const{length:y}=v;let C,L;const P={};for(let z=0;z`adapter ${X} `+(Y===!1?"is not supported by the environment":"is not available in the build"));let E=y?z.length>1?`since : +`+z.map($a).join(` +`):" "+$a(z[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+E,"ERR_NOT_SUPPORT")}return L},adapters:Ms};function ws(v){if(v.cancelToken&&v.cancelToken.throwIfRequested(),v.signal&&v.signal.aborted)throw new Ft(null,v)}function Ja(v){return ws(v),v.headers=Be.from(v.headers),v.data=ys.call(v,v.transformRequest),["post","put","patch"].indexOf(v.method)!==-1&&v.headers.setContentType("application/x-www-form-urlencoded",!1),kr.getAdapter(v.adapter||ei.adapter)(v).then(function(L){return ws(v),L.data=ys.call(v,v.transformResponse,L),L.headers=Be.from(L.headers),L},function(L){return xr(L)||(ws(v),L&&L.response&&(L.response.data=ys.call(v,v.transformResponse,L.response),L.response.headers=Be.from(L.response.headers))),Promise.reject(L)})}const Ar="1.7.8",Si={};["object","boolean","number","function","string","symbol"].forEach((v,y)=>{Si[v]=function(L){return typeof L===v||"a"+(y<1?"n ":" ")+v}});const Ka={};Si.transitional=function(y,C,L){function P(z,E){return"[Axios v"+Ar+"] Transitional option '"+z+"'"+E+(L?". "+L:"")}return(z,E,X)=>{if(y===!1)throw new le(P(E," has been removed"+(C?" in "+C:"")),le.ERR_DEPRECATED);return C&&!Ka[E]&&(Ka[E]=!0,console.warn(P(E," has been deprecated since v"+C+" and will be removed in the near future"))),y?y(z,E,X):!0}};Si.spelling=function(y){return(C,L)=>(console.warn(`${L} is likely a misspelling of ${y}`),!0)};function xl(v,y,C){if(typeof v!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);const L=Object.keys(v);let P=L.length;for(;P-- >0;){const z=L[P],E=y[z];if(E){const X=v[z],Y=X===void 0||E(X,z,v);if(Y!==!0)throw new le("option "+z+" must be "+Y,le.ERR_BAD_OPTION_VALUE);continue}if(C!==!0)throw new le("Unknown option "+z,le.ERR_BAD_OPTION)}}const xi={assertOptions:xl,validators:Si},st=xi.validators;class St{constructor(y){this.defaults=y,this.interceptors={request:new Wa,response:new Wa}}async request(y,C){try{return await this._request(y,C)}catch(L){if(L instanceof Error){let P={};Error.captureStackTrace?Error.captureStackTrace(P):P=new Error;const z=P.stack?P.stack.replace(/^.+\n/,""):"";try{L.stack?z&&!String(L.stack).endsWith(z.replace(/^.+\n.+\n/,""))&&(L.stack+=` +`+z):L.stack=z}catch{}}throw L}}_request(y,C){typeof y=="string"?(C=C||{},C.url=y):C=y||{},C=Ct(this.defaults,C);const{transitional:L,paramsSerializer:P,headers:z}=C;L!==void 0&&xi.assertOptions(L,{silentJSONParsing:st.transitional(st.boolean),forcedJSONParsing:st.transitional(st.boolean),clarifyTimeoutError:st.transitional(st.boolean)},!1),P!=null&&(D.isFunction(P)?C.paramsSerializer={serialize:P}:xi.assertOptions(P,{encode:st.function,serialize:st.function},!0)),xi.assertOptions(C,{baseUrl:st.spelling("baseURL"),withXsrfToken:st.spelling("withXSRFToken")},!0),C.method=(C.method||this.defaults.method||"get").toLowerCase();let E=z&&D.merge(z.common,z[C.method]);z&&D.forEach(["delete","get","head","post","put","patch","common"],H=>{delete z[H]}),C.headers=Be.concat(E,z);const X=[];let Y=!0;this.interceptors.request.forEach(function(ee){typeof ee.runWhen=="function"&&ee.runWhen(C)===!1||(Y=Y&&ee.synchronous,X.unshift(ee.fulfilled,ee.rejected))});const _=[];this.interceptors.response.forEach(function(ee){_.push(ee.fulfilled,ee.rejected)});let V,Z=0,oe;if(!Y){const H=[Ja.bind(this),void 0];for(H.unshift.apply(H,X),H.push.apply(H,_),oe=H.length,V=Promise.resolve(C);Z{if(!L._listeners)return;let z=L._listeners.length;for(;z-- >0;)L._listeners[z](P);L._listeners=null}),this.promise.then=P=>{let z;const E=new Promise(X=>{L.subscribe(X),z=X}).then(P);return E.cancel=function(){L.unsubscribe(z)},E},y(function(z,E,X){L.reason||(L.reason=new Ft(z,E,X),C(L.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(y){if(this.reason){y(this.reason);return}this._listeners?this._listeners.push(y):this._listeners=[y]}unsubscribe(y){if(!this._listeners)return;const C=this._listeners.indexOf(y);C!==-1&&this._listeners.splice(C,1)}toAbortSignal(){const y=new AbortController,C=L=>{y.abort(L)};return this.subscribe(C),y.signal.unsubscribe=()=>this.unsubscribe(C),y.signal}static source(){let y;return{token:new Is(function(P){y=P}),cancel:y}}}function ml(v){return function(C){return v.apply(null,C)}}function bl(v){return D.isObject(v)&&v.isAxiosError===!0}const Ps={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ps).forEach(([v,y])=>{Ps[y]=v});function Sr(v){const y=new St(v),C=tr(St.prototype.request,y);return D.extend(C,St.prototype,y,{allOwnKeys:!0}),D.extend(C,y,null,{allOwnKeys:!0}),C.create=function(P){return Sr(Ct(v,P))},C}const Te=Sr(ei);Te.Axios=St;Te.CanceledError=Ft;Te.CancelToken=Is;Te.isCancel=xr;Te.VERSION=Ar;Te.toFormData=ki;Te.AxiosError=le;Te.Cancel=Te.CanceledError;Te.all=function(y){return Promise.all(y)};Te.spread=ml;Te.isAxiosError=bl;Te.mergeConfig=Ct;Te.AxiosHeaders=Be;Te.formToJSON=v=>pr(D.isHTMLForm(v)?new FormData(v):v);Te.getAdapter=kr.getAdapter;Te.HttpStatusCode=Ps;Te.default=Te;var Cr={exports:{}},ks={exports:{}};/*! + * ApexCharts v4.1.0 + * (c) 2018-2024 ApexCharts + * Released under the MIT License. + */var Qa;function vl(){return Qa||(Qa=1,function(v,y){(function(C,L){v.exports=L()})(er,function(){function C(o,e){(e==null||e>o.length)&&(e=o.length);for(var t=0,i=Array(e);t=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(l){throw l},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,r=!0,n=!1;return{s:function(){t=t.call(o)},n:function(){var l=t.next();return r=l.done,l},e:function(l){n=!0,a=l},f:function(){try{r||t.return==null||t.return()}finally{if(n)throw a}}}}function Y(o){var e=oe();return function(){var t,i=V(o);if(e){var s=V(this).constructor;t=Reflect.construct(i,arguments,s)}else t=i.apply(this,arguments);return function(a,r){if(r&&(typeof r=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return L(a)}(this,t)}}function _(o,e,t){return(e=Le(e))in o?Object.defineProperty(o,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[e]=t,o}function V(o){return V=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},V(o)}function Z(o,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),Object.defineProperty(o,"prototype",{writable:!1}),e&&ee(o,e)}function oe(){try{var o=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(oe=function(){return!!o})()}function ke(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable})),t.push.apply(t,i)}return t}function H(o){for(var e=1;e>16,n=i>>8&255,l=255&i;return"#"+(16777216+65536*(Math.round((s-r)*a)+r)+256*(Math.round((s-n)*a)+n)+(Math.round((s-l)*a)+l)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,t){return o.isColorHex(t)?this.shadeHexColor(e,t):this.shadeRGBColor(e,t)}}],[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&Ae(e)==="object"&&!Array.isArray(e)&&e!=null}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,i=[];for(t=0;t1&&arguments[1]!==void 0?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(t.length===1)return t[0];var i="",s=e<0?"-":"",a=t[0].replace(".",""),r=Number(t[1])+1;if(r<0){for(i=s+"0.";r++;)i+="0";return i+a.replace(/^-/,"")}for(r-=a.length;r--;)i+="0";return a+i}},{key:"elementExists",value:function(e){return!(!e||!e.isConnected)}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),i=e.clientHeight,s=e.clientWidth;return i-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[s-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce(function(t,i){return Array.isArray(i)&&(i=i.reduce(function(s,a){return s.length>a.length?s:a})),t.length>i.length?t:i},0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"#999999",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.6;e.substring(0,1)!=="#"&&(e="#999999");var i=e.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var s=0;s1&&arguments[1]!==void 0?arguments[1]:"x",i=e.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,i){if(i>=e.length)for(var s=i-e.length+1;s--;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e.style.key=t[i])}},{key:"preciseAddition",value:function(e,t){var i=(String(e).split(".")[1]||"").length,s=(String(t).split(".")[1]||"").length,a=Math.pow(10,Math.max(i,s));return(Math.round(e*a)+Math.round(t*a))/a}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isMsEdge",value:function(){var e=window.navigator.userAgent,t=e.indexOf("Edge/");return t>0&&parseInt(e.substring(t+5,e.indexOf(".",t)),10)}},{key:"getGCD",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,s=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*s),t=Math.round(Math.abs(t)*s);t;){var a=t;t=e%t,e=a}return e/s}},{key:"getPrimeFactors",value:function(e){for(var t=[],i=2;e>=2;)e%i==0?(t.push(i),e/=i):i++;return t}},{key:"mod",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,s=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*s))%(t=Math.round(Math.abs(t)*s))/s}}]),o}(),Fe=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"animateLine",value:function(e,t,i,s){e.attr(t).animate(s).attr(i)}},{key:"animateMarker",value:function(e,t,i,s){e.attr({opacity:0}).animate(t).attr({opacity:1}).after(function(){s()})}},{key:"animateRect",value:function(e,t,i,s,a){e.attr(t).animate(s).attr(i).after(function(){return a()})}},{key:"animatePathsGradually",value:function(e){var t=e.el,i=e.realIndex,s=e.j,a=e.fill,r=e.pathFrom,n=e.pathTo,l=e.speed,h=e.delay,d=this.w,c=0;d.config.chart.animations.animateGradually.enabled&&(c=d.config.chart.animations.animateGradually.delay),d.config.chart.animations.dynamicAnimation.enabled&&d.globals.dataChanged&&d.config.chart.type!=="bar"&&(c=0),this.morphSVG(t,i,s,d.config.chart.type!=="line"||d.globals.comboCharts?a:"stroke",r,n,l,h*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(e){var t=e.el;t.classList.remove("apexcharts-element-hidden"),t.classList.add("apexcharts-hidden-element-shown")})}},{key:"animationCompleted",value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),typeof t.config.chart.events.animationEnd=="function"&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:"morphSVG",value:function(e,t,i,s,a,r,n,l){var h=this,d=this.w;a||(a=e.attr("pathFrom")),r||(r=e.attr("pathTo"));var c=function(u){return d.config.chart.type==="radar"&&(n=1),"M 0 ".concat(d.globals.gridHeight)};(!a||a.indexOf("undefined")>-1||a.indexOf("NaN")>-1)&&(a=c()),(!r.trim()||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),d.globals.shouldAnimate||(n=1),e.plot(a).animate(1,l).plot(a).animate(n,l).plot(r).after(function(){R.isNumber(i)?i===d.globals.series[d.globals.maxValsInArrayIndex].length-2&&d.globals.shouldAnimate&&h.animationCompleted(e):s!=="none"&&d.globals.shouldAnimate&&(!d.globals.comboCharts&&t===d.globals.series.length-1||d.globals.comboCharts)&&h.animationCompleted(e),h.showDelayedElements()})}}]),o}();const Je={},ut=[];function re(o,e){if(Array.isArray(o))for(const t of o)re(t,e);else if(typeof o!="object")Os(Object.getOwnPropertyNames(e)),Je[o]=Object.assign(Je[o]||{},e);else for(const t in o)re(t,o[t])}function _e(o){return Je[o]||{}}function Os(o){ut.push(...o)}function Ci(o,e){let t;const i=o.length,s=[];for(t=0;tLr.has(o.nodeName),zs=(o,e,t={})=>{const i={...e};for(const s in i)i[s].valueOf()===t[s]&&delete i[s];Object.keys(i).length?o.node.setAttribute("data-svgjs",JSON.stringify(i)):(o.node.removeAttribute("data-svgjs"),o.node.removeAttribute("svgjs:data"))},Ti="http://www.w3.org/2000/svg",Ei="http://www.w3.org/2000/xmlns/",Pt="http://www.w3.org/1999/xlink",ce={window:typeof window>"u"?null:window,document:typeof document>"u"?null:document};function Yt(){return ce.window}let Ri=class{};const gt={},Ii="___SYMBOL___ROOT___";function Dt(o,e=Ti){return ce.document.createElementNS(e,o)}function Ye(o,e=!1){if(o instanceof Ri)return o;if(typeof o=="object")return Oi(o);if(o==null)return new gt[Ii];if(typeof o=="string"&&o.charAt(0)!=="<")return Oi(ce.document.querySelector(o));const t=e?ce.document.createElement("div"):Dt("svg");return t.innerHTML=o,o=Oi(t.firstChild),t.removeChild(t.firstChild),o}function be(o,e){return e&&(e instanceof ce.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:Dt(o)}function Ue(o){if(!o)return null;if(o.instance instanceof Ri)return o.instance;if(o.nodeName==="#document-fragment")return new gt.Fragment(o);let e=Lt(o.nodeName||"Dom");return e==="LinearGradient"||e==="RadialGradient"?e="Gradient":gt[e]||(e="Dom"),new gt[e](o)}let Oi=Ue;function de(o,e=o.name,t=!1){return gt[e]=o,t&&(gt[Ii]=o),Os(Object.getOwnPropertyNames(o.prototype)),o}let Mr=1e3;function Xs(o){return"Svgjs"+Lt(o)+Mr++}function Hs(o){for(let e=o.children.length-1;e>=0;e--)Hs(o.children[e]);return o.id&&(o.id=Xs(o.nodeName)),o}function Q(o,e){let t,i;for(i=(o=Array.isArray(o)?o:[o]).length-1;i>=0;i--)for(t in e)o[i].prototype[t]=e[t]}function ve(o){return function(...e){const t=e[e.length-1];return!t||t.constructor!==Object||t instanceof Array?o.apply(this,e):o.apply(this,e.slice(0,-1)).attr(t)}}re("Dom",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const o=this.position();return this.parent().add(this.remove(),o+1),this},backward:function(){const o=this.position();return this.parent().add(this.remove(),o?o-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(o){(o=Ye(o)).remove();const e=this.position();return this.parent().add(o,e),this},after:function(o){(o=Ye(o)).remove();const e=this.position();return this.parent().add(o,e+1),this},insertBefore:function(o){return(o=Ye(o)).before(this),this},insertAfter:function(o){return(o=Ye(o)).after(this),this}});const Fs=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,Pr=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Tr=/rgb\((\d+),(\d+),(\d+)\)/,Er=/(#[a-z_][a-z0-9\-_]*)/i,Rr=/\)\s*,?\s*/,Ir=/\s/g,Ys=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,Ds=/^rgb\(/,Ns=/^(\s+)?$/,_s=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Or=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,at=/[\s,]+/,zi=/[MLHVCSQTAZ]/i;function zr(o){const e=Math.round(o),t=Math.max(0,Math.min(255,e)).toString(16);return t.length===1?"0"+t:t}function Tt(o,e){for(let t=e.length;t--;)if(o[e[t]]==null)return!1;return!0}function Xi(o,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?o+6*(e-o)*t:t<.5?e:t<2/3?o+(e-o)*(2/3-t)*6:o}re("Dom",{classes:function(){const o=this.attr("class");return o==null?[]:o.trim().split(at)},hasClass:function(o){return this.classes().indexOf(o)!==-1},addClass:function(o){if(!this.hasClass(o)){const e=this.classes();e.push(o),this.attr("class",e.join(" "))}return this},removeClass:function(o){return this.hasClass(o)&&this.attr("class",this.classes().filter(function(e){return e!==o}).join(" ")),this},toggleClass:function(o){return this.hasClass(o)?this.removeClass(o):this.addClass(o)}}),re("Dom",{css:function(o,e){const t={};if(arguments.length===0)return this.node.style.cssText.split(/\s*;\s*/).filter(function(i){return!!i.length}).forEach(function(i){const s=i.split(/\s*:\s*/);t[s[0]]=s[1]}),t;if(arguments.length<2){if(Array.isArray(o)){for(const i of o){const s=i;t[i]=this.node.style.getPropertyValue(s)}return t}if(typeof o=="string")return this.node.style.getPropertyValue(o);if(typeof o=="object")for(const i in o)this.node.style.setProperty(i,o[i]==null||Ns.test(o[i])?"":o[i])}return arguments.length===2&&this.node.style.setProperty(o,e==null||Ns.test(e)?"":e),this},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},visible:function(){return this.css("display")!=="none"}}),re("Dom",{data:function(o,e,t){if(o==null)return this.data(Ci(function(i,s){let a;const r=i.length,n=[];for(a=0;ai.nodeName.indexOf("data-")===0),i=>i.nodeName.slice(5)));if(o instanceof Array){const i={};for(const s of o)i[s]=this.data(s);return i}if(typeof o=="object")for(e in o)this.data(e,o[e]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+o))}catch{return this.attr("data-"+o)}else this.attr("data-"+o,e===null?null:t===!0||typeof e=="string"||typeof e=="number"?e:JSON.stringify(e));return this}}),re("Dom",{remember:function(o,e){if(typeof arguments[0]=="object")for(const t in o)this.remember(t,o[t]);else{if(arguments.length===1)return this.memory()[o];this.memory()[o]=e}return this},forget:function(){if(arguments.length===0)this._memory={};else for(let o=arguments.length-1;o>=0;o--)delete this.memory()[arguments[o]];return this},memory:function(){return this._memory=this._memory||{}}});class xe{constructor(...e){this.init(...e)}static isColor(e){return e&&(e instanceof xe||this.isRgb(e)||this.test(e))}static isRgb(e){return e&&typeof e.r=="number"&&typeof e.g=="number"&&typeof e.b=="number"}static random(e="vibrant",t){const{random:i,round:s,sin:a,PI:r}=Math;if(e==="vibrant"){const n=24*i()+57,l=38*i()+45,h=360*i();return new xe(n,l,h,"lch")}if(e==="sine"){const n=s(80*a(2*r*(t=t??i())/.5+.01)+150),l=s(50*a(2*r*t/.5+4.6)+200),h=s(100*a(2*r*t/.5+2.3)+150);return new xe(n,l,h)}if(e==="pastel"){const n=8*i()+86,l=17*i()+9,h=360*i();return new xe(n,l,h,"lch")}if(e==="dark"){const n=10+10*i(),l=50*i()+86,h=360*i();return new xe(n,l,h,"lch")}if(e==="rgb"){const n=255*i(),l=255*i(),h=255*i();return new xe(n,l,h)}if(e==="lab"){const n=100*i(),l=256*i()-128,h=256*i()-128;return new xe(n,l,h,"lab")}if(e==="grey"){const n=255*i();return new xe(n,n,n)}throw new Error("Unsupported random color mode")}static test(e){return typeof e=="string"&&(Ys.test(e)||Ds.test(e))}cmyk(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(l=>l/255),n=Math.min(1-s,1-a,1-r);return n===1?new xe(0,0,0,1,"cmyk"):new xe((1-s-n)/(1-n),(1-a-n)/(1-n),(1-r-n)/(1-n),n,"cmyk")}hsl(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(u=>u/255),n=Math.max(s,a,r),l=Math.min(s,a,r),h=(n+l)/2,d=n===l,c=n-l;return new xe(360*(d?0:n===s?((a-r)/c+(a.5?c/(2-n-l):c/(n+l)),100*h,"hsl")}init(e=0,t=0,i=0,s=0,a="rgb"){if(e=e||0,this.space)for(const c in this.space)delete this[this.space[c]];if(typeof e=="number")a=typeof s=="string"?s:a,s=typeof s=="string"?0:s,Object.assign(this,{_a:e,_b:t,_c:i,_d:s,space:a});else if(e instanceof Array)this.space=t||(typeof e[3]=="string"?e[3]:e[4])||"rgb",Object.assign(this,{_a:e[0],_b:e[1],_c:e[2],_d:e[3]||0});else if(e instanceof Object){const c=function(u,g){const p=Tt(u,"rgb")?{_a:u.r,_b:u.g,_c:u.b,_d:0,space:"rgb"}:Tt(u,"xyz")?{_a:u.x,_b:u.y,_c:u.z,_d:0,space:"xyz"}:Tt(u,"hsl")?{_a:u.h,_b:u.s,_c:u.l,_d:0,space:"hsl"}:Tt(u,"lab")?{_a:u.l,_b:u.a,_c:u.b,_d:0,space:"lab"}:Tt(u,"lch")?{_a:u.l,_b:u.c,_c:u.h,_d:0,space:"lch"}:Tt(u,"cmyk")?{_a:u.c,_b:u.m,_c:u.y,_d:u.k,space:"cmyk"}:{_a:0,_b:0,_c:0,space:"rgb"};return p.space=g||p.space,p}(e,t);Object.assign(this,c)}else if(typeof e=="string")if(Ds.test(e)){const c=e.replace(Ir,""),[u,g,p]=Tr.exec(c).slice(1,4).map(f=>parseInt(f));Object.assign(this,{_a:u,_b:g,_c:p,_d:0,space:"rgb"})}else{if(!Ys.test(e))throw Error("Unsupported string format, can't construct Color");{const c=f=>parseInt(f,16),[,u,g,p]=Pr.exec(function(f){return f.length===4?["#",f.substring(1,2),f.substring(1,2),f.substring(2,3),f.substring(2,3),f.substring(3,4),f.substring(3,4)].join(""):f}(e)).map(c);Object.assign(this,{_a:u,_b:g,_c:p,_d:0,space:"rgb"})}}const{_a:r,_b:n,_c:l,_d:h}=this,d=this.space==="rgb"?{r,g:n,b:l}:this.space==="xyz"?{x:r,y:n,z:l}:this.space==="hsl"?{h:r,s:n,l}:this.space==="lab"?{l:r,a:n,b:l}:this.space==="lch"?{l:r,c:n,h:l}:this.space==="cmyk"?{c:r,m:n,y:l,k:h}:{};Object.assign(this,d)}lab(){const{x:e,y:t,z:i}=this.xyz();return new xe(116*t-16,500*(e-t),200*(t-i),"lab")}lch(){const{l:e,a:t,b:i}=this.lab(),s=Math.sqrt(t**2+i**2);let a=180*Math.atan2(i,t)/Math.PI;return a<0&&(a*=-1,a=360-a),new xe(e,s,a,"lch")}rgb(){if(this.space==="rgb")return this;if((e=this.space)==="lab"||e==="xyz"||e==="lch"){let{x:t,y:i,z:s}=this;if(this.space==="lab"||this.space==="lch"){let{l:g,a:p,b:f}=this;if(this.space==="lch"){const{c:T,h:k}=this,M=Math.PI/180;p=T*Math.cos(M*k),f=T*Math.sin(M*k)}const x=(g+16)/116,m=p/500+x,b=x-f/200,w=16/116,S=.008856,A=7.787;t=.95047*(m**3>S?m**3:(m-w)/A),i=1*(x**3>S?x**3:(x-w)/A),s=1.08883*(b**3>S?b**3:(b-w)/A)}const a=3.2406*t+-1.5372*i+-.4986*s,r=-.9689*t+1.8758*i+.0415*s,n=.0557*t+-.204*i+1.057*s,l=Math.pow,h=.0031308,d=a>h?1.055*l(a,1/2.4)-.055:12.92*a,c=r>h?1.055*l(r,1/2.4)-.055:12.92*r,u=n>h?1.055*l(n,1/2.4)-.055:12.92*n;return new xe(255*d,255*c,255*u)}if(this.space==="hsl"){let{h:t,s:i,l:s}=this;if(t/=360,i/=100,s/=100,i===0)return s*=255,new xe(s,s,s);const a=s<.5?s*(1+i):s+i-s*i,r=2*s-a,n=255*Xi(r,a,t+1/3),l=255*Xi(r,a,t),h=255*Xi(r,a,t-1/3);return new xe(n,l,h)}if(this.space==="cmyk"){const{c:t,m:i,y:s,k:a}=this,r=255*(1-Math.min(1,t*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a)),l=255*(1-Math.min(1,s*(1-a)+a));return new xe(r,n,l)}return this;var e}toArray(){const{_a:e,_b:t,_c:i,_d:s,space:a}=this;return[e,t,i,s,a]}toHex(){const[e,t,i]=this._clamped().map(zr);return`#${e}${t}${i}`}toRgb(){const[e,t,i]=this._clamped();return`rgb(${e},${t},${i})`}toString(){return this.toHex()}xyz(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(x=>x/255),n=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,h=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,d=(.4124*n+.3576*l+.1805*h)/.95047,c=(.2126*n+.7152*l+.0722*h)/1,u=(.0193*n+.1192*l+.9505*h)/1.08883,g=d>.008856?Math.pow(d,1/3):7.787*d+16/116,p=c>.008856?Math.pow(c,1/3):7.787*c+16/116,f=u>.008856?Math.pow(u,1/3):7.787*u+16/116;return new xe(g,p,f,"xyz")}_clamped(){const{_a:e,_b:t,_c:i}=this.rgb(),{max:s,min:a,round:r}=Math;return[e,t,i].map(n=>s(0,a(r(n),255)))}}class fe{constructor(...e){this.init(...e)}clone(){return new fe(this)}init(e,t){const a=Array.isArray(e)?{x:e[0],y:e[1]}:typeof e=="object"?{x:e.x,y:e.y}:{x:e,y:t};return this.x=a.x==null?0:a.x,this.y=a.y==null?0:a.y,this}toArray(){return[this.x,this.y]}transform(e){return this.clone().transformO(e)}transformO(e){K.isMatrixLike(e)||(e=new K(e));const{x:t,y:i}=this;return this.x=e.a*t+e.c*i+e.e,this.y=e.b*t+e.d*i+e.f,this}}function Et(o,e,t){return Math.abs(e-o)<1e-6}class K{constructor(...e){this.init(...e)}static formatTransforms(e){const t=e.flip==="both"||e.flip===!0,i=e.flip&&(t||e.flip==="x")?-1:1,s=e.flip&&(t||e.flip==="y")?-1:1,a=e.skew&&e.skew.length?e.skew[0]:isFinite(e.skew)?e.skew:isFinite(e.skewX)?e.skewX:0,r=e.skew&&e.skew.length?e.skew[1]:isFinite(e.skew)?e.skew:isFinite(e.skewY)?e.skewY:0,n=e.scale&&e.scale.length?e.scale[0]*i:isFinite(e.scale)?e.scale*i:isFinite(e.scaleX)?e.scaleX*i:i,l=e.scale&&e.scale.length?e.scale[1]*s:isFinite(e.scale)?e.scale*s:isFinite(e.scaleY)?e.scaleY*s:s,h=e.shear||0,d=e.rotate||e.theta||0,c=new fe(e.origin||e.around||e.ox||e.originX,e.oy||e.originY),u=c.x,g=c.y,p=new fe(e.position||e.px||e.positionX||NaN,e.py||e.positionY||NaN),f=p.x,x=p.y,m=new fe(e.translate||e.tx||e.translateX,e.ty||e.translateY),b=m.x,w=m.y,S=new fe(e.relative||e.rx||e.relativeX,e.ry||e.relativeY);return{scaleX:n,scaleY:l,skewX:a,skewY:r,shear:h,theta:d,rx:S.x,ry:S.y,tx:b,ty:w,ox:u,oy:g,px:f,py:x}}static fromArray(e){return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}static isMatrixLike(e){return e.a!=null||e.b!=null||e.c!=null||e.d!=null||e.e!=null||e.f!=null}static matrixMultiply(e,t,i){const s=e.a*t.a+e.c*t.b,a=e.b*t.a+e.d*t.b,r=e.a*t.c+e.c*t.d,n=e.b*t.c+e.d*t.d,l=e.e+e.a*t.e+e.c*t.f,h=e.f+e.b*t.e+e.d*t.f;return i.a=s,i.b=a,i.c=r,i.d=n,i.e=l,i.f=h,i}around(e,t,i){return this.clone().aroundO(e,t,i)}aroundO(e,t,i){const s=e||0,a=t||0;return this.translateO(-s,-a).lmultiplyO(i).translateO(s,a)}clone(){return new K(this)}decompose(e=0,t=0){const i=this.a,s=this.b,a=this.c,r=this.d,n=this.e,l=this.f,h=i*r-s*a,d=h>0?1:-1,c=d*Math.sqrt(i*i+s*s),u=Math.atan2(d*s,d*i),g=180/Math.PI*u,p=Math.cos(u),f=Math.sin(u),x=(i*a+s*r)/h,m=a*c/(x*i-s)||r*c/(x*s+i);return{scaleX:c,scaleY:m,shear:x,rotate:g,translateX:n-e+e*p*c+t*(x*p*c-f*m),translateY:l-t+e*f*c+t*(x*f*c+p*m),originX:e,originY:t,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(e){if(e===this)return!0;const t=new K(e);return Et(this.a,t.a)&&Et(this.b,t.b)&&Et(this.c,t.c)&&Et(this.d,t.d)&&Et(this.e,t.e)&&Et(this.f,t.f)}flip(e,t){return this.clone().flipO(e,t)}flipO(e,t){return e==="x"?this.scaleO(-1,1,t,0):e==="y"?this.scaleO(1,-1,0,t):this.scaleO(-1,-1,e,t||e)}init(e){const t=K.fromArray([1,0,0,1,0,0]);return e=e instanceof Ee?e.matrixify():typeof e=="string"?K.fromArray(e.split(at).map(parseFloat)):Array.isArray(e)?K.fromArray(e):typeof e=="object"&&K.isMatrixLike(e)?e:typeof e=="object"?new K().transform(e):arguments.length===6?K.fromArray([].slice.call(arguments)):t,this.a=e.a!=null?e.a:t.a,this.b=e.b!=null?e.b:t.b,this.c=e.c!=null?e.c:t.c,this.d=e.d!=null?e.d:t.d,this.e=e.e!=null?e.e:t.e,this.f=e.f!=null?e.f:t.f,this}inverse(){return this.clone().inverseO()}inverseO(){const e=this.a,t=this.b,i=this.c,s=this.d,a=this.e,r=this.f,n=e*s-t*i;if(!n)throw new Error("Cannot invert "+this);const l=s/n,h=-t/n,d=-i/n,c=e/n,u=-(l*a+d*r),g=-(h*a+c*r);return this.a=l,this.b=h,this.c=d,this.d=c,this.e=u,this.f=g,this}lmultiply(e){return this.clone().lmultiplyO(e)}lmultiplyO(e){const t=e instanceof K?e:new K(e);return K.matrixMultiply(t,this,this)}multiply(e){return this.clone().multiplyO(e)}multiplyO(e){const t=e instanceof K?e:new K(e);return K.matrixMultiply(this,t,this)}rotate(e,t,i){return this.clone().rotateO(e,t,i)}rotateO(e,t=0,i=0){e=Li(e);const s=Math.cos(e),a=Math.sin(e),{a:r,b:n,c:l,d:h,e:d,f:c}=this;return this.a=r*s-n*a,this.b=n*s+r*a,this.c=l*s-h*a,this.d=h*s+l*a,this.e=d*s-c*a+i*a-t*s+t,this.f=c*s+d*a-t*a-i*s+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(e,t=e,i=0,s=0){arguments.length===3&&(s=i,i=t,t=e);const{a,b:r,c:n,d:l,e:h,f:d}=this;return this.a=a*e,this.b=r*t,this.c=n*e,this.d=l*t,this.e=h*e-i*e+i,this.f=d*t-s*t+s,this}shear(e,t,i){return this.clone().shearO(e,t,i)}shearO(e,t=0,i=0){const{a:s,b:a,c:r,d:n,e:l,f:h}=this;return this.a=s+a*e,this.c=r+n*e,this.e=l+h*e-i*e,this}skew(){return this.clone().skewO(...arguments)}skewO(e,t=e,i=0,s=0){arguments.length===3&&(s=i,i=t,t=e),e=Li(e),t=Li(t);const a=Math.tan(e),r=Math.tan(t),{a:n,b:l,c:h,d,e:c,f:u}=this;return this.a=n+l*a,this.b=l+n*r,this.c=h+d*a,this.d=d+h*r,this.e=c+u*a-s*a,this.f=u+c*r-i*r,this}skewX(e,t,i){return this.skew(e,0,t,i)}skewY(e,t,i){return this.skew(0,e,t,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}transform(e){if(K.isMatrixLike(e))return new K(e).multiplyO(this);const t=K.formatTransforms(e),{x:i,y:s}=new fe(t.ox,t.oy).transform(this),a=new K().translateO(t.rx,t.ry).lmultiplyO(this).translateO(-i,-s).scaleO(t.scaleX,t.scaleY).skewO(t.skewX,t.skewY).shearO(t.shear).rotateO(t.theta).translateO(i,s);if(isFinite(t.px)||isFinite(t.py)){const r=new fe(i,s).transform(a),n=isFinite(t.px)?t.px-r.x:0,l=isFinite(t.py)?t.py-r.y:0;a.translateO(n,l)}return a.translateO(t.tx,t.ty),a}translate(e,t){return this.clone().translateO(e,t)}translateO(e,t){return this.e+=e||0,this.f+=t||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function ot(){if(!ot.nodes){const o=Ye().size(2,0);o.node.style.cssText=["opacity: 0","position: absolute","left: -100%","top: -100%","overflow: hidden"].join(";"),o.attr("focusable","false"),o.attr("aria-hidden","true");const e=o.path().node;ot.nodes={svg:o,path:e}}if(!ot.nodes.svg.node.parentNode){const o=ce.document.body||ce.document.documentElement;ot.nodes.svg.addTo(o)}return ot.nodes}function Bs(o){return!(o.width||o.height||o.x||o.y)}de(K,"Matrix");class Me{constructor(...e){this.init(...e)}addOffset(){return this.x+=ce.window.pageXOffset,this.y+=ce.window.pageYOffset,new Me(this)}init(e){return e=typeof e=="string"?e.split(at).map(parseFloat):Array.isArray(e)?e:typeof e=="object"?[e.left!=null?e.left:e.x,e.top!=null?e.top:e.y,e.width,e.height]:arguments.length===4?[].slice.call(arguments):[0,0,0,0],this.x=e[0]||0,this.y=e[1]||0,this.width=this.w=e[2]||0,this.height=this.h=e[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return Bs(this)}merge(e){const t=Math.min(this.x,e.x),i=Math.min(this.y,e.y),s=Math.max(this.x+this.width,e.x+e.width)-t,a=Math.max(this.y+this.height,e.y+e.height)-i;return new Me(t,i,s,a)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+" "+this.y+" "+this.width+" "+this.height}transform(e){e instanceof K||(e=new K(e));let t=1/0,i=-1/0,s=1/0,a=-1/0;return[new fe(this.x,this.y),new fe(this.x2,this.y),new fe(this.x,this.y2),new fe(this.x2,this.y2)].forEach(function(r){r=r.transform(e),t=Math.min(t,r.x),i=Math.max(i,r.x),s=Math.min(s,r.y),a=Math.max(a,r.y)}),new Me(t,s,i-t,a-s)}}function Ws(o,e,t){let i;try{if(i=e(o.node),Bs(i)&&(s=o.node)!==ce.document&&!(ce.document.documentElement.contains||function(a){for(;a.parentNode;)a=a.parentNode;return a===ce.document}).call(ce.document.documentElement,s))throw new Error("Element not in the dom")}catch{i=t(o)}var s;return i}re({viewbox:{viewbox(o,e,t,i){return o==null?new Me(this.attr("viewBox")):this.attr("viewBox",new Me(o,e,t,i))},zoom(o,e){let{width:t,height:i}=this.attr(["width","height"]);if((t||i)&&typeof t!="string"&&typeof i!="string"||(t=this.node.clientWidth,i=this.node.clientHeight),!t||!i)throw new Error("Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element");const s=this.viewbox(),a=t/s.width,r=i/s.height,n=Math.min(a,r);if(o==null)return n;let l=n/o;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new fe(t/2/a+s.x,i/2/r+s.y);const h=new Me(s).transform(new K({scale:l,origin:e}));return this.viewbox(h)}}}),de(Me,"Box");class ft extends Array{constructor(e=[],...t){if(super(e,...t),typeof e=="number")return this;this.length=0,this.push(...e)}}Q([ft],{each(o,...e){return typeof o=="function"?this.map((t,i,s)=>o.call(t,t,i,s)):this.map(t=>t[o](...e))},toArray(){return Array.prototype.concat.apply([],this)}});const Xr=["toArray","constructor","each"];function pt(o,e){return new ft(Ci((e||ce.document).querySelectorAll(o),function(t){return Ue(t)}))}ft.extend=function(o){o=o.reduce((e,t)=>(Xr.includes(t)||t[0]==="_"||(t in Array.prototype&&(e["$"+t]=Array.prototype[t]),e[t]=function(...i){return this.each(t,...i)}),e),{}),Q([ft],o)};let Hr=0;const js={};function Gs(o){let e=o.getEventHolder();return e===ce.window&&(e=js),e.events||(e.events={}),e.events}function Hi(o){return o.getEventTarget()}function rt(o,e,t,i,s){const a=t.bind(i||o),r=Ye(o),n=Gs(r),l=Hi(r);e=Array.isArray(e)?e:e.split(at),t._svgjsListenerId||(t._svgjsListenerId=++Hr),e.forEach(function(h){const d=h.split(".")[0],c=h.split(".")[1]||"*";n[d]=n[d]||{},n[d][c]=n[d][c]||{},n[d][c][t._svgjsListenerId]=a,l.addEventListener(d,a,s||!1)})}function qe(o,e,t,i){const s=Ye(o),a=Gs(s),r=Hi(s);(typeof t!="function"||(t=t._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||"").split(at)).forEach(function(n){const l=n&&n.split(".")[0],h=n&&n.split(".")[1];let d,c;if(t)a[l]&&a[l][h||"*"]&&(r.removeEventListener(l,a[l][h||"*"][t],i||!1),delete a[l][h||"*"][t]);else if(l&&h){if(a[l]&&a[l][h]){for(c in a[l][h])qe(r,[l,h].join("."),c);delete a[l][h]}}else if(h)for(n in a)for(d in a[n])h===d&&qe(r,[n,h].join("."));else if(l){if(a[l]){for(d in a[l])qe(r,[l,d].join("."));delete a[l]}}else{for(n in a)qe(r,n);(function(u){let g=u.getEventHolder();g===ce.window&&(g=js),g.events&&(g.events={})})(s)}})}class Nt extends Ri{addEventListener(){}dispatch(e,t,i){return function(s,a,r,n){const l=Hi(s);return a instanceof ce.window.Event||(a=new ce.window.CustomEvent(a,{detail:r,cancelable:!0,...n})),l.dispatchEvent(a),a}(this,e,t,i)}dispatchEvent(e){const t=this.getEventHolder().events;if(!t)return!0;const i=t[e.type];for(const s in i)for(const a in i[s])i[s][a](e);return!e.defaultPrevented}fire(e,t,i){return this.dispatch(e,t,i),this}getEventHolder(){return this}getEventTarget(){return this}off(e,t,i){return qe(this,e,t,i),this}on(e,t,i,s){return rt(this,e,t,i,s),this}removeEventListener(){}}function Vs(){}de(Nt,"EventTarget");const Fi=400,Fr=">",Yr=0,Dr={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","text-anchor":"start"};class xt extends Array{constructor(...e){super(...e),this.init(...e)}clone(){return new this.constructor(this)}init(e){return typeof e=="number"||(this.length=0,this.push(...this.parse(e))),this}parse(e=[]){return e instanceof Array?e:e.trim().split(at).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(" ")}valueOf(){const e=[];return e.push(...this),e}}class ne{constructor(...e){this.init(...e)}convert(e){return new ne(this.value,e)}divide(e){return e=new ne(e),new ne(this/e,this.unit||e.unit)}init(e,t){return t=Array.isArray(e)?e[1]:t,e=Array.isArray(e)?e[0]:e,this.value=0,this.unit=t||"",typeof e=="number"?this.value=isNaN(e)?0:isFinite(e)?e:e<0?-34e37:34e37:typeof e=="string"?(t=e.match(Fs))&&(this.value=parseFloat(t[1]),t[5]==="%"?this.value/=100:t[5]==="s"&&(this.value*=1e3),this.unit=t[5]):e instanceof ne&&(this.value=e.valueOf(),this.unit=e.unit),this}minus(e){return e=new ne(e),new ne(this-e,this.unit||e.unit)}plus(e){return e=new ne(e),new ne(this+e,this.unit||e.unit)}times(e){return e=new ne(e),new ne(this*e,this.unit||e.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}toString(){return(this.unit==="%"?~~(1e8*this.value)/1e6:this.unit==="s"?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nr=new Set(["fill","stroke","color","bgcolor","stop-color","flood-color","lighting-color"]),Us=[];class lt extends Nt{constructor(e,t){super(),this.node=e,this.type=e.nodeName,t&&e!==t&&this.attr(t)}add(e,t){return(e=Ye(e)).removeNamespace&&this.node instanceof ce.window.SVGElement&&e.removeNamespace(),t==null?this.node.appendChild(e.node):e.node!==this.node.childNodes[t]&&this.node.insertBefore(e.node,this.node.childNodes[t]),this}addTo(e,t){return Ye(e).put(this,t)}children(){return new ft(Ci(this.node.children,function(e){return Ue(e)}))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(e=!0,t=!0){this.writeDataToDom();let i=this.node.cloneNode(e);return t&&(i=Hs(i)),new this.constructor(i)}each(e,t){const i=this.children();let s,a;for(s=0,a=i.length;s=0}html(e,t){return this.xml(e,t,"http://www.w3.org/1999/xhtml")}id(e){return e!==void 0||this.node.id||(this.node.id=Xs(this.type)),this.attr("id",e)}index(e){return[].slice.call(this.node.childNodes).indexOf(e.node)}last(){return Ue(this.node.lastChild)}matches(e){const t=this.node,i=t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector||null;return i&&i.call(t,e)}parent(e){let t=this;if(!t.node.parentNode)return null;if(t=Ue(t.node.parentNode),!e)return t;do if(typeof e=="string"?t.matches(e):t instanceof e)return t;while(t=Ue(t.node.parentNode));return t}put(e,t){return e=Ye(e),this.add(e,t),e}putIn(e,t){return Ye(e).add(this,t)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(e){return this.node.removeChild(e.node),this}replace(e){return e=Ye(e),this.node.parentNode&&this.node.parentNode.replaceChild(e.node,this.node),e}round(e=2,t=null){const i=10**e,s=this.attr(t);for(const a in s)typeof s[a]=="number"&&(s[a]=Math.round(s[a]*i)/i);return this.attr(s),this}svg(e,t){return this.xml(e,t,Ti)}toString(){return this.id()}words(e){return this.node.textContent=e,this}wrap(e){const t=this.parent();if(!t)return this.addTo(e);const i=t.index(this);return t.put(e,i).put(this)}writeDataToDom(){return this.each(function(){this.writeDataToDom()}),this}xml(e,t,i){if(typeof e=="boolean"&&(i=t,t=e,e=null),e==null||typeof e=="function"){t=t==null||t,this.writeDataToDom();let n=this;if(e!=null){if(n=Ue(n.node.cloneNode(!0)),t){const l=e(n);if(n=l||n,l===!1)return""}n.each(function(){const l=e(this),h=l||this;l===!1?this.remove():l&&this!==h&&this.replace(h)},!0)}return t?n.node.outerHTML:n.node.innerHTML}t=t!=null&&t;const s=Dt("wrapper",i),a=ce.document.createDocumentFragment();s.innerHTML=e;for(let n=s.children.length;n--;)a.appendChild(s.firstElementChild);const r=this.parent();return t?this.replace(a)&&r:this.add(a)}}Q(lt,{attr:function(o,e,t){if(o==null){o={},e=this.node.attributes;for(const i of e)o[i.nodeName]=_s.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return o}if(o instanceof Array)return o.reduce((i,s)=>(i[s]=this.attr(s),i),{});if(typeof o=="object"&&o.constructor===Object)for(e in o)this.attr(e,o[e]);else if(e===null)this.node.removeAttribute(o);else{if(e==null)return(e=this.node.getAttribute(o))==null?Dr[o]:_s.test(e)?parseFloat(e):e;typeof(e=Us.reduce((i,s)=>s(o,i,this),e))=="number"?e=new ne(e):Nr.has(o)&&xe.isColor(e)?e=new xe(e):e.constructor===Array&&(e=new xt(e)),o==="leading"?this.leading&&this.leading(e):typeof t=="string"?this.node.setAttributeNS(t,o,e.toString()):this.node.setAttribute(o,e.toString()),!this.rebuild||o!=="font-size"&&o!=="x"||this.rebuild()}return this},find:function(o){return pt(o,this.node)},findOne:function(o){return Ue(this.node.querySelector(o))}}),de(lt,"Dom");class Ee extends lt{constructor(e,t){super(e,t),this.dom={},this.node.instance=this,(e.hasAttribute("data-svgjs")||e.hasAttribute("svgjs:data"))&&this.setData(JSON.parse(e.getAttribute("data-svgjs"))??JSON.parse(e.getAttribute("svgjs:data"))??{})}center(e,t){return this.cx(e).cy(t)}cx(e){return e==null?this.x()+this.width()/2:this.x(e-this.width()/2)}cy(e){return e==null?this.y()+this.height()/2:this.y(e-this.height()/2)}defs(){const e=this.root();return e&&e.defs()}dmove(e,t){return this.dx(e).dy(t)}dx(e=0){return this.x(new ne(e).plus(this.x()))}dy(e=0){return this.y(new ne(e).plus(this.y()))}getEventHolder(){return this}height(e){return this.attr("height",e)}move(e,t){return this.x(e).y(t)}parents(e=this.root()){const t=typeof e=="string";t||(e=Ye(e));const i=new ft;let s=this;for(;(s=s.parent())&&s.node!==ce.document&&s.nodeName!=="#document-fragment"&&(i.push(s),t||s.node!==e.node)&&(!t||!s.matches(e));)if(s.node===this.root().node)return null;return i}reference(e){if(!(e=this.attr(e)))return null;const t=(e+"").match(Er);return t?Ye(t[1]):null}root(){const e=this.parent(function(t){return gt[t]}(Ii));return e&&e.root()}setData(e){return this.dom=e,this}size(e,t){const i=Mt(this,e,t);return this.width(new ne(i.width)).height(new ne(i.height))}width(e){return this.attr("width",e)}writeDataToDom(){return zs(this,this.dom),super.writeDataToDom()}x(e){return this.attr("x",e)}y(e){return this.attr("y",e)}}Q(Ee,{bbox:function(){const o=Ws(this,e=>e.getBBox(),e=>{try{const t=e.clone().addTo(ot().svg).show(),i=t.node.getBBox();return t.remove(),i}catch(t){throw new Error(`Getting bbox of element "${e.node.nodeName}" is not possible: ${t.toString()}`)}});return new Me(o)},rbox:function(o){const e=Ws(this,i=>i.getBoundingClientRect(),i=>{throw new Error(`Getting rbox of element "${i.node.nodeName}" is not possible`)}),t=new Me(e);return o?t.transform(o.screenCTM().inverseO()):t.addOffset()},inside:function(o,e){const t=this.bbox();return o>t.x&&e>t.y&&o=0;t--)i[_t[o][t]]!=null&&this.attr(_t.prefix(o,_t[o][t]),i[_t[o][t]]);return this},re(["Element","Runner"],e)}),re(["Element","Runner"],{matrix:function(o,e,t,i,s,a){return o==null?new K(this):this.attr("transform",new K(o,e,t,i,s,a))},rotate:function(o,e,t){return this.transform({rotate:o,ox:e,oy:t},!0)},skew:function(o,e,t,i){return arguments.length===1||arguments.length===3?this.transform({skew:o,ox:e,oy:t},!0):this.transform({skew:[o,e],ox:t,oy:i},!0)},shear:function(o,e,t){return this.transform({shear:o,ox:e,oy:t},!0)},scale:function(o,e,t,i){return arguments.length===1||arguments.length===3?this.transform({scale:o,ox:e,oy:t},!0):this.transform({scale:[o,e],ox:t,oy:i},!0)},translate:function(o,e){return this.transform({translate:[o,e]},!0)},relative:function(o,e){return this.transform({relative:[o,e]},!0)},flip:function(o="both",e="center"){return"xybothtrue".indexOf(o)===-1&&(e=o,o="both"),this.transform({flip:o,origin:e},!0)},opacity:function(o){return this.attr("opacity",o)}}),re("radius",{radius:function(o,e=o){return(this._element||this).type==="radialGradient"?this.attr("r",new ne(o)):this.rx(o).ry(e)}}),re("Path",{length:function(){return this.node.getTotalLength()},pointAt:function(o){return new fe(this.node.getPointAtLength(o))}}),re(["Element","Runner"],{font:function(o,e){if(typeof o=="object"){for(e in o)this.font(e,o[e]);return this}return o==="leading"?this.leading(e):o==="anchor"?this.attr("text-anchor",e):o==="size"||o==="family"||o==="weight"||o==="stretch"||o==="variant"||o==="style"?this.attr("font-"+o,e):this.attr(o,e)}}),re("Element",["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","touchstart","touchmove","touchleave","touchend","touchcancel","contextmenu","wheel","pointerdown","pointermove","pointerup","pointerleave","pointercancel"].reduce(function(o,e){return o[e]=function(t){return t===null?this.off(e):this.on(e,t),this},o},{})),re("Element",{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(Rr).slice(0,-1).map(function(e){const t=e.trim().split("(");return[t[0],t[1].split(at).map(function(i){return parseFloat(i)})]}).reverse().reduce(function(e,t){return t[0]==="matrix"?e.lmultiply(K.fromArray(t[1])):e[t[0]].apply(e,t[1])},new K)},toParent:function(o,e){if(this===o)return this;if(Pi(this.node))return this.addTo(o,e);const t=this.screenCTM(),i=o.screenCTM().inverse();return this.addTo(o,e).untransform().transform(i.multiply(t)),this},toRoot:function(o){return this.toParent(this.root(),o)},transform:function(o,e){if(o==null||typeof o=="string"){const i=new K(this).decompose();return o==null?i:i[o]}K.isMatrixLike(o)||(o={...o,origin:Mi(o,this)});const t=new K(e===!0?this:e||!1).transform(o);return this.attr("transform",t)}});class De extends Ee{flatten(){return this.each(function(){if(this instanceof De)return this.flatten().ungroup()}),this}ungroup(e=this.parent(),t=e.index(this)){return t=t===-1?e.children().length:t,this.each(function(i,s){return s[s.length-i-1].toParent(e,t)}),this.remove()}}de(De,"Container");class ti extends De{constructor(e,t=e){super(be("defs",e),t)}flatten(){return this}ungroup(){return this}}de(ti,"Defs");class je extends Ee{}function Yi(o){return this.attr("rx",o)}function Di(o){return this.attr("ry",o)}function qs(o){return o==null?this.cx()-this.rx():this.cx(o+this.rx())}function Zs(o){return o==null?this.cy()-this.ry():this.cy(o+this.ry())}function $s(o){return this.attr("cx",o)}function Js(o){return this.attr("cy",o)}function Ks(o){return o==null?2*this.rx():this.rx(new ne(o).divide(2))}function Qs(o){return o==null?2*this.ry():this.ry(new ne(o).divide(2))}de(je,"Shape");var _r=Object.freeze({__proto__:null,cx:$s,cy:Js,height:Qs,rx:Yi,ry:Di,width:Ks,x:qs,y:Zs});class ii extends je{constructor(e,t=e){super(be("ellipse",e),t)}size(e,t){const i=Mt(this,e,t);return this.rx(new ne(i.width).divide(2)).ry(new ne(i.height).divide(2))}}Q(ii,_r),re("Container",{ellipse:ve(function(o=0,e=o){return this.put(new ii).size(o,e).move(0,0)})}),de(ii,"Ellipse");class ea extends lt{constructor(e=ce.document.createDocumentFragment()){super(e)}xml(e,t,i){if(typeof e=="boolean"&&(i=t,t=e,e=null),e==null||typeof e=="function"){const s=new lt(Dt("wrapper",i));return s.add(this.node.cloneNode(!0)),s.xml(!1,i)}return super.xml(e,!1,i)}}function ta(o,e){return(this._element||this).type==="radialGradient"?this.attr({fx:new ne(o),fy:new ne(e)}):this.attr({x1:new ne(o),y1:new ne(e)})}function ia(o,e){return(this._element||this).type==="radialGradient"?this.attr({cx:new ne(o),cy:new ne(e)}):this.attr({x2:new ne(o),y2:new ne(e)})}de(ea,"Fragment");var Br=Object.freeze({__proto__:null,from:ta,to:ia});class Bt extends De{constructor(e,t){super(be(e+"Gradient",typeof e=="string"?null:e),t)}attr(e,t,i){return e==="transform"&&(e="gradientTransform"),super.attr(e,t,i)}bbox(){return new Me}targets(){return pt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(e){return this.clear(),typeof e=="function"&&e.call(this,this),this}url(){return"url(#"+this.id()+")"}}Q(Bt,Br),re({Container:{gradient(...o){return this.defs().gradient(...o)}},Defs:{gradient:ve(function(o,e){return this.put(new Bt(o)).update(e)})}}),de(Bt,"Gradient");class Wt extends De{constructor(e,t=e){super(be("pattern",e),t)}attr(e,t,i){return e==="transform"&&(e="patternTransform"),super.attr(e,t,i)}bbox(){return new Me}targets(){return pt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(e){return this.clear(),typeof e=="function"&&e.call(this,this),this}url(){return"url(#"+this.id()+")"}}re({Container:{pattern(...o){return this.defs().pattern(...o)}},Defs:{pattern:ve(function(o,e,t){return this.put(new Wt).update(t).attr({x:0,y:0,width:o,height:e,patternUnits:"userSpaceOnUse"})})}}),de(Wt,"Pattern");let si=class extends je{constructor(o,e=o){super(be("image",o),e)}load(o,e){if(!o)return this;const t=new ce.window.Image;return rt(t,"load",function(i){const s=this.parent(Wt);this.width()===0&&this.height()===0&&this.size(t.width,t.height),s instanceof Wt&&s.width()===0&&s.height()===0&&s.size(this.width(),this.height()),typeof e=="function"&&e.call(this,i)},this),rt(t,"load error",function(){qe(t)}),this.attr("href",t.src=o,Pt)}};var sa;sa=function(o,e,t){return o!=="fill"&&o!=="stroke"||Or.test(e)&&(e=t.root().defs().image(e)),e instanceof si&&(e=t.root().defs().pattern(0,0,i=>{i.add(e)})),e},Us.push(sa),re({Container:{image:ve(function(o,e){return this.put(new si).size(0,0).load(o,e)})}}),de(si,"Image");class ht extends xt{bbox(){let e=-1/0,t=-1/0,i=1/0,s=1/0;return this.forEach(function(a){e=Math.max(a[0],e),t=Math.max(a[1],t),i=Math.min(a[0],i),s=Math.min(a[1],s)}),new Me(i,s,e-i,t-s)}move(e,t){const i=this.bbox();if(e-=i.x,t-=i.y,!isNaN(e)&&!isNaN(t))for(let s=this.length-1;s>=0;s--)this[s]=[this[s][0]+e,this[s][1]+t];return this}parse(e=[0,0]){const t=[];(e=e instanceof Array?Array.prototype.concat.apply([],e):e.trim().split(at).map(parseFloat)).length%2!=0&&e.pop();for(let i=0,s=e.length;i=0;i--)s.width&&(this[i][0]=(this[i][0]-s.x)*e/s.width+s.x),s.height&&(this[i][1]=(this[i][1]-s.y)*t/s.height+s.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const e=[];for(let t=0,i=this.length;t":function(o){return-Math.cos(o*Math.PI)/2+.5},">":function(o){return Math.sin(o*Math.PI/2)},"<":function(o){return 1-Math.cos(o*Math.PI/2)},bezier:function(o,e,t,i){return function(s){return s<0?o>0?e/o*s:t>0?i/t*s:0:s>1?t<1?(1-i)/(1-t)*s+(i-t)/(1-t):o<1?(1-e)/(1-o)*s+(e-o)/(1-o):1:3*s*(1-s)**2*e+3*s**2*(1-s)*i+s**3}},steps:function(o,e="end"){e=e.split("-").reverse()[0];let t=o;return e==="none"?--t:e==="both"&&++t,(i,s=!1)=>{let a=Math.floor(i*o);const r=i*a%1==0;return e!=="start"&&e!=="both"||++a,s&&r&&--a,i>=0&&a<0&&(a=0),i<=1&&a>t&&(a=t),a/t}}};class _i{done(){return!1}}class Bi extends _i{constructor(e=Fr){super(),this.ease=Wr[e]||e}step(e,t,i){return typeof e!="number"?i<1?e:t:e+(t-e)*this.ease(i)}}class ri extends _i{constructor(e){super(),this.stepper=e}done(e){return e.done}step(e,t,i,s){return this.stepper(e,t,i,s)}}function aa(){const o=(this._duration||500)/1e3,e=this._overshoot||0,t=Math.PI,i=Math.log(e/100+1e-10),s=-i/Math.sqrt(t*t+i*i),a=3.9/(s*o);this.d=2*s*a,this.k=a*a}Q(class extends ri{constructor(o=500,e=0){super(),this.duration(o).overshoot(e)}step(o,e,t,i){if(typeof o=="string")return o;if(i.done=t===1/0,t===1/0)return e;if(t===0)return o;t>100&&(t=16),t/=1e3;const s=i.velocity||0,a=-this.d*s-this.k*(o-e),r=o+s*t+a*t*t/2;return i.velocity=s+a*t,i.done=Math.abs(e-r)+Math.abs(s)<.002,i.done?e:r}},{duration:Rt("_duration",aa),overshoot:Rt("_overshoot",aa)}),Q(class extends ri{constructor(o=.1,e=.01,t=0,i=1e3){super(),this.p(o).i(e).d(t).windup(i)}step(o,e,t,i){if(typeof o=="string")return o;if(i.done=t===1/0,t===1/0)return e;if(t===0)return o;const s=e-o;let a=(i.integral||0)+s*t;const r=(s-(i.error||0))/t,n=this._windup;return n!==!1&&(a=Math.max(-n,Math.min(a,n))),i.error=s,i.integral=a,i.done=Math.abs(s)<.001,i.done?e:o+(this.P*s+this.I*a+this.D*r)}},{windup:Rt("_windup"),p:Rt("P"),i:Rt("I"),d:Rt("D")});const jr={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Wi={M:function(o,e,t){return e.x=t.x=o[0],e.y=t.y=o[1],["M",e.x,e.y]},L:function(o,e){return e.x=o[0],e.y=o[1],["L",o[0],o[1]]},H:function(o,e){return e.x=o[0],["H",o[0]]},V:function(o,e){return e.y=o[0],["V",o[0]]},C:function(o,e){return e.x=o[4],e.y=o[5],["C",o[0],o[1],o[2],o[3],o[4],o[5]]},S:function(o,e){return e.x=o[2],e.y=o[3],["S",o[0],o[1],o[2],o[3]]},Q:function(o,e){return e.x=o[2],e.y=o[3],["Q",o[0],o[1],o[2],o[3]]},T:function(o,e){return e.x=o[0],e.y=o[1],["T",o[0],o[1]]},Z:function(o,e,t){return e.x=t.x,e.y=t.y,["Z"]},A:function(o,e){return e.x=o[5],e.y=o[6],["A",o[0],o[1],o[2],o[3],o[4],o[5],o[6]]}},ji="mlhvqtcsaz".split("");for(let o=0,e=ji.length;o=0;a--)s=this[a][0],s==="M"||s==="L"||s==="T"?(this[a][1]+=e,this[a][2]+=t):s==="H"?this[a][1]+=e:s==="V"?this[a][1]+=t:s==="C"||s==="S"||s==="Q"?(this[a][1]+=e,this[a][2]+=t,this[a][3]+=e,this[a][4]+=t,s==="C"&&(this[a][5]+=e,this[a][6]+=t)):s==="A"&&(this[a][6]+=e,this[a][7]+=t);return this}parse(e="M0 0"){return Array.isArray(e)&&(e=Array.prototype.concat.apply([],e).toString()),function(t,i=!0){let s=0,a="";const r={segment:[],inNumber:!1,number:"",lastToken:"",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:i,p0:new fe,p:new fe};for(;r.lastToken=a,a=t.charAt(s++);)if(r.inSegment||!Gr(r,a))if(a!==".")if(isNaN(parseInt(a)))if(qr.has(a))r.inNumber&&bt(r,!1);else if(a!=="-"&&a!=="+")if(a.toUpperCase()!=="E"){if(zi.test(a)){if(r.inNumber)bt(r,!1);else{if(!Gi(r))throw new Error("parser Error");Vi(r)}--s}}else r.number+=a,r.hasExponent=!0;else{if(r.inNumber&&!Ur(r)){bt(r,!1),--s;continue}r.number+=a,r.inNumber=!0}else{if(r.number==="0"||Vr(r)){r.inNumber=!0,r.number=a,bt(r,!0);continue}r.inNumber=!0,r.number+=a}else{if(r.pointSeen||r.hasExponent){bt(r,!1),--s;continue}r.inNumber=!0,r.pointSeen=!0,r.number+=a}return r.inNumber&&bt(r,!1),r.inSegment&&Gi(r)&&Vi(r),r.segments}(e)}size(e,t){const i=this.bbox();let s,a;for(i.width=i.width===0?1:i.width,i.height=i.height===0?1:i.height,s=this.length-1;s>=0;s--)a=this[s][0],a==="M"||a==="L"||a==="T"?(this[s][1]=(this[s][1]-i.x)*e/i.width+i.x,this[s][2]=(this[s][2]-i.y)*t/i.height+i.y):a==="H"?this[s][1]=(this[s][1]-i.x)*e/i.width+i.x:a==="V"?this[s][1]=(this[s][1]-i.y)*t/i.height+i.y:a==="C"||a==="S"||a==="Q"?(this[s][1]=(this[s][1]-i.x)*e/i.width+i.x,this[s][2]=(this[s][2]-i.y)*t/i.height+i.y,this[s][3]=(this[s][3]-i.x)*e/i.width+i.x,this[s][4]=(this[s][4]-i.y)*t/i.height+i.y,a==="C"&&(this[s][5]=(this[s][5]-i.x)*e/i.width+i.x,this[s][6]=(this[s][6]-i.y)*t/i.height+i.y)):a==="A"&&(this[s][1]=this[s][1]*e/i.width,this[s][2]=this[s][2]*t/i.height,this[s][6]=(this[s][6]-i.x)*e/i.width+i.x,this[s][7]=(this[s][7]-i.y)*t/i.height+i.y);return this}toString(){return function(e){let t="";for(let i=0,s=e.length;i{const e=typeof o;return e==="number"?ne:e==="string"?xe.isColor(o)?xe:at.test(o)?zi.test(o)?Ke:xt:Fs.test(o)?ne:Ui:qi.indexOf(o.constructor)>-1?o.constructor:Array.isArray(o)?xt:e==="object"?Gt:Ui};class vt{constructor(e){this._stepper=e||new Bi("-"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(e){return this._morphObj.morph(this._from,this._to,e,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce(function(e,t){return e&&t},!0)}from(e){return e==null?this._from:(this._from=this._set(e),this)}stepper(e){return e==null?this._stepper:(this._stepper=e,this)}to(e){return e==null?this._to:(this._to=this._set(e),this)}type(e){return e==null?this._type:(this._type=e,this)}_set(e){this._type||this.type(ra(e));let t=new this._type(e);return this._type===xe&&(t=this._to?t[this._to[4]]():this._from?t[this._from[4]]():t),this._type===Gt&&(t=this._to?t.align(this._to):this._from?t.align(this._from):t),t=t.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(t.length)).map(Object).map(function(i){return i.done=!0,i}),t}}class Ui{constructor(...e){this.init(...e)}init(e){return e=Array.isArray(e)?e[0]:e,this.value=e,this}toArray(){return[this.value]}valueOf(){return this.value}}class jt{constructor(...e){this.init(...e)}init(e){return Array.isArray(e)&&(e={scaleX:e[0],scaleY:e[1],shear:e[2],rotate:e[3],translateX:e[4],translateY:e[5],originX:e[6],originY:e[7]}),Object.assign(this,jt.defaults,e),this}toArray(){const e=this;return[e.scaleX,e.scaleY,e.shear,e.rotate,e.translateX,e.translateY,e.originX,e.originY]}}jt.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const Zr=(o,e)=>o[0]e[0]?1:0;class Gt{constructor(...e){this.init(...e)}align(e){const t=this.values;for(let i=0,s=t.length;ii.concat(s),[]),this}toArray(){return this.values}valueOf(){const e={},t=this.values;for(;t.length;){const i=t.shift(),s=t.shift(),a=t.shift(),r=t.splice(0,a);e[i]=new s(r)}return e}}const qi=[Ui,jt,Gt];class It extends je{constructor(e,t=e){super(be("path",e),t)}array(){return this._array||(this._array=new Ke(this.attr("d")))}clear(){return delete this._array,this}height(e){return e==null?this.bbox().height:this.size(this.bbox().width,e)}move(e,t){return this.attr("d",this.array().move(e,t))}plot(e){return e==null?this.array():this.clear().attr("d",typeof e=="string"?e:this._array=new Ke(e))}size(e,t){const i=Mt(this,e,t);return this.attr("d",this.array().size(i.width,i.height))}width(e){return e==null?this.bbox().width:this.size(e,this.bbox().height)}x(e){return e==null?this.bbox().x:this.move(e,this.bbox().y)}y(e){return e==null?this.bbox().y:this.move(this.bbox().x,e)}}It.prototype.MorphArray=Ke,re({Container:{path:ve(function(o){return this.put(new It).plot(o||new Ke)})}}),de(It,"Path");var na=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ht(this.attr("points")))},clear:function(){return delete this._array,this},move:function(o,e){return this.attr("points",this.array().move(o,e))},plot:function(o){return o==null?this.array():this.clear().attr("points",typeof o=="string"?o:this._array=new ht(o))},size:function(o,e){const t=Mt(this,o,e);return this.attr("points",this.array().size(t.width,t.height))}});class yt extends je{constructor(e,t=e){super(be("polygon",e),t)}}re({Container:{polygon:ve(function(o){return this.put(new yt).plot(o||new ht)})}}),Q(yt,Ni),Q(yt,na),de(yt,"Polygon");class wt extends je{constructor(e,t=e){super(be("polyline",e),t)}}re({Container:{polyline:ve(function(o){return this.put(new wt).plot(o||new ht)})}}),Q(wt,Ni),Q(wt,na),de(wt,"Polyline");class ni extends je{constructor(e,t=e){super(be("rect",e),t)}}Q(ni,{rx:Yi,ry:Di}),re({Container:{rect:ve(function(o,e){return this.put(new ni).size(o,e)})}}),de(ni,"Rect");class Zi{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(e){const t=e.next!==void 0?e:{value:e,next:null,prev:null};return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._last=t,this._first=t),t}remove(e){e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e===this._last&&(this._last=e.prev),e===this._first&&(this._first=e.next),e.prev=null,e.next=null}shift(){const e=this._first;return e?(this._first=e.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,e.value):null}}const pe={nextDraw:null,frames:new Zi,timeouts:new Zi,immediates:new Zi,timer:()=>ce.window.performance||ce.window.Date,transforms:[],frame(o){const e=pe.frames.push({run:o});return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),e},timeout(o,e){e=e||0;const t=pe.timer().now()+e,i=pe.timeouts.push({run:o,time:t});return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),i},immediate(o){const e=pe.immediates.push(o);return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),e},cancelFrame(o){o!=null&&pe.frames.remove(o)},clearTimeout(o){o!=null&&pe.timeouts.remove(o)},cancelImmediate(o){o!=null&&pe.immediates.remove(o)},_draw(o){let e=null;const t=pe.timeouts.last();for(;(e=pe.timeouts.shift())&&(o>=e.time?e.run():pe.timeouts.push(e),e!==t););let i=null;const s=pe.frames.last();for(;i!==s&&(i=pe.frames.shift());)i.run(o);let a=null;for(;a=pe.immediates.shift();)a();pe.nextDraw=pe.timeouts.first()||pe.frames.first()?ce.window.requestAnimationFrame(pe._draw):null}},$r=function(o){const e=o.start,t=o.runner.duration();return{start:e,duration:t,end:e+t,runner:o.runner}},Jr=function(){const o=ce.window;return(o.performance||o.Date).now()};class oa extends Nt{constructor(e=Jr){super(),this._timeSource=e,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const e=this.getLastRunnerInfo(),t=e?e.runner.duration():0;return(e?e.start:this._time)+t}getEndTimeOfTimeline(){const e=this._runners.map(t=>t.start+t.runner.duration());return Math.max(0,...e)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(e){return this._runners[this._runnerIds.indexOf(e)]||null}pause(){return this._paused=!0,this._continue()}persist(e){return e==null?this._persist:(this._persist=e,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(e){const t=this.speed();if(e==null)return this.speed(-t);const i=Math.abs(t);return this.speed(e?-i:i)}schedule(e,t,i){if(e==null)return this._runners.map($r);let s=0;const a=this.getEndTime();if(t=t||0,i==null||i==="last"||i==="after")s=a;else if(i==="absolute"||i==="start")s=t,t=0;else if(i==="now")s=this._time;else if(i==="relative"){const l=this.getRunnerInfoById(e.id);l&&(s=l.start+t,t=0)}else{if(i!=="with-last")throw new Error('Invalid value for the "when" parameter');{const l=this.getLastRunnerInfo();s=l?l.start:this._time}}e.unschedule(),e.timeline(this);const r=e.persist(),n={persist:r===null?this._persist:r,start:s+t,runner:e};return this._lastRunnerId=e.id,this._runners.push(n),this._runners.sort((l,h)=>l.start-h.start),this._runnerIds=this._runners.map(l=>l.runner.id),this.updateTime()._continue(),this}seek(e){return this.time(this._time+e)}source(e){return e==null?this._timeSource:(this._timeSource=e,this)}speed(e){return e==null?this._speed:(this._speed=e,this)}stop(){return this.time(0),this.pause()}time(e){return e==null?this._time:(this._time=e,this._continue(!0))}unschedule(e){const t=this._runnerIds.indexOf(e.id);return t<0||(this._runners.splice(t,1),this._runnerIds.splice(t,1),e.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(e=!1){return pe.cancelFrame(this._nextFrame),this._nextFrame=null,e?this._stepImmediate():(this._paused||(this._nextFrame=pe.frame(this._step)),this)}_stepFn(e=!1){const t=this._timeSource();let i=t-this._lastSourceTime;e&&(i=0);const s=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=t,e||(this._time+=s,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire("time",this._time);for(let r=this._runners.length;r--;){const n=this._runners[r],l=n.runner;this._time-n.start<=0&&l.reset()}let a=!1;for(let r=0,n=this._runners.length;r0?this._continue():(this.pause(),this.fire("finished")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}re({Element:{timeline:function(o){return o==null?(this._timeline=this._timeline||new oa,this._timeline):(this._timeline=o,this)}}});class Ge extends Nt{constructor(e){super(),this.id=Ge.id++,e=typeof(e=e??Fi)=="function"?new ri(e):e,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration=typeof e=="number"&&e,this._isDeclarative=e instanceof ri,this._stepper=this._isDeclarative?e:new Bi,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new K,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(e,t,i){let s=1,a=!1,r=0;return t=t??Yr,i=i||"last",typeof(e=e??Fi)!="object"||e instanceof _i||(t=e.delay??t,i=e.when??i,a=e.swing||a,s=e.times??s,r=e.wait??r,e=e.duration??Fi),{duration:e,delay:t,swing:a,times:s,wait:r,when:i}}active(e){return e==null?this.enabled:(this.enabled=e,this)}addTransform(e){return this.transforms.lmultiplyO(e),this}after(e){return this.on("finished",e)}animate(e,t,i){const s=Ge.sanitise(e,t,i),a=new Ge(s.duration);return this._timeline&&a.timeline(this._timeline),this._element&&a.element(this._element),a.loop(s).schedule(s.delay,s.when)}clearTransform(){return this.transforms=new K,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter(e=>!e.isTransform))}delay(e){return this.animate(0,e)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(e){return this.queue(null,e)}ease(e){return this._stepper=new Bi(e),this}element(e){return e==null?this._element:(this._element=e,e._prepareRunner(),this)}finish(){return this.step(1/0)}loop(e,t,i){return typeof e=="object"&&(t=e.swing,i=e.wait,e=e.times),this._times=e||1/0,this._swing=t||!1,this._wait=i||0,this._times===!0&&(this._times=1/0),this}loops(e){const t=this._duration+this._wait;if(e==null){const a=Math.floor(this._time/t),r=(this._time-a*t)/this._duration;return Math.min(a+r,this._times)}const i=e%1,s=t*Math.floor(e)+this._duration*i;return this.time(s)}persist(e){return e==null?this._persist:(this._persist=e,this)}position(e){const t=this._time,i=this._duration,s=this._wait,a=this._times,r=this._swing,n=this._reverse;let l;if(e==null){const c=function(g){const p=r*Math.floor(g%(2*(s+i))/(s+i)),f=p&&!n||!p&&n,x=Math.pow(-1,f)*(g%(s+i))/i+f;return Math.max(Math.min(x,1),0)},u=a*(s+i)-s;return l=t<=0?Math.round(c(1e-5)):t=0;this._lastPosition=t;const s=this.duration(),a=this._lastTime<=0&&this._time>0,r=this._lastTime=s;this._lastTime=this._time,a&&this.fire("start",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=s,this._reseted=!1;let l=!1;return(i||n)&&(this._initialise(i),this.transforms=new K,l=this._run(n?e:t),this.fire("step",this)),this.done=this.done||l&&n,r&&this.fire("finished",this),this}time(e){if(e==null)return this._time;const t=e-this._time;return this.step(t),this}timeline(e){return e===void 0?this._timeline:(this._timeline=e,this)}unschedule(){const e=this.timeline();return e&&e.unschedule(this),this}_initialise(e){if(e||this._isDeclarative)for(let t=0,i=this._queue.length;to.lmultiplyO(e),ha=o=>o.transforms;function Kr(){const o=this._transformationRunners.runners.map(ha).reduce(la,new K);this.transform(o),this._transformationRunners.merge(),this._transformationRunners.length()===1&&(this._frameId=null)}class Qr{constructor(){this.runners=[],this.ids=[]}add(e){if(this.runners.includes(e))return;const t=e.id+1;return this.runners.push(e),this.ids.push(t),this}clearBefore(e){const t=this.ids.indexOf(e+1)||1;return this.ids.splice(0,t,0),this.runners.splice(0,t,new oi).forEach(i=>i.clearTransformsFromQueue()),this}edit(e,t){const i=this.ids.indexOf(e+1);return this.ids.splice(i,1,e+1),this.runners.splice(i,1,t),this}getByID(e){return this.runners[this.ids.indexOf(e+1)]}length(){return this.ids.length}merge(){let e=null;for(let t=0;te.id<=o.id).map(ha).reduce(la,new K)},_addRunner(o){this._transformationRunners.add(o),pe.cancelImmediate(this._frameId),this._frameId=pe.immediate(Kr.bind(this))},_prepareRunner(){this._frameId==null&&(this._transformationRunners=new Qr().add(new oi(new K(this))))}}}),Q(Ge,{attr(o,e){return this.styleAttr("attr",o,e)},css(o,e){return this.styleAttr("css",o,e)},styleAttr(o,e,t){if(typeof e=="string")return this.styleAttr(o,{[e]:t});let i=e;if(this._tryRetarget(o,i))return this;let s=new vt(this._stepper).to(i),a=Object.keys(i);return this.queue(function(){s=s.from(this.element()[o](a))},function(r){return this.element()[o](s.at(r).valueOf()),s.done()},function(r){const n=Object.keys(r),l=(h=a,n.filter(c=>!h.includes(c)));var h;if(l.length){const c=this.element()[o](l),u=new Gt(s.from()).valueOf();Object.assign(u,c),s.from(u)}const d=new Gt(s.to()).valueOf();Object.assign(d,r),s.to(d),a=n,i=r}),this._rememberMorpher(o,s),this},zoom(o,e){if(this._tryRetarget("zoom",o,e))return this;let t=new vt(this._stepper).to(new ne(o));return this.queue(function(){t=t.from(this.element().zoom())},function(i){return this.element().zoom(t.at(i),e),t.done()},function(i,s){e=s,t.to(i)}),this._rememberMorpher("zoom",t),this},transform(o,e,t){if(e=o.relative||e,this._isDeclarative&&!e&&this._tryRetarget("transform",o))return this;const i=K.isMatrixLike(o);t=o.affine!=null?o.affine:t??!i;const s=new vt(this._stepper).type(t?jt:K);let a,r,n,l,h;return this.queue(function(){r=r||this.element(),a=a||Mi(o,r),h=new K(e?void 0:r),r._addRunner(this),e||r._clearTransformRunnersBefore(this)},function(d){e||this.clearTransform();const{x:c,y:u}=new fe(a).transform(r._currentTransform(this));let g=new K({...o,origin:[c,u]}),p=this._isDeclarative&&n?n:h;if(t){g=g.decompose(c,u),p=p.decompose(c,u);const x=g.rotate,m=p.rotate,b=[x-360,x,x+360],w=b.map(T=>Math.abs(T-m)),S=Math.min(...w),A=w.indexOf(S);g.rotate=b[A]}e&&(i||(g.rotate=o.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(d);return l=f.rotate,n=new K(f),this.addTransform(n),r._addRunner(this),s.done()},function(d){(d.origin||"center").toString()!==(o.origin||"center").toString()&&(a=Mi(d,r)),o={...d,origin:a}},!0),this._isDeclarative&&this._rememberMorpher("transform",s),this},x(o){return this._queueNumber("x",o)},y(o){return this._queueNumber("y",o)},ax(o){return this._queueNumber("ax",o)},ay(o){return this._queueNumber("ay",o)},dx(o=0){return this._queueNumberDelta("x",o)},dy(o=0){return this._queueNumberDelta("y",o)},dmove(o,e){return this.dx(o).dy(e)},_queueNumberDelta(o,e){if(e=new ne(e),this._tryRetarget(o,e))return this;const t=new vt(this._stepper).to(e);let i=null;return this.queue(function(){i=this.element()[o](),t.from(i),t.to(i+e)},function(s){return this.element()[o](t.at(s)),t.done()},function(s){t.to(i+new ne(s))}),this._rememberMorpher(o,t),this},_queueObject(o,e){if(this._tryRetarget(o,e))return this;const t=new vt(this._stepper).to(e);return this.queue(function(){t.from(this.element()[o]())},function(i){return this.element()[o](t.at(i)),t.done()}),this._rememberMorpher(o,t),this},_queueNumber(o,e){return this._queueObject(o,new ne(e))},cx(o){return this._queueNumber("cx",o)},cy(o){return this._queueNumber("cy",o)},move(o,e){return this.x(o).y(e)},amove(o,e){return this.ax(o).ay(e)},center(o,e){return this.cx(o).cy(e)},size(o,e){let t;return o&&e||(t=this._element.bbox()),o||(o=t.width/t.height*e),e||(e=t.height/t.width*o),this.width(o).height(e)},width(o){return this._queueNumber("width",o)},height(o){return this._queueNumber("height",o)},plot(o,e,t,i){if(arguments.length===4)return this.plot([o,e,t,i]);if(this._tryRetarget("plot",o))return this;const s=new vt(this._stepper).type(this._element.MorphArray).to(o);return this.queue(function(){s.from(this._element.array())},function(a){return this._element.plot(s.at(a)),s.done()}),this._rememberMorpher("plot",s),this},leading(o){return this._queueNumber("leading",o)},viewbox(o,e,t,i){return this._queueObject("viewbox",new Me(o,e,t,i))},update(o){return typeof o!="object"?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(o.opacity!=null&&this.attr("stop-opacity",o.opacity),o.color!=null&&this.attr("stop-color",o.color),o.offset!=null&&this.attr("offset",o.offset),this)}}),Q(Ge,{rx:Yi,ry:Di,from:ta,to:ia}),de(Ge,"Runner");class $i extends De{constructor(e,t=e){super(be("svg",e),t),this.namespace()}defs(){return this.isRoot()?Ue(this.node.querySelector("defs"))||this.put(new ti):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof ce.window.SVGElement)&&this.node.parentNode.nodeName!=="#document-fragment"}namespace(){return this.isRoot()?this.attr({xmlns:Ti,version:"1.1"}).attr("xmlns:xlink",Pt,Ei):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr("xmlns:xlink",null,Ei).attr("xmlns:svgjs",null,Ei)}root(){return this.isRoot()?this:super.root()}}re({Container:{nested:ve(function(){return this.put(new $i)})}}),de($i,"Svg",!0);let Ji=class extends De{constructor(o,e=o){super(be("symbol",o),e)}};re({Container:{symbol:ve(function(){return this.put(new Ji)})}}),de(Ji,"Symbol");var ca=Object.freeze({__proto__:null,amove:function(o,e){return this.ax(o).ay(e)},ax:function(o){return this.attr("x",o)},ay:function(o){return this.attr("y",o)},build:function(o){return this._build=!!o,this},center:function(o,e,t=this.bbox()){return this.cx(o,t).cy(e,t)},cx:function(o,e=this.bbox()){return o==null?e.cx:this.attr("x",this.attr("x")+o-e.cx)},cy:function(o,e=this.bbox()){return o==null?e.cy:this.attr("y",this.attr("y")+o-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(o,e,t=this.bbox()){return this.x(o,t).y(e,t)},plain:function(o){return this._build===!1&&this.clear(),this.node.appendChild(ce.document.createTextNode(o)),this},x:function(o,e=this.bbox()){return o==null?e.x:this.attr("x",this.attr("x")+o-e.x)},y:function(o,e=this.bbox()){return o==null?e.y:this.attr("y",this.attr("y")+o-e.y)}});class Qe extends je{constructor(e,t=e){super(be("text",e),t),this.dom.leading=this.dom.leading??new ne(1.3),this._rebuild=!0,this._build=!1}leading(e){return e==null?this.dom.leading:(this.dom.leading=new ne(e),this.rebuild())}rebuild(e){if(typeof e=="boolean"&&(this._rebuild=e),this._rebuild){const t=this;let i=0;const s=this.dom.leading;this.each(function(a){if(Pi(this.node))return;const r=ce.window.getComputedStyle(this.node).getPropertyValue("font-size"),n=s*new ne(r);this.dom.newLined&&(this.attr("x",t.attr("x")),this.text()===` +`?i+=n:(this.attr("dy",a?n+i:0),i=0))}),this.fire("rebuild")}return this}setData(e){return this.dom=e,this.dom.leading=new ne(e.leading||1.3),this}writeDataToDom(){return zs(this,this.dom,{leading:1.3}),this}text(e){if(e===void 0){const t=this.node.childNodes;let i=0;e="";for(let s=0,a=t.length;s{let i;try{i=t.node instanceof Yt().SVGSVGElement?new Me(t.attr(["x","y","width","height"])):t.bbox()}catch{return}const s=new K(t),a=s.translate(o,e).transform(s.inverse()),r=new fe(i.x,i.y).transform(a);t.move(r.x,r.y)}),this},dx:function(o){return this.dmove(o,0)},dy:function(o){return this.dmove(0,o)},height:function(o,e=this.bbox()){return o==null?e.height:this.size(e.width,o,e)},move:function(o=0,e=0,t=this.bbox()){const i=o-t.x,s=e-t.y;return this.dmove(i,s)},size:function(o,e,t=this.bbox()){const i=Mt(this,o,e,t),s=i.width/t.width,a=i.height/t.height;return this.children().forEach(r=>{const n=new fe(t).transform(new K(r).inverse());r.scale(s,a,n.x,n.y)}),this},width:function(o,e=this.bbox()){return o==null?e.width:this.size(o,e.height,e)},x:function(o,e=this.bbox()){return o==null?e.x:this.move(o,e.y,e)},y:function(o,e=this.bbox()){return o==null?e.y:this.move(e.x,o,e)}});class ct extends De{constructor(e,t=e){super(be("g",e),t)}}Q(ct,ua),re({Container:{group:ve(function(){return this.put(new ct)})}}),de(ct,"G");class hi extends De{constructor(e,t=e){super(be("a",e),t)}target(e){return this.attr("target",e)}to(e){return this.attr("href",e,Pt)}}Q(hi,ua),re({Container:{link:ve(function(o){return this.put(new hi).to(o)})},Element:{unlink(){const o=this.linker();if(!o)return this;const e=o.parent();if(!e)return this.remove();const t=e.index(o);return e.add(this,t),o.remove(),this},linkTo(o){let e=this.linker();return e||(e=new hi,this.wrap(e)),typeof o=="function"?o.call(e,e):e.to(o),this},linker(){const o=this.parent();return o&&o.node.nodeName.toLowerCase()==="a"?o:null}}}),de(hi,"A");class es extends De{constructor(e,t=e){super(be("mask",e),t)}remove(){return this.targets().forEach(function(e){e.unmask()}),super.remove()}targets(){return pt("svg [mask*="+this.id()+"]")}}re({Container:{mask:ve(function(){return this.defs().put(new es)})},Element:{masker(){return this.reference("mask")},maskWith(o){const e=o instanceof es?o:this.parent().mask().add(o);return this.attr("mask","url(#"+e.id()+")")},unmask(){return this.attr("mask",null)}}}),de(es,"Mask");class ga extends Ee{constructor(e,t=e){super(be("stop",e),t)}update(e){return(typeof e=="number"||e instanceof ne)&&(e={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),e.opacity!=null&&this.attr("stop-opacity",e.opacity),e.color!=null&&this.attr("stop-color",e.color),e.offset!=null&&this.attr("offset",new ne(e.offset)),this}}re({Gradient:{stop:function(o,e,t){return this.put(new ga).update(o,e,t)}}}),de(ga,"Stop");class ts extends Ee{constructor(e,t=e){super(be("style",e),t)}addText(e=""){return this.node.textContent+=e,this}font(e,t,i={}){return this.rule("@font-face",{fontFamily:e,src:t,...i})}rule(e,t){return this.addText(function(i,s){if(!i)return"";if(!s)return i;let a=i+"{";for(const r in s)a+=r.replace(/([A-Z])/g,function(n,l){return"-"+l.toLowerCase()})+":"+s[r]+";";return a+="}",a}(e,t))}}re("Dom",{style(o,e){return this.put(new ts).rule(o,e)},fontface(o,e,t){return this.put(new ts).font(o,e,t)}}),de(ts,"Style");class is extends Qe{constructor(e,t=e){super(be("textPath",e),t)}array(){const e=this.track();return e?e.array():null}plot(e){const t=this.track();let i=null;return t&&(i=t.plot(e)),e==null?i:this}track(){return this.reference("href")}}re({Container:{textPath:ve(function(o,e){return o instanceof Qe||(o=this.text(o)),o.path(e)})},Text:{path:ve(function(o,e=!0){const t=new is;let i;if(o instanceof It||(o=this.defs().path(o)),t.attr("href","#"+o,Pt),e)for(;i=this.node.firstChild;)t.node.appendChild(i);return this.put(t)}),textPath(){return this.findOne("textPath")}},Path:{text:ve(function(o){return o instanceof Qe||(o=new Qe().addTo(this.parent()).text(o)),o.path(this)}),targets(){return pt("svg textPath").filter(o=>(o.attr("href")||"").includes(this.id()))}}}),is.prototype.MorphArray=Ke,de(is,"TextPath");class fa extends je{constructor(e,t=e){super(be("use",e),t)}use(e,t){return this.attr("href",(t||"")+"#"+e,Pt)}}re({Container:{use:ve(function(o,e){return this.put(new fa).use(o,e)})}}),de(fa,"Use");const en=Ye;Q([$i,Ji,si,Wt,ai],_e("viewbox")),Q([mt,wt,yt,It],_e("marker")),Q(Qe,_e("Text")),Q(It,_e("Path")),Q(ti,_e("Defs")),Q([Qe,li],_e("Tspan")),Q([ni,ii,Bt,Ge],_e("radius")),Q(Nt,_e("EventTarget")),Q(lt,_e("Dom")),Q(Ee,_e("Element")),Q(je,_e("Shape")),Q([De,ea],_e("Container")),Q(Bt,_e("Gradient")),Q(Ge,_e("Runner")),ft.extend([...new Set(ut)]),function(o=[]){qi.push(...[].concat(o))}([ne,xe,Me,K,xt,ht,Ke,fe]),Q(qi,{to(o){return new vt().type(this.constructor).from(this.toArray()).to(o)},fromArray(o){return this.init(o),this},toConsumable(){return this.toArray()},morph(o,e,t,i,s){return this.fromArray(o.map(function(a,r){return i.step(a,e[r],t,s[r],s)}))}});class we extends Ee{constructor(e){super(be("filter",e),e),this.$source="SourceGraphic",this.$sourceAlpha="SourceAlpha",this.$background="BackgroundImage",this.$backgroundAlpha="BackgroundAlpha",this.$fill="FillPaint",this.$stroke="StrokePaint",this.$autoSetIn=!0}put(e,t){return!(e=super.put(e,t)).attr("in")&&this.$autoSetIn&&e.attr("in",this.$source),e.attr("result")||e.attr("result",e.id()),e}remove(){return this.targets().each("unfilter"),super.remove()}targets(){return pt('svg [filter*="'+this.id()+'"]')}toString(){return"url(#"+this.id()+")"}}class ss extends Ee{constructor(e,t){super(e,t),this.result(this.id())}in(e){if(e==null){const t=this.attr("in");return this.parent()&&this.parent().find(`[result="${t}"]`)[0]||t}return this.attr("in",e)}result(e){return this.attr("result",e)}toString(){return this.result()}}const Ze=o=>function(...e){for(let t=o.length;t--;)e[t]!=null&&this.attr(o[t],e[t])},tn={blend:Ze(["in","in2","mode"]),colorMatrix:Ze(["type","values"]),composite:Ze(["in","in2","operator"]),convolveMatrix:function(o){o=new xt(o).toString(),this.attr({order:Math.sqrt(o.split(" ").length),kernelMatrix:o})},diffuseLighting:Ze(["surfaceScale","lightingColor","diffuseConstant","kernelUnitLength"]),displacementMap:Ze(["in","in2","scale","xChannelSelector","yChannelSelector"]),dropShadow:Ze(["in","dx","dy","stdDeviation"]),flood:Ze(["flood-color","flood-opacity"]),gaussianBlur:function(o=0,e=o){this.attr("stdDeviation",o+" "+e)},image:function(o){this.attr("href",o,Pt)},morphology:Ze(["operator","radius"]),offset:Ze(["dx","dy"]),specularLighting:Ze(["surfaceScale","lightingColor","diffuseConstant","specularExponent","kernelUnitLength"]),tile:Ze([]),turbulence:Ze(["baseFrequency","numOctaves","seed","stitchTiles","type"])};["blend","colorMatrix","componentTransfer","composite","convolveMatrix","diffuseLighting","displacementMap","dropShadow","flood","gaussianBlur","image","merge","morphology","offset","specularLighting","tile","turbulence"].forEach(o=>{const e=Lt(o),t=tn[o];we[e+"Effect"]=class extends ss{constructor(i){super(be("fe"+e,i),i)}update(i){return t.apply(this,i),this}},we.prototype[o]=ve(function(i,...s){const a=new we[e+"Effect"];return i==null?this.put(a):(typeof i=="function"?i.call(a,a):s.unshift(i),this.put(a).update(s))})}),Q(we,{merge(o){const e=this.put(new we.MergeEffect);return typeof o=="function"?(o.call(e,e),e):((o instanceof Array?o:[...arguments]).forEach(t=>{t instanceof we.MergeNode?e.put(t):e.mergeNode(t)}),e)},componentTransfer(o={}){const e=this.put(new we.ComponentTransferEffect);if(typeof o=="function")return o.call(e,e),e;o.r||o.g||o.b||o.a||(o={r:o,g:o,b:o,a:o});for(const t in o)e.add(new we["Func"+t.toUpperCase()](o[t]));return e}}),["distantLight","pointLight","spotLight","mergeNode","FuncR","FuncG","FuncB","FuncA"].forEach(o=>{const e=Lt(o);we[e]=class extends ss{constructor(t){super(be("fe"+e,t),t)}}}),["funcR","funcG","funcB","funcA"].forEach(function(o){const e=we[Lt(o)],t=ve(function(){return this.put(new e)});we.ComponentTransferEffect.prototype[o]=t}),["distantLight","pointLight","spotLight"].forEach(o=>{const e=we[Lt(o)],t=ve(function(){return this.put(new e)});we.DiffuseLightingEffect.prototype[o]=t,we.SpecularLightingEffect.prototype[o]=t}),Q(we.MergeEffect,{mergeNode(o){return this.put(new we.MergeNode).attr("in",o)}}),Q(ti,{filter:function(o){const e=this.put(new we);return typeof o=="function"&&o.call(e,e),e}}),Q(De,{filter:function(o){return this.defs().filter(o)}}),Q(Ee,{filterWith:function(o){const e=o instanceof we?o:this.defs().filter(o);return this.attr("filter",e)},unfilter:function(o){return this.attr("filter",null)},filterer(){return this.reference("filter")}}),Q(ss,{blend:function(o,e){return this.parent()&&this.parent().blend(this,o,e)},colorMatrix:function(o,e){return this.parent()&&this.parent().colorMatrix(o,e).in(this)},componentTransfer:function(o){return this.parent()&&this.parent().componentTransfer(o).in(this)},composite:function(o,e){return this.parent()&&this.parent().composite(this,o,e)},convolveMatrix:function(o){return this.parent()&&this.parent().convolveMatrix(o).in(this)},diffuseLighting:function(o,e,t,i){return this.parent()&&this.parent().diffuseLighting(o,t,i).in(this)},displacementMap:function(o,e,t,i){return this.parent()&&this.parent().displacementMap(this,o,e,t,i)},dropShadow:function(o,e,t){return this.parent()&&this.parent().dropShadow(this,o,e,t).in(this)},flood:function(o,e){return this.parent()&&this.parent().flood(o,e)},gaussianBlur:function(o,e){return this.parent()&&this.parent().gaussianBlur(o,e).in(this)},image:function(o){return this.parent()&&this.parent().image(o)},merge:function(o){return o=o instanceof Array?o:[...o],this.parent()&&this.parent().merge(this,...o)},morphology:function(o,e){return this.parent()&&this.parent().morphology(o,e).in(this)},offset:function(o,e){return this.parent()&&this.parent().offset(o,e).in(this)},specularLighting:function(o,e,t,i,s){return this.parent()&&this.parent().specularLighting(o,t,i,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(o,e,t,i,s){return this.parent()&&this.parent().turbulence(o,e,t,i,s).in(this)}}),Q(we.MergeEffect,{in:function(o){return o instanceof we.MergeNode?this.add(o,0):this.add(new we.MergeNode().in(o),0),this}}),Q([we.CompositeEffect,we.BlendEffect,we.DisplacementMapEffect],{in2:function(o){if(o==null){const e=this.attr("in2");return this.parent()&&this.parent().find(`[result="${e}"]`)[0]||e}return this.attr("in2",o)}}),we.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Re=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getDefaultFilter",value:function(e,t){var i=this.w;e.unfilter(!0),new we().size("120%","180%","-5%","-40%"),i.config.chart.dropShadow.enabled&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"applyFilter",value:function(e,t,i){var s,a=this,r=this.w;if(e.unfilter(!0),i!=="none"){var n,l,h=r.config.chart.dropShadow,d=i==="lighten"?2:.3;e.filterWith(function(c){c.colorMatrix({type:"matrix",values:` + `.concat(d,` 0 0 0 0 + 0 `).concat(d,` 0 0 0 + 0 0 `).concat(d,` 0 0 + 0 0 0 1 0 + `),in:"SourceGraphic",result:"brightness"}),h.enabled&&a.addShadow(c,t,h,"brightness")}),!h.noUserSpaceOnUse&&((n=e.filterer())===null||n===void 0||(l=n.node)===null||l===void 0||l.setAttribute("filterUnits","userSpaceOnUse")),this._scaleFilterSize((s=e.filterer())===null||s===void 0?void 0:s.node)}else this.getDefaultFilter(e,t)}},{key:"addShadow",value:function(e,t,i,s){var a,r=this.w,n=i.blur,l=i.top,h=i.left,d=i.color,c=i.opacity;if(d=Array.isArray(d)?d[t]:d,((a=r.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.length)>0&&r.config.chart.dropShadow.enabledOnSeries.indexOf(t)===-1)return e;e.offset({in:s,dx:h,dy:l,result:"offset"}),e.gaussianBlur({in:"offset",stdDeviation:n,result:"blur"}),e.flood({"flood-color":d,"flood-opacity":c,result:"flood"}),e.composite({in:"flood",in2:"blur",operator:"in",result:"shadow"}),e.merge(["shadow",s])}},{key:"dropShadow",value:function(e,t){var i,s,a,r=this,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=this.w;return e.unfilter(!0),R.isMsEdge()&&l.config.chart.type==="radialBar"||((i=l.config.chart.dropShadow.enabledOnSeries)===null||i===void 0?void 0:i.length)>0&&((a=l.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.indexOf(n))===-1||(e.filterWith(function(h){r.addShadow(h,n,t,"SourceGraphic")}),t.noUserSpaceOnUse||e.filterer().node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize((s=e.filterer())===null||s===void 0?void 0:s.node)),e}},{key:"setSelectionFilter",value:function(e,t,i){var s=this.w;if(s.globals.selectedDataPoints[t]!==void 0&&s.globals.selectedDataPoints[t].indexOf(i)>-1){e.node.setAttribute("selected",!0);var a=s.config.states.active.filter;a!=="none"&&this.applyFilter(e,t,a.type)}}},{key:"_scaleFilterSize",value:function(e){e&&function(t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),o}(),W=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"roundPathCorners",value:function(e,t){function i(M,O,I){var F=O.x-M.x,G=O.y-M.y,N=Math.sqrt(F*F+G*G);return s(M,O,Math.min(1,I/N))}function s(M,O,I){return{x:M.x+(O.x-M.x)*I,y:M.y+(O.y-M.y)*I}}function a(M,O){M.length>2&&(M[M.length-2]=O.x,M[M.length-1]=O.y)}function r(M){return{x:parseFloat(M[M.length-2]),y:parseFloat(M[M.length-1])}}e.indexOf("NaN")>-1&&(e="");var n=e.split(/[,\s]/).reduce(function(M,O){var I=O.match("([a-zA-Z])(.+)");return I?(M.push(I[1]),M.push(I[2])):M.push(O),M},[]).reduce(function(M,O){return parseFloat(O)==O&&M.length?M[M.length-1].push(O):M.push([O]),M},[]),l=[];if(n.length>1){var h=r(n[0]),d=null;n[n.length-1][0]=="Z"&&n[0].length>2&&(d=["L",h.x,h.y],n[n.length-1]=d),l.push(n[0]);for(var c=1;c2&&g[0]=="L"&&p.length>2&&p[0]=="L"){var f,x,m=r(u),b=r(g),w=r(p);f=i(b,m,t),x=i(b,w,t),a(g,f),g.origPoint=b,l.push(g);var S=s(f,b,.5),A=s(b,x,.5),T=["C",S.x,S.y,A.x,A.y,x.x,x.y];T.origPoint=b,l.push(T)}else l.push(g)}if(d){var k=r(l[l.length-1]);l.push(["Z"]),a(l[0],k)}}else l=n;return l.reduce(function(M,O){return M+O.join(" ")+" "},"")}},{key:"drawLine",value:function(e,t,i,s){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#a8a8a8",r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:e,y1:t,x2:i,y2:s,stroke:a,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":l})}},{key:"drawRect",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"#fefefe",n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:1,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,h=arguments.length>8&&arguments[8]!==void 0?arguments[8]:null,d=arguments.length>9&&arguments[9]!==void 0?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:e,y:t,width:i>0?i:0,height:s>0?s:0,rx:a,ry:a,opacity:n,"stroke-width":l!==null?l:0,stroke:h!==null?h:"none","stroke-dasharray":d}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"#e1e1e1",i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(e).attr({fill:s,stroke:t,"stroke-width":i})}},{key:"drawCircle",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e<0&&(e=0);var i=this.w.globals.dom.Paper.circle(2*e);return t!==null&&i.attr(t),i}},{key:"drawPath",value:function(e){var t=e.d,i=t===void 0?"":t,s=e.stroke,a=s===void 0?"#a8a8a8":s,r=e.strokeWidth,n=r===void 0?1:r,l=e.fill,h=e.fillOpacity,d=h===void 0?1:h,c=e.strokeOpacity,u=c===void 0?1:c,g=e.classes,p=e.strokeLinecap,f=p===void 0?null:p,x=e.strokeDashArray,m=x===void 0?0:x,b=this.w;return f===null&&(f=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:l,"fill-opacity":d,stroke:a,"stroke-opacity":u,"stroke-linecap":f,"stroke-width":n,"stroke-dasharray":m,class:g})}},{key:"group",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w.globals.dom.Paper.group();return e!==null&&t.attr(e),t}},{key:"move",value:function(e,t){var i=["M",e,t].join(" ");return i}},{key:"line",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=null;return i===null?s=[" L",e,t].join(" "):i==="H"?s=[" H",e].join(" "):i==="V"&&(s=[" V",t].join(" ")),s}},{key:"curve",value:function(e,t,i,s,a,r){var n=["C",e,t,i,s,a,r].join(" ");return n}},{key:"quadraticCurve",value:function(e,t,i,s){return["Q",e,t,i,s].join(" ")}},{key:"arc",value:function(e,t,i,s,a,r,n){var l="A";arguments.length>7&&arguments[7]!==void 0&&arguments[7]&&(l="a");var h=[l,e,t,i,s,a,r,n].join(" ");return h}},{key:"renderPaths",value:function(e){var t,i=e.j,s=e.realIndex,a=e.pathFrom,r=e.pathTo,n=e.stroke,l=e.strokeWidth,h=e.strokeLinecap,d=e.fill,c=e.animationDelay,u=e.initialSpeed,g=e.dataChangeSpeed,p=e.className,f=e.chartType,x=e.shouldClipToGrid,m=x===void 0||x,b=e.bindEventsOnPaths,w=b===void 0||b,S=e.drawShadow,A=S===void 0||S,T=this.w,k=new Re(this.ctx),M=new Fe(this.ctx),O=this.w.config.chart.animations.enabled,I=O&&this.w.config.chart.animations.dynamicAnimation.enabled,F=!!(O&&!T.globals.resized||I&&T.globals.dataChanged&&T.globals.shouldAnimate);F?t=a:(t=r,T.globals.animationEnded=!0);var G=T.config.stroke.dashArray,N=0;N=Array.isArray(G)?G[s]:T.config.stroke.dashArray;var B=this.drawPath({d:t,stroke:n,strokeWidth:l,fill:d,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:N});B.attr("index",s),m&&(f==="bar"&&!T.globals.isHorizontal||T.globals.comboCharts?B.attr({"clip-path":"url(#gridRectBarMask".concat(T.globals.cuid,")")}):B.attr({"clip-path":"url(#gridRectMask".concat(T.globals.cuid,")")})),T.config.chart.dropShadow.enabled&&A&&k.dropShadow(B,T.config.chart.dropShadow,s),w&&(B.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,B)),B.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,B)),B.node.addEventListener("mousedown",this.pathMouseDown.bind(this,B))),B.attr({pathTo:r,pathFrom:a});var U={el:B,j:i,realIndex:s,pathFrom:a,pathTo:r,fill:d,strokeWidth:l,delay:c};return!O||T.globals.resized||T.globals.dataChanged?!T.globals.resized&&T.globals.dataChanged||M.showDelayedElements():M.animatePathsGradually(H(H({},U),{},{speed:u})),T.globals.dataChanged&&I&&F&&M.animatePathsGradually(H(H({},U),{},{speed:g})),B}},{key:"drawPattern",value:function(e,t,i){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#a8a8a8",a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;return this.w.globals.dom.Paper.pattern(t,i,function(r){e==="horizontalLines"?r.line(0,0,i,0).stroke({color:s,width:a+1}):e==="verticalLines"?r.line(0,0,0,t).stroke({color:s,width:a+1}):e==="slantedLines"?r.line(0,0,t,i).stroke({color:s,width:a}):e==="squares"?r.rect(t,i).fill("none").stroke({color:s,width:a}):e==="circles"&&r.circle(t).fill("none").stroke({color:s,width:a})})}},{key:"drawGradient",value:function(e,t,i,s,a){var r,n=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,h=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],d=arguments.length>8&&arguments[8]!==void 0?arguments[8]:0,c=this.w;t.length<9&&t.indexOf("#")===0&&(t=R.hexToRgba(t,s)),i.length<9&&i.indexOf("#")===0&&(i=R.hexToRgba(i,a));var u=0,g=1,p=1,f=null;l!==null&&(u=l[0]!==void 0?l[0]/100:0,g=l[1]!==void 0?l[1]/100:1,p=l[2]!==void 0?l[2]/100:1,f=l[3]!==void 0?l[3]/100:null);var x=!(c.config.chart.type!=="donut"&&c.config.chart.type!=="pie"&&c.config.chart.type!=="polarArea"&&c.config.chart.type!=="bubble");if(r=h&&h.length!==0?c.globals.dom.Paper.gradient(x?"radial":"linear",function(w){(Array.isArray(h[d])?h[d]:h).forEach(function(S){w.stop(S.offset/100,S.color,S.opacity)})}):c.globals.dom.Paper.gradient(x?"radial":"linear",function(w){w.stop(u,t,s),w.stop(g,i,a),w.stop(p,i,a),f!==null&&w.stop(f,t,s)}),x){var m=c.globals.gridWidth/2,b=c.globals.gridHeight/2;c.config.chart.type!=="bubble"?r.attr({gradientUnits:"userSpaceOnUse",cx:m,cy:b,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else e==="vertical"?r.from(0,0).to(0,1):e==="diagonal"?r.from(0,0).to(1,1):e==="horizontal"?r.from(0,1).to(1,1):e==="diagonal2"&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(e){var t=e.text,i=e.maxWidth,s=e.fontSize,a=e.fontFamily,r=this.getTextRects(t,s,a),n=r.width/t.length,l=Math.floor(i/n);return i-1){var l=i.globals.selectedDataPoints[a].indexOf(r);i.globals.selectedDataPoints[a].splice(l,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var h=i.globals.dom.Paper.find(".apexcharts-series path:not(.apexcharts-decoration-element)"),d=i.globals.dom.Paper.find(".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)"),c=function(p){Array.prototype.forEach.call(p,function(f){f.node.setAttribute("selected","false"),s.getDefaultFilter(f,a)})};c(h),c(d)}e.node.setAttribute("selected","true"),n="true",i.globals.selectedDataPoints[a]===void 0&&(i.globals.selectedDataPoints[a]=[]),i.globals.selectedDataPoints[a].push(r)}if(n==="true"){var u=i.config.states.active.filter;if(u!=="none")s.applyFilter(e,a,u.type);else if(i.config.states.hover.filter!=="none"&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;s.applyFilter(e,a,g.type)}}else i.config.states.active.filter.type!=="none"&&(i.config.states.hover.filter.type==="none"||i.globals.isTouchDevice?s.getDefaultFilter(e,a):(g=i.config.states.hover.filter,s.applyFilter(e,a,g.type)));typeof i.config.chart.events.dataPointSelection=="function"&&i.config.chart.events.dataPointSelection(t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:r,w:i}),t&&this.ctx.events.fireEvent("dataPointSelection",[t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(e){var t={};return e&&typeof e.getBBox=="function"&&(t=e.getBBox()),{x:t.x+t.width/2,y:t.y+t.height/2}}},{key:"getTextRects",value:function(e,t,i,s){var a=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:e,textAnchor:"start",fontSize:t,fontFamily:i,foreColor:"#fff",opacity:0});s&&n.attr("transform",s),r.globals.dom.Paper.add(n);var l=n.bbox();return a||(l=n.node.getBoundingClientRect()),n.remove(),{width:l.width,height:l.height}}},{key:"placeTextWithEllipsis",value:function(e,t,i){if(typeof e.getComputedTextLength=="function"&&(e.textContent=t,t.length>0&&e.getComputedTextLength()>=i/1.1)){for(var s=t.length-3;s>0;s-=3)if(e.getSubStringLength(0,s)<=i/1.1)return void(e.textContent=t.substring(0,s)+"...");e.textContent="."}}}],[{key:"setAttrs",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}}]),o}(),Pe=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getStackedSeriesTotals",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=this.w,i=[];if(t.globals.series.length===0)return i;for(var s=0;s0&&arguments[0]!==void 0?arguments[0]:null;return e===null?this.w.config.series.reduce(function(t,i){return t+i},0):this.w.globals.series[e].reduce(function(t,i){return t+i},0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var e=this,t=this.w,i=[];return t.globals.seriesGroups.forEach(function(s){var a=[];t.config.series.forEach(function(n,l){s.indexOf(t.globals.seriesNames[l])>-1&&a.push(l)});var r=t.globals.series.map(function(n,l){return a.indexOf(l)===-1?l:-1}).filter(function(n){return n!==-1});i.push(e.getStackedSeriesTotals(r))}),i}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],s=[],a=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(c){return Array.isArray(c.seriesName)});t.series.forEach(function(c,u){a.push(u),s.push(null)}),t.yaxis.forEach(function(c,u){i[u]=[]});var n=[];t.yaxis.forEach(function(c,u){var g=!1;if(c.seriesName){var p=[];Array.isArray(c.seriesName)?p=c.seriesName:p.push(c.seriesName),p.forEach(function(f){t.series.forEach(function(x,m){if(x.name===f){var b=m;u===m||r?!r||a.indexOf(m)>-1?i[u].push([u,m]):console.warn("Series '"+x.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[m].push([m,u]),b=u),g=!0,(b=a.indexOf(b))!==-1&&a.splice(b,1)}})})}g||n.push(u)}),i=i.map(function(c,u){var g=[];return c.forEach(function(p){s[p[1]]=p[0],g.push(p[1])}),g});for(var l=t.yaxis.length-1,h=0;h0&&arguments[0]!==void 0?arguments[0]:null;return(e===null?this.w.config.series.filter(function(t){return t!==null}):this.w.config.series[e].data.filter(function(t){return t!==null})).length===0}},{key:"seriesHaveSameValues",value:function(e){return this.w.globals.series[e].every(function(t,i,s){return t===s[0]})}},{key:"getCategoryLabels",value:function(e){var t=this.w,i=e.slice();return t.config.xaxis.convertedCatToNumeric&&(i=e.map(function(s,a){return t.config.xaxis.labels.formatter(s-t.globals.minX+1)})),i}},{key:"getLargestSeries",value:function(){var e=this.w;e.globals.maxValsInArrayIndex=e.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,e.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var e=this.w,t=0;return e.globals.markers.size.forEach(function(i){t=Math.max(t,i)}),e.config.markers.discrete&&e.config.markers.discrete.length&&e.config.markers.discrete.forEach(function(i){t=Math.max(t,i.size)}),t>0&&(e.config.markers.hover.size>0?t=e.config.markers.hover.size:t+=e.config.markers.hover.sizeOffset),e.globals.markers.largestSize=t,t}},{key:"getSeriesTotals",value:function(){var e=this.w;e.globals.seriesTotals=e.globals.series.map(function(t,i){var s=0;if(Array.isArray(t))for(var a=0;ae&&i.globals.seriesX[a][n]0){var p=function(x,m){var b=a.config.yaxis[a.globals.seriesYAxisReverseMap[m]],w=x<0?-1:1;return x=Math.abs(x),b.logarithmic&&(x=s.getBaseLog(b.logBase,x)),-w*x/n[m]};if(r.isMultipleYAxis){h=[];for(var f=0;f0&&t.forEach(function(n){var l=[],h=[];e.i.forEach(function(d,c){a.config.series[d].group===n&&(l.push(e.series[c]),h.push(d))}),l.length>0&&r.push(s.draw(l,i,h))}),r}}],[{key:"checkComboSeries",value:function(e,t){var i=!1,s=0,a=0;return t===void 0&&(t="line"),e.length&&e[0].type!==void 0&&e.forEach(function(r){r.type!=="bar"&&r.type!=="column"&&r.type!=="candlestick"&&r.type!=="boxPlot"||s++,r.type!==void 0&&r.type!==t&&a++}),a>0&&(i=!0),{comboBarCount:s,comboCharts:i}}},{key:"extendArrayProps",value:function(e,t,i){var s,a,r,n,l,h;return(s=t)!==null&&s!==void 0&&s.yaxis&&(t=e.extendYAxis(t,i)),(a=t)!==null&&a!==void 0&&a.annotations&&(t.annotations.yaxis&&(t=e.extendYAxisAnnotations(t)),(r=t)!==null&&r!==void 0&&(n=r.annotations)!==null&&n!==void 0&&n.xaxis&&(t=e.extendXAxisAnnotations(t)),(l=t)!==null&&l!==void 0&&(h=l.annotations)!==null&&h!==void 0&&h.points&&(t=e.extendPointAnnotations(t))),t}}]),o}(),ci=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e}return E(o,[{key:"setOrientations",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.w;if(e.label.orientation==="vertical"){var s=t!==null?t:0,a=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(s,"']"));if(a!==null){var r=a.getBoundingClientRect();a.setAttribute("x",parseFloat(a.getAttribute("x"))-r.height+4);var n=e.label.position==="top"?r.width:-r.width;a.setAttribute("y",parseFloat(a.getAttribute("y"))+n);var l=this.annoCtx.graphics.rotateAroundCenter(a),h=l.x,d=l.y;a.setAttribute("transform","rotate(-90 ".concat(h," ").concat(d,")"))}}}},{key:"addBackgroundToAnno",value:function(e,t){var i=this.w;if(!e||!t.label.text||!String(t.label.text).trim())return null;var s=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),a=e.getBoundingClientRect(),r=t.label.style.padding,n=r.left,l=r.right,h=r.top,d=r.bottom;if(t.label.orientation==="vertical"){var c=[n,l,h,d];h=c[0],d=c[1],n=c[2],l=c[3]}var u=a.left-s.left-n,g=a.top-s.top-h,p=this.annoCtx.graphics.drawRect(u-i.globals.barPadForNumericAxis,g,a.width+n+l,a.height+h+d,t.label.borderRadius,t.label.style.background,1,t.label.borderWidth,t.label.borderColor,0);return t.id&&p.node.classList.add(t.id),p}},{key:"annotationsBackground",value:function(){var e=this,t=this.w,i=function(s,a,r){var n=t.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(a,"']"));if(n){var l=n.parentNode,h=e.addBackgroundToAnno(n,s);h&&(l.insertBefore(h.node,n),s.label.mouseEnter&&h.node.addEventListener("mouseenter",s.label.mouseEnter.bind(e,s)),s.label.mouseLeave&&h.node.addEventListener("mouseleave",s.label.mouseLeave.bind(e,s)),s.label.click&&h.node.addEventListener("click",s.label.click.bind(e,s)))}};t.config.annotations.xaxis.forEach(function(s,a){return i(s,a,"xaxis")}),t.config.annotations.yaxis.forEach(function(s,a){return i(s,a,"yaxis")}),t.config.annotations.points.forEach(function(s,a){return i(s,a,"point")})}},{key:"getY1Y2",value:function(e,t){var i,s=this.w,a=e==="y1"?t.y:t.y2,r=!1;if(this.annoCtx.invertAxis){var n=s.config.xaxis.convertedCatToNumeric?s.globals.categoryLabels:s.globals.labels,l=n.indexOf(a),h=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(".concat(l+1,")"));i=h?parseFloat(h.getAttribute("y")):(s.globals.gridHeight/n.length-1)*(l+1)-s.globals.barHeight,t.seriesIndex!==void 0&&s.globals.barHeight&&(i-=s.globals.barHeight/2*(s.globals.series.length-1)-s.globals.barHeight*t.seriesIndex)}else{var d,c=s.globals.seriesYAxisMap[t.yAxisIndex][0],u=s.config.yaxis[t.yAxisIndex].logarithmic?new Pe(this.annoCtx.ctx).getLogVal(s.config.yaxis[t.yAxisIndex].logBase,a,c)/s.globals.yLogRatio[c]:(a-s.globals.minYArr[c])/(s.globals.yRange[c]/s.globals.gridHeight);i=s.globals.gridHeight-Math.min(Math.max(u,0),s.globals.gridHeight),r=u>s.globals.gridHeight||u<0,!t.marker||t.y!==void 0&&t.y!==null||(i=0),(d=s.config.yaxis[t.yAxisIndex])!==null&&d!==void 0&&d.reversed&&(i=u)}return typeof a=="string"&&a.includes("px")&&(i=parseFloat(a)),{yP:i,clipped:r}}},{key:"getX1X2",value:function(e,t){var i=this.w,s=e==="x1"?t.x:t.x2,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,l=!1,h=this.annoCtx.inversedReversedAxis?(r-s)/(n/i.globals.gridWidth):(s-a)/(n/i.globals.gridWidth);return i.config.xaxis.type!=="category"&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(h=this.getStringX(s)),typeof s=="string"&&s.includes("px")&&(h=parseFloat(s)),s==null&&t.marker&&(h=i.globals.gridWidth),t.seriesIndex!==void 0&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(h-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*t.seriesIndex),h>i.globals.gridWidth?(h=i.globals.gridWidth,l=!0):h<0&&(h=0,l=!0),{x:h,clipped:l}}},{key:"getStringX",value:function(e){var t=this.w,i=e;t.config.xaxis.convertedCatToNumeric&&t.globals.categoryLabels.length&&(e=t.globals.categoryLabels.indexOf(e)+1);var s=t.globals.labels.map(function(r){return Array.isArray(r)?r.join(" "):r}).indexOf(e),a=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(".concat(s+1,")"));return a&&(i=parseFloat(a.getAttribute("x"))),i}}]),o}(),sn=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new ci(this.annoCtx)}return E(o,[{key:"addXaxisAnnotation",value:function(e,t,i){var s,a=this.w,r=this.helpers.getX1X2("x1",e),n=r.x,l=r.clipped,h=!0,d=e.label.text,c=e.strokeDashArray;if(R.isNumber(n)){if(e.x2===null||e.x2===void 0){if(!l){var u=this.annoCtx.graphics.drawLine(n+e.offsetX,0+e.offsetY,n+e.offsetX,a.globals.gridHeight+e.offsetY,e.borderColor,c,e.borderWidth);t.appendChild(u.node),e.id&&u.node.classList.add(e.id)}}else{var g=this.helpers.getX1X2("x2",e);if(s=g.x,h=g.clipped,!l||!h){if(s12?g-12:g===0?12:g;t=(t=(t=(t=t.replace(/(^|[^\\])HH+/g,"$1"+h(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+h(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=s?e.getUTCMinutes():e.getMinutes();t=(t=t.replace(/(^|[^\\])mm+/g,"$1"+h(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=s?e.getUTCSeconds():e.getSeconds();t=(t=t.replace(/(^|[^\\])ss+/g,"$1"+h(x))).replace(/(^|[^\\])s/g,"$1"+x);var m=s?e.getUTCMilliseconds():e.getMilliseconds();t=t.replace(/(^|[^\\])fff+/g,"$1"+h(m,3)),m=Math.round(m/10),t=t.replace(/(^|[^\\])ff/g,"$1"+h(m)),m=Math.round(m/10);var b=g<12?"AM":"PM";t=(t=(t=t.replace(/(^|[^\\])f/g,"$1"+m)).replace(/(^|[^\\])TT+/g,"$1"+b)).replace(/(^|[^\\])T/g,"$1"+b.charAt(0));var w=b.toLowerCase();t=(t=t.replace(/(^|[^\\])tt+/g,"$1"+w)).replace(/(^|[^\\])t/g,"$1"+w.charAt(0));var S=-e.getTimezoneOffset(),A=s||!S?"Z":S>0?"+":"-";if(!s){var T=(S=Math.abs(S))%60;A+=h(Math.floor(S/60))+":"+h(T)}t=t.replace(/(^|[^\\])K/g,"$1"+A);var k=(s?e.getUTCDay():e.getDay())+1;return t=(t=(t=(t=(t=t.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(l[0],"g"),l[k])).replace(new RegExp(a[0],"g"),a[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(e,t,i){var s=this.w;s.config.xaxis.min!==void 0&&(e=s.config.xaxis.min),s.config.xaxis.max!==void 0&&(t=s.config.xaxis.max);var a=this.getDate(e),r=this.getDate(t),n=this.formatDate(a,"yyyy MM dd HH mm ss fff").split(" "),l=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(l[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(l[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(l[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(l[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(l[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(l[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(l[0],10)}}},{key:"isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"calculcateLastDaysOfMonth",value:function(e,t,i){return this.determineDaysOfMonths(e,t)-i}},{key:"determineDaysOfYear",value:function(e){var t=365;return this.isLeapYear(e)&&(t=366),t}},{key:"determineRemainingDaysOfYear",value:function(e,t,i){var s=this.daysCntOfYear[t]+i;return t>1&&this.isLeapYear()&&s++,s}},{key:"determineDaysOfMonths",value:function(e,t){var i=30;switch(e=R.monthMod(e),!0){case this.months30.indexOf(e)>-1:e===2&&(i=this.isLeapYear(t)?29:28);break;case this.months31.indexOf(e)>-1:default:i=31}return i}}]),o}(),Vt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return E(o,[{key:"xLabelFormat",value:function(e,t,i,s){var a=this.w;if(a.config.xaxis.type==="datetime"&&a.config.xaxis.labels.formatter===void 0&&a.config.tooltip.x.formatter===void 0){var r=new Ie(this.ctx);return r.formatDate(r.getDate(t),a.config.tooltip.x.format)}return e(t,i,s)}},{key:"defaultGeneralFormatter",value:function(e){return Array.isArray(e)?e.map(function(t){return t}):e}},{key:"defaultYFormatter",value:function(e,t,i){var s=this.w;if(R.isNumber(e))if(s.globals.yValueDecimal!==0)e=e.toFixed(t.decimalsInFloat!==void 0?t.decimalsInFloat:s.globals.yValueDecimal);else{var a=e.toFixed(0);e=e==a?a:e.toFixed(1)}return e}},{key:"setLabelFormatters",value:function(){var e=this,t=this.w;return t.globals.xaxisTooltipFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttKeyFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttZFormatter=function(i){return i},t.globals.legendFormatter=function(i){return e.defaultGeneralFormatter(i)},t.config.xaxis.labels.formatter!==void 0?t.globals.xLabelFormatter=t.config.xaxis.labels.formatter:t.globals.xLabelFormatter=function(i){if(R.isNumber(i)){if(!t.config.xaxis.convertedCatToNumeric&&t.config.xaxis.type==="numeric"){if(R.isNumber(t.config.xaxis.decimalsInFloat))return i.toFixed(t.config.xaxis.decimalsInFloat);var s=t.globals.maxX-t.globals.minX;return s>0&&s<100?i.toFixed(1):i.toFixed(0)}return t.globals.isBarHorizontal&&t.globals.maxY-t.globals.minYArr<4?i.toFixed(1):i.toFixed(0)}return i},typeof t.config.tooltip.x.formatter=="function"?t.globals.ttKeyFormatter=t.config.tooltip.x.formatter:t.globals.ttKeyFormatter=t.globals.xLabelFormatter,typeof t.config.xaxis.tooltip.formatter=="function"&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),(Array.isArray(t.config.tooltip.y)||t.config.tooltip.y.formatter!==void 0)&&(t.globals.ttVal=t.config.tooltip.y),t.config.tooltip.z.formatter!==void 0&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),t.config.legend.formatter!==void 0&&(t.globals.legendFormatter=t.config.legend.formatter),t.config.yaxis.forEach(function(i,s){i.labels.formatter!==void 0?t.globals.yLabelFormatters[s]=i.labels.formatter:t.globals.yLabelFormatters[s]=function(a){return t.globals.xyCharts?Array.isArray(a)?a.map(function(r){return e.defaultYFormatter(r,i,s)}):e.defaultYFormatter(a,i,s):a}}),t.globals}},{key:"heatmapLabelFormatters",value:function(){var e=this.w;if(e.config.chart.type==="heatmap"){e.globals.yAxisScale[0].result=e.globals.seriesNames.slice();var t=e.globals.seriesNames.reduce(function(i,s){return i.length>s.length?i:s},0);e.globals.yAxisScale[0].niceMax=t,e.globals.yAxisScale[0].niceMin=t}}}]),o}(),dt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getLabel",value:function(e,t,i,s){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"12px",n=!(arguments.length>6&&arguments[6]!==void 0)||arguments[6],l=this.w,h=e[s]===void 0?"":e[s],d=h,c=l.globals.xLabelFormatter,u=l.config.xaxis.labels.formatter,g=!1,p=new Vt(this.ctx),f=h;n&&(d=p.xLabelFormat(c,h,f,{i:s,dateFormatter:new Ie(this.ctx).formatDate,w:l}),u!==void 0&&(d=u(h,e[s],{i:s,dateFormatter:new Ie(this.ctx).formatDate,w:l})));var x,m;t.length>0?(x=t[s].unit,m=null,t.forEach(function(A){A.unit==="month"?m="year":A.unit==="day"?m="month":A.unit==="hour"?m="day":A.unit==="minute"&&(m="hour")}),g=m===x,i=t[s].position,d=t[s].value):l.config.xaxis.type==="datetime"&&u===void 0&&(d=""),d===void 0&&(d=""),d=Array.isArray(d)?d:d.toString();var b=new W(this.ctx),w={};w=l.globals.rotateXLabels&&n?b.getTextRects(d,parseInt(r,10),null,"rotate(".concat(l.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(d,parseInt(r,10));var S=!l.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(d)&&(String(d)==="NaN"||a.indexOf(d)>=0&&S)&&(d=""),{x:i,text:d,textRect:w,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(e,t,i){var s=this.w,a=s.config.xaxis.tickAmount;return a==="dataPoints"&&(a=Math.round(s.globals.gridWidth/120)),a>i||e%Math.round(i/(a+1))==0||(t.text=""),t}},{key:"checkForOverflowingLabels",value:function(e,t,i,s,a){var r=this.w;if(e===0&&r.globals.skipFirstTimelinelabel&&(t.text=""),e===i-1&&r.globals.skipLastTimelinelabel&&(t.text=""),r.config.xaxis.labels.hideOverlappingLabels&&s.length>0){var n=a[a.length-1];t.xs.length||s.some(function(a){return Array.isArray(a.seriesName)})?e:i.seriesYAxisReverseMap[e]}},{key:"isYAxisHidden",value:function(e){var t=this.w,i=t.config.yaxis[e];if(!i.show||this.yAxisAllSeriesCollapsed(e))return!0;if(!i.showForNullSeries){var s=t.globals.seriesYAxisMap[e],a=new Pe(this.ctx);return s.every(function(r){return a.isSeriesNull(r)})}return!1}},{key:"getYAxisForeColor",value:function(e,t){var i=this.w;return Array.isArray(e)&&i.globals.yAxisScale[t]&&this.ctx.theme.pushExtraColors(e,i.globals.yAxisScale[t].result.length,!1),e}},{key:"drawYAxisTicks",value:function(e,t,i,s,a,r,n){var l=this.w,h=new W(this.ctx),d=l.globals.translateY+l.config.yaxis[a].labels.offsetY;if(l.globals.isBarHorizontal?d=0:l.config.chart.type==="heatmap"&&(d+=r/2),s.show&&t>0){l.config.yaxis[a].opposite===!0&&(e+=s.width);for(var c=t;c>=0;c--){var u=h.drawLine(e+i.offsetX-s.width+s.offsetX,d+s.offsetY,e+i.offsetX+s.offsetX,d+s.offsetY,s.color);n.add(u),d+=r}}}}]),o}(),an=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.helpers=new ci(this.annoCtx),this.axesUtils=new dt(this.annoCtx)}return E(o,[{key:"addYaxisAnnotation",value:function(e,t,i){var s,a=this.w,r=e.strokeDashArray,n=this.helpers.getY1Y2("y1",e),l=n.yP,h=n.clipped,d=!0,c=!1,u=e.label.text;if(e.y2===null||e.y2===void 0){if(!h){c=!0;var g=this.annoCtx.graphics.drawLine(0+e.offsetX,l+e.offsetY,this._getYAxisAnnotationWidth(e),l+e.offsetY,e.borderColor,r,e.borderWidth);t.appendChild(g.node),e.id&&g.node.classList.add(e.id)}}else{if(s=(n=this.helpers.getY1Y2("y2",e)).yP,d=n.clipped,s>l){var p=l;l=s,s=p}if(!h||!d){c=!0;var f=this.annoCtx.graphics.drawRect(0+e.offsetX,s+e.offsetY,this._getYAxisAnnotationWidth(e),l-s,0,e.fillColor,e.opacity,1,e.borderColor,r);f.node.classList.add("apexcharts-annotation-rect"),f.attr("clip-path","url(#gridRectMask".concat(a.globals.cuid,")")),t.appendChild(f.node),e.id&&f.node.classList.add(e.id)}}if(c){var x=e.label.position==="right"?a.globals.gridWidth:e.label.position==="center"?a.globals.gridWidth/2:0,m=this.annoCtx.graphics.drawText({x:x+e.label.offsetX,y:(s??l)+e.label.offsetY-3,text:u,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});m.attr({rel:i}),t.appendChild(m.node)}}},{key:"_getYAxisAnnotationWidth",value:function(e){var t=this.w;return t.globals.gridWidth,(e.width.indexOf("%")>-1?t.globals.gridWidth*parseInt(e.width,10)/100:parseInt(e.width,10))+e.offsetX}},{key:"drawYAxisAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.forEach(function(s,a){s.yAxisIndex=e.axesUtils.translateYAxisIndex(s.yAxisIndex),e.axesUtils.isYAxisHidden(s.yAxisIndex)&&e.axesUtils.yAxisAllSeriesCollapsed(s.yAxisIndex)||e.addYaxisAnnotation(s,i.node,a)}),i}}]),o}(),rn=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.helpers=new ci(this.annoCtx)}return E(o,[{key:"addPointAnnotation",value:function(e,t,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(e.seriesIndex)>-1)){var s=this.helpers.getX1X2("x1",e),a=s.x,r=s.clipped,n=(s=this.helpers.getY1Y2("y1",e)).yP,l=s.clipped;if(R.isNumber(a)&&!l&&!r){var h={pSize:e.marker.size,pointStrokeWidth:e.marker.strokeWidth,pointFillColor:e.marker.fillColor,pointStrokeColor:e.marker.strokeColor,shape:e.marker.shape,pRadius:e.marker.radius,class:"apexcharts-point-annotation-marker ".concat(e.marker.cssClass," ").concat(e.id?e.id:"")},d=this.annoCtx.graphics.drawMarker(a+e.marker.offsetX,n+e.marker.offsetY,h);t.appendChild(d.node);var c=e.label.text?e.label.text:"",u=this.annoCtx.graphics.drawText({x:a+e.label.offsetX,y:n+e.label.offsetY-e.marker.size-parseFloat(e.label.style.fontSize)/1.6,text:c,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});if(u.attr({rel:i}),t.appendChild(u.node),e.customSVG.SVG){var g=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+e.customSVG.cssClass});g.attr({transform:"translate(".concat(a+e.customSVG.offsetX,", ").concat(n+e.customSVG.offsetY,")")}),g.node.innerHTML=e.customSVG.SVG,t.appendChild(g.node)}if(e.image.path){var p=e.image.width?e.image.width:20,f=e.image.height?e.image.height:20;d=this.annoCtx.addImage({x:a+e.image.offsetX-p/2,y:n+e.image.offsetY-f/2,width:p,height:f,path:e.image.path,appendTo:".apexcharts-point-annotations"})}e.mouseEnter&&d.node.addEventListener("mouseenter",e.mouseEnter.bind(this,e)),e.mouseLeave&&d.node.addEventListener("mouseleave",e.mouseLeave.bind(this,e)),e.click&&d.node.addEventListener("click",e.click.bind(this,e))}}}},{key:"drawPointAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(s,a){e.addPointAnnotation(s,i.node,a)}),i}}]),o}(),pa={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},kt=function(){function o(){P(this,o),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return E(o,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[pa],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(e){return e}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(e){return e+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)/e.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(e){return e},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(e){return e}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(e){return e}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(e){return e!==null?e:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:"lighten"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken"}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(e){return e?e+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),o}(),nn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.graphics=new W(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new ci(this),this.xAxisAnnotations=new sn(this),this.yAxisAnnotations=new an(this),this.pointsAnnotations=new rn(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return E(o,[{key:"drawAxesAnnotations",value:function(){var e=this.w;if(e.globals.axisCharts&&e.globals.dataPoints){for(var t=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),s=this.pointsAnnotations.drawPointAnnotations(),a=e.config.chart.animations.enabled,r=[t,i,s],n=[i.node,t.node,s.node],l=0;l<3;l++)e.globals.dom.elGraphical.add(r[l]),!a||e.globals.resized||e.globals.dataChanged||e.config.chart.type!=="scatter"&&e.config.chart.type!=="bubble"&&e.globals.dataPoints>1&&n[l].classList.add("apexcharts-element-hidden"),e.globals.delayedElements.push({el:n[l],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var e=this;this.w.config.annotations.images.map(function(t,i){e.addImage(t,i)})}},{key:"drawTextAnnos",value:function(){var e=this;this.w.config.annotations.texts.map(function(t,i){e.addText(t,i)})}},{key:"addXaxisAnnotation",value:function(e,t,i){this.xAxisAnnotations.addXaxisAnnotation(e,t,i)}},{key:"addYaxisAnnotation",value:function(e,t,i){this.yAxisAnnotations.addYaxisAnnotation(e,t,i)}},{key:"addPointAnnotation",value:function(e,t,i){this.pointsAnnotations.addPointAnnotation(e,t,i)}},{key:"addText",value:function(e,t){var i=e.x,s=e.y,a=e.text,r=e.textAnchor,n=e.foreColor,l=e.fontSize,h=e.fontFamily,d=e.fontWeight,c=e.cssClass,u=e.backgroundColor,g=e.borderWidth,p=e.strokeDashArray,f=e.borderRadius,x=e.borderColor,m=e.appendTo,b=m===void 0?".apexcharts-svg":m,w=e.paddingLeft,S=w===void 0?4:w,A=e.paddingRight,T=A===void 0?4:A,k=e.paddingBottom,M=k===void 0?2:k,O=e.paddingTop,I=O===void 0?2:O,F=this.w,G=this.graphics.drawText({x:i,y:s,text:a,textAnchor:r||"start",fontSize:l||"12px",fontWeight:d||"regular",fontFamily:h||F.config.chart.fontFamily,foreColor:n||F.config.chart.foreColor,cssClass:c}),N=F.globals.dom.baseEl.querySelector(b);N&&N.appendChild(G.node);var B=G.bbox();if(a){var U=this.graphics.drawRect(B.x-S,B.y-I,B.width+S+T,B.height+M+I,f,u||"transparent",1,g,x,p);N.insertBefore(U.node,G.node)}}},{key:"addImage",value:function(e,t){var i=this.w,s=e.path,a=e.x,r=a===void 0?0:a,n=e.y,l=n===void 0?0:n,h=e.width,d=h===void 0?20:h,c=e.height,u=c===void 0?20:c,g=e.appendTo,p=g===void 0?".apexcharts-svg":g,f=i.globals.dom.Paper.image(s);f.size(d,u).move(r,l);var x=i.globals.dom.baseEl.querySelector(p);return x&&x.appendChild(f.node),f}},{key:"addXaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(e,t,i){return this.invertAxis===void 0&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(e){var t=e.params,i=e.pushToMemory,s=e.context,a=e.type,r=e.contextMethod,n=s,l=n.w,h=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations")),d=h.childNodes.length+1,c=new kt,u=Object.assign({},a==="xaxis"?c.xAxisAnnotation:a==="yaxis"?c.yAxisAnnotation:c.pointAnnotation),g=R.extend(u,t);switch(a){case"xaxis":this.addXaxisAnnotation(g,h,d);break;case"yaxis":this.addYaxisAnnotation(g,h,d);break;case"point":this.addPointAnnotation(g,h,d)}var p=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations .apexcharts-").concat(a,"-annotation-label[rel='").concat(d,"']")),f=this.helpers.addBackgroundToAnno(p,g);return f&&h.insertBefore(f.node,p),i&&l.globals.memory.methodsToExec.push({context:n,id:g.id?g.id:R.randomId(),method:r,label:"addAnnotation",params:t}),s}},{key:"clearAnnotations",value:function(e){for(var t=e.w,i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),s=t.globals.memory.methodsToExec.length-1;s>=0;s--)t.globals.memory.methodsToExec[s].label!=="addText"&&t.globals.memory.methodsToExec[s].label!=="addAnnotation"||t.globals.memory.methodsToExec.splice(s,1);i=R.listToArray(i),Array.prototype.forEach.call(i,function(a){for(;a.firstChild;)a.removeChild(a.firstChild)})}},{key:"removeAnnotation",value:function(e,t){var i=e.w,s=i.globals.dom.baseEl.querySelectorAll(".".concat(t));s&&(i.globals.memory.methodsToExec.map(function(a,r){a.id===t&&i.globals.memory.methodsToExec.splice(r,1)}),Array.prototype.forEach.call(s,function(a){a.parentElement.removeChild(a)}))}}]),o}(),as=function(o){var e,t=o.isTimeline,i=o.ctx,s=o.seriesIndex,a=o.dataPointIndex,r=o.y1,n=o.y2,l=o.w,h=l.globals.seriesRangeStart[s][a],d=l.globals.seriesRangeEnd[s][a],c=l.globals.labels[a],u=l.config.series[s].name?l.config.series[s].name:"",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:a,start:h,end:d};typeof p=="function"&&(u=p(u,f)),(e=l.config.series[s].data[a])!==null&&e!==void 0&&e.x&&(c=l.config.series[s].data[a].x),t||l.config.xaxis.type==="datetime"&&(c=new Vt(i).xLabelFormat(l.globals.ttKeyFormatter,c,c,{i:void 0,dateFormatter:new Ie(i).formatDate,w:l})),typeof g=="function"&&(c=g(c,f)),Number.isFinite(r)&&Number.isFinite(n)&&(h=r,d=n);var x="",m="",b=l.globals.colors[s];if(l.config.tooltip.x.formatter===void 0)if(l.config.xaxis.type==="datetime"){var w=new Ie(i);x=w.formatDate(w.getDate(h),l.config.tooltip.x.format),m=w.formatDate(w.getDate(d),l.config.tooltip.x.format)}else x=h,m=d;else x=l.config.tooltip.x.formatter(h),m=l.config.tooltip.x.formatter(d);return{start:h,end:d,startVal:x,endVal:m,ylabel:c,color:b,seriesName:u}},rs=function(o){var e=o.color,t=o.seriesName,i=o.ylabel,s=o.start,a=o.end,r=o.seriesIndex,n=o.dataPointIndex,l=o.ctx.tooltip.tooltipLabels.getFormatters(r);s=l.yLbFormatter(s),a=l.yLbFormatter(a);var h=l.yLbFormatter(o.w.globals.series[r][n]),d=` + `.concat(s,` + - + `).concat(a,` + `);return'
'+(t||"")+'
'+i+": "+(o.w.globals.comboCharts?o.w.config.series[r].type==="rangeArea"||o.w.config.series[r].type==="rangeBar"?d:"".concat(h,""):d)+"
"},Ut=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(e){return this.hideYAxis(),R.extend(e,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(e,t){var i=t.w.config.series[t.seriesIndex].name;return e!==null?i+": "+e:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),H(H({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var e=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,s=t.dataPointIndex,a=t.w;return e._getBoxTooltip(a,i,s,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var e=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,s=t.dataPointIndex,a=t.w;return e._getBoxTooltip(a,i,s,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(e,t){t.ctx;var i=t.seriesIndex,s=t.dataPointIndex,a=t.w,r=function(){var n=a.globals.seriesRangeStart[i][s];return a.globals.seriesRangeEnd[i][s]-n};return a.globals.comboCharts?a.config.series[i].type==="rangeBar"||a.config.series[i].type==="rangeArea"?r():e:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(e){return e.w.config.plotOptions&&e.w.config.plotOptions.bar&&e.w.config.plotOptions.bar.horizontal?function(t){var i=as(H(H({},t),{},{isTimeline:!0})),s=i.color,a=i.seriesName,r=i.ylabel,n=i.startVal,l=i.endVal;return rs(H(H({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e):function(t){var i=as(t),s=i.color,a=i.seriesName,r=i.ylabel,n=i.start,l=i.end;return rs(H(H({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(e){var t,i;return(t=e.plotOptions.bar)!==null&&t!==void 0&&t.barHeight||(e.plotOptions.bar.barHeight=2),(i=e.plotOptions.bar)!==null&&i!==void 0&&i.columnWidth||(e.plotOptions.bar.columnWidth=2),e}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(e){return function(t){var i=as(t),s=i.color,a=i.seriesName,r=i.ylabel,n=i.start,l=i.end;return rs(H(H({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e)}}}}},{key:"brush",value:function(e){return R.extend(e,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(e){e.dataLabels=e.dataLabels||{},e.dataLabels.formatter=e.dataLabels.formatter||void 0;var t=e.dataLabels.formatter;return e.yaxis.forEach(function(i,s){e.yaxis[s].min=0,e.yaxis[s].max=100}),e.chart.type==="bar"&&(e.dataLabels.formatter=t||function(i){return typeof i=="number"&&i?i.toFixed(0)+"%":i}),e}},{key:"stackedBars",value:function(){var e=this.bar();return H(H({},e),{},{plotOptions:H(H({},e.plotOptions),{},{bar:H(H({},e.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(e){return e.xaxis.convertedCatToNumeric=!0,e}},{key:"convertCatToNumericXaxis",value:function(e,t,i){e.xaxis.type="numeric",e.xaxis.labels=e.xaxis.labels||{},e.xaxis.labels.formatter=e.xaxis.labels.formatter||function(r){return R.isNumber(r)?Math.floor(r):r};var s=e.xaxis.labels.formatter,a=e.xaxis.categories&&e.xaxis.categories.length?e.xaxis.categories:e.labels;return i&&i.length&&(a=i.map(function(r){return Array.isArray(r)?r:String(r)})),a&&a.length&&(e.xaxis.labels.formatter=function(r){return R.isNumber(r)?s(a[Math.floor(r)-1]):s(r)}),e.xaxis.categories=[],e.labels=[],e.xaxis.tickAmount=e.xaxis.tickAmount||"dataPoints",e}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(e){return e},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"_getBoxTooltip",value:function(e,t,i,s,a){var r=e.globals.seriesCandleO[t][i],n=e.globals.seriesCandleH[t][i],l=e.globals.seriesCandleM[t][i],h=e.globals.seriesCandleL[t][i],d=e.globals.seriesCandleC[t][i];return e.config.series[t].type&&e.config.series[t].type!==a?`
+ `.concat(e.config.series[t].name?e.config.series[t].name:"series-"+(t+1),": ").concat(e.globals.series[t][i],` +
`):'
')+"
".concat(s[0],': ')+r+"
"+"
".concat(s[1],': ')+n+"
"+(l?"
".concat(s[2],': ')+l+"
":"")+"
".concat(s[3],': ')+h+"
"+"
".concat(s[4],': ')+d+"
"}}]),o}(),qt=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"init",value:function(e){var t=e.responsiveOverride,i=this.opts,s=new kt,a=new Ut(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=s.init(),n={};if(i&&Ae(i)==="object"){var l,h,d,c,u,g,p,f,x,m,b={};b=["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)!==-1?a[i.chart.type]():a.line(),(l=i.plotOptions)!==null&&l!==void 0&&(h=l.bar)!==null&&h!==void 0&&h.isFunnel&&(b=a.funnel()),i.chart.stacked&&i.chart.type==="bar"&&(b=a.stackedBars()),(d=i.chart.brush)!==null&&d!==void 0&&d.enabled&&(b=a.brush(b)),(c=i.plotOptions)!==null&&c!==void 0&&(u=c.line)!==null&&u!==void 0&&u.isSlopeChart&&(b=a.slope()),i.chart.stacked&&i.chart.stackType==="100%"&&(i=a.stacked100(i)),(g=i.plotOptions)!==null&&g!==void 0&&(p=g.bar)!==null&&p!==void 0&&p.isDumbbell&&(i=a.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},t||(i.xaxis.convertedCatToNumeric=!1),((f=(i=this.checkForCatToNumericXAxis(this.chartType,b,i)).chart.sparkline)!==null&&f!==void 0&&f.enabled||(x=window.Apex.chart)!==null&&x!==void 0&&(m=x.sparkline)!==null&&m!==void 0&&m.enabled)&&(b=a.sparkline(b)),n=R.extend(r,b)}var w=R.extend(n,window.Apex);return r=R.extend(w,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(e,t,i){var s,a,r=new Ut(i),n=(e==="bar"||e==="boxPlot")&&((s=i.plotOptions)===null||s===void 0||(a=s.bar)===null||a===void 0?void 0:a.horizontal),l=e==="pie"||e==="polarArea"||e==="donut"||e==="radar"||e==="radialBar"||e==="heatmap",h=i.xaxis.type!=="datetime"&&i.xaxis.type!=="numeric",d=i.xaxis.tickPlacement?i.xaxis.tickPlacement:t.xaxis&&t.xaxis.tickPlacement;return n||l||!h||d==="between"||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(e,t){var i=new kt;(e.yaxis===void 0||!e.yaxis||Array.isArray(e.yaxis)&&e.yaxis.length===0)&&(e.yaxis={}),e.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(e.yaxis=R.extend(e.yaxis,window.Apex.yaxis)),e.yaxis.constructor!==Array?e.yaxis=[R.extend(i.yAxis,e.yaxis)]:e.yaxis=R.extendArray(e.yaxis,i.yAxis);var s=!1;e.yaxis.forEach(function(r){r.logarithmic&&(s=!0)});var a=e.series;return t&&!a&&(a=t.config.series),s&&a.length!==e.yaxis.length&&a.length&&(e.yaxis=a.map(function(r,n){if(r.name||(a[n].name="series-".concat(n+1)),e.yaxis[n])return e.yaxis[n].seriesName=a[n].name,e.yaxis[n];var l=R.extend(i.yAxis,e.yaxis[0]);return l.show=!1,l})),s&&a.length>1&&a.length!==e.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),e}},{key:"extendAnnotations",value:function(e){return e.annotations===void 0&&(e.annotations={},e.annotations.yaxis=[],e.annotations.xaxis=[],e.annotations.points=[]),e=this.extendYAxisAnnotations(e),e=this.extendXAxisAnnotations(e),e=this.extendPointAnnotations(e)}},{key:"extendYAxisAnnotations",value:function(e){var t=new kt;return e.annotations.yaxis=R.extendArray(e.annotations.yaxis!==void 0?e.annotations.yaxis:[],t.yAxisAnnotation),e}},{key:"extendXAxisAnnotations",value:function(e){var t=new kt;return e.annotations.xaxis=R.extendArray(e.annotations.xaxis!==void 0?e.annotations.xaxis:[],t.xAxisAnnotation),e}},{key:"extendPointAnnotations",value:function(e){var t=new kt;return e.annotations.points=R.extendArray(e.annotations.points!==void 0?e.annotations.points:[],t.pointAnnotation),e}},{key:"checkForDarkTheme",value:function(e){e.theme&&e.theme.mode==="dark"&&(e.tooltip||(e.tooltip={}),e.tooltip.theme!=="light"&&(e.tooltip.theme="dark"),e.chart.foreColor||(e.chart.foreColor="#f6f7f8"),e.theme.palette||(e.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(e){var t=e;if(t.tooltip.shared&&t.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(t.chart.type==="bar"&&t.plotOptions.bar.horizontal){if(t.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");t.yaxis[0].reversed&&(t.yaxis[0].opposite=!0),t.xaxis.tooltip.enabled=!1,t.yaxis[0].tooltip.enabled=!1,t.chart.zoom.enabled=!1}return t.chart.type!=="bar"&&t.chart.type!=="rangeBar"||t.tooltip.shared&&t.xaxis.crosshairs.width==="barWidth"&&t.series.length>1&&(t.xaxis.crosshairs.width="tickWidth"),t.chart.type!=="candlestick"&&t.chart.type!=="boxPlot"||t.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(t.chart.type," chart is not supported.")),t.yaxis[0].reversed=!1),t}}]),o}(),xa=function(){function o(){P(this,o)}return E(o,[{key:"initGlobalVars",value:function(e){e.series=[],e.seriesCandleO=[],e.seriesCandleH=[],e.seriesCandleM=[],e.seriesCandleL=[],e.seriesCandleC=[],e.seriesRangeStart=[],e.seriesRangeEnd=[],e.seriesRange=[],e.seriesPercent=[],e.seriesGoals=[],e.seriesX=[],e.seriesZ=[],e.seriesNames=[],e.seriesTotals=[],e.seriesLog=[],e.seriesColors=[],e.stackedSeriesTotals=[],e.seriesXvalues=[],e.seriesYvalues=[],e.labels=[],e.hasXaxisGroups=!1,e.groups=[],e.barGroups=[],e.lineGroups=[],e.areaGroups=[],e.hasSeriesGroups=!1,e.seriesGroups=[],e.categoryLabels=[],e.timescaleLabels=[],e.noLabelsProvided=!1,e.resizeTimer=null,e.selectionResizeTimer=null,e.lastWheelExecution=0,e.delayedElements=[],e.pointsArray=[],e.dataLabelsRects=[],e.isXNumeric=!1,e.skipLastTimelinelabel=!1,e.skipFirstTimelinelabel=!1,e.isDataXYZ=!1,e.isMultiLineX=!1,e.isMultipleYAxis=!1,e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE,e.minYArr=[],e.maxYArr=[],e.maxX=-Number.MAX_VALUE,e.minX=Number.MAX_VALUE,e.initialMaxX=-Number.MAX_VALUE,e.initialMinX=Number.MAX_VALUE,e.maxDate=0,e.minDate=Number.MAX_VALUE,e.minZ=Number.MAX_VALUE,e.maxZ=-Number.MAX_VALUE,e.minXDiff=Number.MAX_VALUE,e.yAxisScale=[],e.xAxisScale=null,e.xAxisTicksPositions=[],e.yLabelsCoords=[],e.yTitleCoords=[],e.barPadForNumericAxis=0,e.padHorizontal=0,e.xRange=0,e.yRange=[],e.zRange=0,e.dataPoints=0,e.xTickAmount=0,e.multiAxisTickAmount=0}},{key:"globalVars",value:function(e){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:e.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:e.chart.toolbar.autoSelected==="zoom"&&e.chart.toolbar.tools.zoom&&e.chart.zoom.enabled,panEnabled:e.chart.toolbar.autoSelected==="pan"&&e.chart.toolbar.tools.pan,selectionEnabled:e.chart.toolbar.autoSelected==="selection"&&e.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:e.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t.initialConfig=R.extend({},e),t.initialSeries=R.clone(e.series),t.lastXAxis=R.clone(t.initialConfig.xaxis),t.lastYAxis=R.clone(t.initialConfig.yaxis),t}}]),o}(),on=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"init",value:function(){var e=new qt(this.opts).init({responsiveOverride:!1});return{config:e,globals:new xa().init(e)}}}]),o}(),et=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return E(o,[{key:"clippedImgArea",value:function(e){var t=this.w,i=t.config,s=parseInt(t.globals.gridWidth,10),a=parseInt(t.globals.gridHeight,10),r=s>a?s:a,n=e.image,l=0,h=0;e.width===void 0&&e.height===void 0?i.fill.image.width!==void 0&&i.fill.image.height!==void 0?(l=i.fill.image.width+1,h=i.fill.image.height):(l=r+1,h=r):(l=e.width,h=e.height);var d=document.createElementNS(t.globals.SVGNS,"pattern");W.setAttrs(d,{id:e.patternID,patternUnits:e.patternUnits?e.patternUnits:"userSpaceOnUse",width:l+"px",height:h+"px"});var c=document.createElementNS(t.globals.SVGNS,"image");d.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",n),W.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:l+"px",height:h+"px"}),c.style.opacity=e.opacity,t.globals.dom.elDefs.node.appendChild(d)}},{key:"getSeriesIndex",value:function(e){var t=this.w,i=t.config.chart.type;return(i==="bar"||i==="rangeBar")&&t.config.plotOptions.bar.distributed||i==="heatmap"||i==="treemap"?this.seriesIndex=e.seriesNumber:this.seriesIndex=e.seriesNumber%t.globals.series.length,this.seriesIndex}},{key:"computeColorStops",value:function(e,t){var i,s=this.w,a=null,r=null,n=X(e);try{for(n.s();!(i=n.n()).done;){var l=i.value;l>=t.threshold?(a===null||l>a)&&(a=l):(r===null||l-1?x=R.getOpacityFromRGBA(c):b=R.hexToRgba(R.rgb2hex(c),x),e.opacity&&(x=e.opacity),f==="pattern"&&(n=this.handlePatternFill({fillConfig:e.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:b})),m){var w=he(h.fill.gradient.colorStops)||[],S=h.fill.gradient.type;d&&(w[this.seriesIndex]=this.computeColorStops(a.globals.series[this.seriesIndex],h.plotOptions.line.colors),S="vertical"),l=this.handleGradientFill({type:S,fillConfig:e.fillConfig,fillColor:c,fillOpacity:x,colorStops:w,i:this.seriesIndex})}if(f==="image"){var A=h.fill.image.src,T=e.patternID?e.patternID:"",k="pattern".concat(a.globals.cuid).concat(e.seriesNumber+1).concat(T);this.patternIDs.indexOf(k)===-1&&(this.clippedImgArea({opacity:x,image:Array.isArray(A)?e.seriesNumber-1&&(p=R.getOpacityFromRGBA(g));var f=l.gradient.opacityTo===void 0?s:Array.isArray(l.gradient.opacityTo)?l.gradient.opacityTo[n]:l.gradient.opacityTo;if(l.gradient.gradientToColors===void 0||l.gradient.gradientToColors.length===0)u=l.gradient.shade==="dark"?c.shadeColor(-1*parseFloat(l.gradient.shadeIntensity),i.indexOf("rgb")>-1?R.rgb2hex(i):i):c.shadeColor(parseFloat(l.gradient.shadeIntensity),i.indexOf("rgb")>-1?R.rgb2hex(i):i);else if(l.gradient.gradientToColors[h.seriesNumber]){var x=l.gradient.gradientToColors[h.seriesNumber];u=x,x.indexOf("rgba")>-1&&(f=R.getOpacityFromRGBA(x))}else u=i;if(l.gradient.gradientFrom&&(g=l.gradient.gradientFrom),l.gradient.gradientTo&&(u=l.gradient.gradientTo),l.gradient.inverseColors){var m=g;g=u,u=m}return g.indexOf("rgb")>-1&&(g=R.rgb2hex(g)),u.indexOf("rgb")>-1&&(u=R.rgb2hex(u)),d.drawGradient(t,g,u,p,f,h.size,l.gradient.stops,r,n)}}]),o}(),Ot=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],e.globals.markers.size.length>0){if(e.globals.markers.size.length4&&arguments[4]!==void 0&&arguments[4],r=this.w,n=t,l=e,h=null,d=new W(this.ctx),c=r.config.markers.discrete&&r.config.markers.discrete.length;if(Array.isArray(l.x))for(var u=0;u0:r.config.markers.size>0)||a||c){f||(x+=" w".concat(R.randomId()));var m=this.getMarkerConfig({cssClass:x,seriesIndex:t,dataPointIndex:p});r.config.series[n].data[p]&&(r.config.series[n].data[p].fillColor&&(m.pointFillColor=r.config.series[n].data[p].fillColor),r.config.series[n].data[p].strokeColor&&(m.pointStrokeColor=r.config.series[n].data[p].strokeColor)),s!==void 0&&(m.pSize=s),(l.x[u]<-r.globals.markers.largestSize||l.x[u]>r.globals.gridWidth+r.globals.markers.largestSize||l.y[u]<-r.globals.markers.largestSize||l.y[u]>r.globals.gridHeight+r.globals.markers.largestSize)&&(m.pSize=0),!f&&((r.globals.markers.size[t]>0||a||c)&&!h&&(h=d.group({class:a||c?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(r.globals.cuid,")")),(g=d.drawMarker(l.x[u],l.y[u],m)).attr("rel",p),g.attr("j",p),g.attr("index",t),g.node.setAttribute("default-marker-size",m.pSize),new Re(this.ctx).setSelectionFilter(g,t,p),this.addEvents(g),h&&h.add(g))}else r.globals.pointsArray[t]===void 0&&(r.globals.pointsArray[t]=[]),r.globals.pointsArray[t].push([l.x[u],l.y[u]])}return h}},{key:"getMarkerConfig",value:function(e){var t=e.cssClass,i=e.seriesIndex,s=e.dataPointIndex,a=s===void 0?null:s,r=e.radius,n=r===void 0?null:r,l=e.size,h=l===void 0?null:l,d=e.strokeWidth,c=d===void 0?null:d,u=this.w,g=this.getMarkerStyle(i),p=h===null?u.globals.markers.size[i]:h,f=u.config.markers;return a!==null&&f.discrete.length&&f.discrete.map(function(x){x.seriesIndex===i&&x.dataPointIndex===a&&(g.pointStrokeColor=x.strokeColor,g.pointFillColor=x.fillColor,p=x.size,g.pointShape=x.shape)}),{pSize:n===null?p:n,pRadius:n!==null?n:f.radius,pointStrokeWidth:c!==null?c:Array.isArray(f.strokeWidth)?f.strokeWidth[i]:f.strokeWidth,pointStrokeColor:g.pointStrokeColor,pointFillColor:g.pointFillColor,shape:g.pointShape||(Array.isArray(f.shape)?f.shape[i]:f.shape),class:t,pointStrokeOpacity:Array.isArray(f.strokeOpacity)?f.strokeOpacity[i]:f.strokeOpacity,pointStrokeDashArray:Array.isArray(f.strokeDashArray)?f.strokeDashArray[i]:f.strokeDashArray,pointFillOpacity:Array.isArray(f.fillOpacity)?f.fillOpacity[i]:f.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(e){var t=this.w,i=new W(this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,e)),e.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,e)),e.node.addEventListener("click",t.config.markers.onClick),e.node.addEventListener("dblclick",t.config.markers.onDblClick),e.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,e),{passive:!0})}},{key:"getMarkerStyle",value:function(e){var t=this.w,i=t.globals.markers.colors,s=t.config.markers.strokeColor||t.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(s)?s[e]:s,pointFillColor:Array.isArray(i)?i[e]:i}}}]),o}(),ma=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return E(o,[{key:"draw",value:function(e,t,i){var s=this.w,a=new W(this.ctx),r=i.realIndex,n=i.pointsPos,l=i.zRatio,h=i.elParent,d=a.group({class:"apexcharts-series-markers apexcharts-series-".concat(s.config.chart.type)});if(d.attr("clip-path","url(#gridRectMarkerMask".concat(s.globals.cuid,")")),Array.isArray(n.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}var x=n.x[c],m=n.y[c];if(p=p||0,m!==null&&s.globals.series[r][u]!==void 0||(g=!1),g){var b=this.drawPoint(x,m,p,r,u,t);d.add(b)}h.add(d)}}},{key:"drawPoint",value:function(e,t,i,s,a,r){var n=this.w,l=s,h=new Fe(this.ctx),d=new Re(this.ctx),c=new et(this.ctx),u=new Ot(this.ctx),g=new W(this.ctx),p=u.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:a,radius:n.config.chart.type==="bubble"||n.globals.comboCharts&&n.config.series[s]&&n.config.series[s].type==="bubble"?i:null}),f=c.fillPath({seriesNumber:s,dataPointIndex:a,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][r]}),x=g.drawMarker(e,t,p);if(n.config.series[l].data[a]&&n.config.series[l].data[a].fillColor&&(f=n.config.series[l].data[a].fillColor),x.attr({fill:f}),n.config.chart.dropShadow.enabled){var m=n.config.chart.dropShadow;d.dropShadow(x,m,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var b=n.config.chart.animations.speed;h.animateMarker(x,b,n.globals.easing,function(){window.setTimeout(function(){h.animationCompleted(x)},100)})}return x.attr({rel:a,j:a,index:s,"default-marker-size":p.pSize}),d.setSelectionFilter(x,s,a),u.addEvents(x),x.node.classList.add("apexcharts-marker"),x}},{key:"centerTextInBubble",value:function(e){var t=this.w;return{y:e+=parseInt(t.config.dataLabels.style.fontSize,10)/4}}}]),o}(),zt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"dataLabelsCorrection",value:function(e,t,i,s,a,r,n){var l=this.w,h=!1,d=new W(this.ctx).getTextRects(i,n),c=d.width,u=d.height;t<0&&(t=0),t>l.globals.gridHeight+u&&(t=l.globals.gridHeight+u/2),l.globals.dataLabelsRects[s]===void 0&&(l.globals.dataLabelsRects[s]=[]),l.globals.dataLabelsRects[s].push({x:e,y:t,width:c,height:u});var g=l.globals.dataLabelsRects[s].length-2,p=l.globals.lastDrawnDataLabelsIndexes[s]!==void 0?l.globals.lastDrawnDataLabelsIndexes[s][l.globals.lastDrawnDataLabelsIndexes[s].length-1]:0;if(l.globals.dataLabelsRects[s][g]!==void 0){var f=l.globals.dataLabelsRects[s][p];(e>f.x+f.width||t>f.y+f.height||t+ut.globals.gridWidth+b.textRects.width+30)&&(l="");var w=t.globals.dataLabels.style.colors[r];((t.config.chart.type==="bar"||t.config.chart.type==="rangeBar")&&t.config.plotOptions.bar.distributed||t.config.dataLabels.distributed)&&(w=t.globals.dataLabels.style.colors[n]),typeof w=="function"&&(w=w({series:t.globals.series,seriesIndex:r,dataPointIndex:n,w:t})),g&&(w=g);var S=u.offsetX,A=u.offsetY;if(t.config.chart.type!=="bar"&&t.config.chart.type!=="rangeBar"||(S=0,A=0),t.globals.isSlopeChart&&(n!==0&&(S=-2*u.offsetX+5),n!==0&&n!==t.config.series[r].data.length-1&&(S=0)),b.drawnextLabel){if((m=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:s+S,y:a+A,foreColor:w,textAnchor:h||u.textAnchor,text:l,fontSize:d||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"})).attr({class:x||"apexcharts-datalabel",cx:s,cy:a}),u.dropShadow.enabled){var T=u.dropShadow;new Re(this.ctx).dropShadow(m,T)}c.add(m),t.globals.lastDrawnDataLabelsIndexes[r]===void 0&&(t.globals.lastDrawnDataLabelsIndexes[r]=[]),t.globals.lastDrawnDataLabelsIndexes[r].push(n)}return m}},{key:"addBackgroundToDataLabel",value:function(e,t){var i=this.w,s=i.config.dataLabels.background,a=s.padding,r=s.padding/2,n=t.width,l=t.height,h=new W(this.ctx).drawRect(t.x-a,t.y-r/2,n+2*a,l+r,s.borderRadius,i.config.chart.background!=="transparent"&&i.config.chart.background?i.config.chart.background:"#fff",s.opacity,s.borderWidth,s.borderColor);return s.dropShadow.enabled&&new Re(this.ctx).dropShadow(h,s.dropShadow),h}},{key:"dataLabelsBackground",value:function(){var e=this.w;if(e.config.chart.type!=="bubble")for(var t=e.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=this.w,a=R.clone(s.globals.initialSeries);s.globals.previousPaths=[],i?(s.globals.collapsedSeries=[],s.globals.ancillaryCollapsedSeries=[],s.globals.collapsedSeriesIndices=[],s.globals.ancillaryCollapsedSeriesIndices=[]):a=this.emptyCollapsedSeries(a),s.config.series=a,e&&(t&&(s.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(a,s.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(e){for(var t=this.w,i=0;i-1&&(e[i].data=[]);return e}},{key:"highlightSeries",value:function(e){var t=this.w,i=this.getSeriesByName(e),s=parseInt(i==null?void 0:i.getAttribute("data:realIndex"),10),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),r=null,n=null,l=null;if(t.globals.axisCharts||t.config.chart.type==="radialBar")if(t.globals.axisCharts){r=t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),n=t.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"));var h=t.globals.seriesYAxisReverseMap[s];l=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(h,"']"))}else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']"));else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var d=0;d=h.from&&(u0&&arguments[0]!==void 0?arguments[0]:"asc",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=this.w,s=0;if(i.config.series.length>1){for(var a=i.config.series.map(function(n,l){return n.data&&n.data.length>0&&i.globals.collapsedSeriesIndices.indexOf(l)===-1&&(!i.globals.comboCharts||t.length===0||t.length&&t.indexOf(i.config.series[l].type)>-1)?l:-1}),r=e==="asc"?0:a.length-1;e==="asc"?r=0;e==="asc"?r++:r--)if(a[r]!==-1){s=a[r];break}}return s}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map(function(e,t){return e.type==="bar"||e.type==="column"?t:-1}).filter(function(e){return e!==-1}):this.w.config.series.map(function(e,t){return t})}},{key:"getPreviousPaths",value:function(){var e=this.w;function t(r,n,l){for(var h=r[n].childNodes,d={type:l,paths:[],realIndex:r[n].getAttribute("data:realIndex")},c=0;c0)for(var s=function(r){for(var n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(e.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(r,"'] rect")),l=[],h=function(c){var u=function(p){return n[c].getAttribute(p)},g={x:parseFloat(u("x")),y:parseFloat(u("y")),width:parseFloat(u("width")),height:parseFloat(u("height"))};l.push({rect:g,color:n[c].getAttribute("color")})},d=0;d0?t:[]});return e}}]),o}(),ns=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pe(this.ctx)}return E(o,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var e=this.w.config.series.slice(),t=new $e(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].x!==void 0&&e[this.activeSeriesIndex].data[0]!==null)return!0}},{key:"isFormat2DArray",value:function(){var e=this.w.config.series.slice(),t=new $e(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==void 0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(e,t){for(var i=this.w.config,s=this.w.globals,a=i.chart.type==="boxPlot"||i.series[t].type==="boxPlot",r=0;r=5?this.twoDSeries.push(R.parseNumber(e[t].data[r][4])):this.twoDSeries.push(R.parseNumber(e[t].data[r][1])),s.dataFormatXNumeric=!0),i.xaxis.type==="datetime"){var n=new Date(e[t].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(e[t].data[r][0]);for(var l=0;l-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:this.ctx,s=this.w.config,a=this.w.globals,r=new Ie(i),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();a.isRangeBar=s.chart.type==="rangeBar"&&a.isBarHorizontal,a.hasXaxisGroups=s.xaxis.type==="category"&&s.xaxis.group.groups.length>0,a.hasXaxisGroups&&(a.groups=s.xaxis.group.groups),e.forEach(function(g,p){g.name!==void 0?a.seriesNames.push(g.name):a.seriesNames.push("series-"+parseInt(p+1,10))}),this.coreUtils.setSeriesYAxisMappings();var l=[],h=he(new Set(s.series.map(function(g){return g.group})));s.series.forEach(function(g,p){var f=h.indexOf(g.group);l[f]||(l[f]=[]),l[f].push(a.seriesNames[p])}),a.seriesGroups=l;for(var d=function(){for(var g=0;g0&&(this.twoDSeriesX=n,a.seriesX.push(this.twoDSeriesX))),a.labels.push(this.twoDSeriesX);var u=e[c].data.map(function(g){return R.parseNumber(g)});a.series.push(u)}a.seriesZ.push(this.threeDSeries),e[c].color!==void 0?a.seriesColors.push(e[c].color):a.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(e){var t=this.w.globals,i=this.w.config;t.series=e.slice(),t.seriesNames=i.labels.slice();for(var s=0;s0?i.labels=t.xaxis.categories:t.labels.length>0?i.labels=t.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map(function(s){s.forEach(function(a){i.labels.indexOf(a.x)<0&&a.x&&i.labels.push(a.x)})}),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),t.xaxis.convertedCatToNumeric&&(new Ut(t).convertCatToNumericXaxis(t,this.ctx,i.seriesX[0]),this._generateExternalLabels(e))):this._generateExternalLabels(e)}},{key:"_generateExternalLabels",value:function(e){var t=this.w.globals,i=this.w.config,s=[];if(t.axisCharts){if(t.series.length>0)if(this.isFormatXY())for(var a=i.series.map(function(c,u){return c.data.filter(function(g,p,f){return f.findIndex(function(x){return x.x===g.x})===p})}),r=a.reduce(function(c,u,g,p){return p[c].length>u.length?c:g},0),n=0;n0&&a==i.length&&t.push(s)}),e.globals.ignoreYAxisIndexes=t.map(function(i){return i})}}]),o}(),di=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"scaleSvgNode",value:function(e,t){var i=parseFloat(e.getAttributeNS(null,"width")),s=parseFloat(e.getAttributeNS(null,"height"));e.setAttributeNS(null,"width",i*t),e.setAttributeNS(null,"height",s*t),e.setAttributeNS(null,"viewBox","0 0 "+i+" "+s)}},{key:"getSvgString",value:function(){var e=this;return new Promise(function(t){var i=e.w,s=i.config.chart.toolbar.export.width,a=i.config.chart.toolbar.export.scale||s/i.globals.svgWidth;a||(a=1);var r=e.w.globals.dom.Paper.svg(),n=e.w.globals.dom.Paper.node.cloneNode(!0);a!==1&&e.scaleSvgNode(n,a),e.convertImagesToBase64(n).then(function(){r=new XMLSerializer().serializeToString(n),t(r.replace(/ /g," "))})})}},{key:"convertImagesToBase64",value:function(e){var t=this,i=e.getElementsByTagName("image"),s=Array.from(i).map(function(a){var r=a.getAttributeNS("http://www.w3.org/1999/xlink","href");return r&&!r.startsWith("data:")?t.getBase64FromUrl(r).then(function(n){a.setAttributeNS("http://www.w3.org/1999/xlink","href",n)}).catch(function(n){console.error("Error converting image to base64:",n)}):Promise.resolve()});return Promise.all(s)}},{key:"getBase64FromUrl",value:function(e){return new Promise(function(t,i){var s=new Image;s.crossOrigin="Anonymous",s.onload=function(){var a=document.createElement("canvas");a.width=s.width,a.height=s.height,a.getContext("2d").drawImage(s,0,0),t(a.toDataURL())},s.onerror=i,s.src=e})}},{key:"cleanup",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=e.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(s,function(a){a.setAttribute("width",0)}),t&&t[0]&&(t[0].setAttribute("x",-500),t[0].setAttribute("x1",-500),t[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){var e=this;return new Promise(function(t){e.cleanup(),e.getSvgString().then(function(i){var s=new Blob([i],{type:"image/svg+xml;charset=utf-8"});t(URL.createObjectURL(s))})})}},{key:"dataURI",value:function(e){var t=this;return new Promise(function(i){var s=t.w,a=e?e.scale||e.width/s.globals.svgWidth:1;t.cleanup();var r=document.createElement("canvas");r.width=s.globals.svgWidth*a,r.height=parseInt(s.globals.dom.elWrap.style.height,10)*a;var n=s.config.chart.background!=="transparent"&&s.config.chart.background?s.config.chart.background:"#fff",l=r.getContext("2d");l.fillStyle=n,l.fillRect(0,0,r.width*a,r.height*a),t.getSvgString().then(function(h){var d="data:image/svg+xml,"+encodeURIComponent(h),c=new Image;c.crossOrigin="anonymous",c.onload=function(){if(l.drawImage(c,0,0),r.msToBlob){var u=r.msToBlob();i({blob:u})}else{var g=r.toDataURL("image/png");i({imgURI:g})}},c.src=d})})}},{key:"exportToSVG",value:function(){var e=this;this.svgUrl().then(function(t){e.triggerDownload(t,e.w.config.chart.toolbar.export.svg.filename,".svg")})}},{key:"exportToPng",value:function(){var e=this,t=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,s=t?{scale:t}:i?{width:i}:void 0;this.dataURI(s).then(function(a){var r=a.imgURI,n=a.blob;n?navigator.msSaveOrOpenBlob(n,e.w.globals.chartID+".png"):e.triggerDownload(r,e.w.config.chart.toolbar.export.png.filename,".png")})}},{key:"exportToCSV",value:function(e){var t=this,i=e.series,s=e.fileName,a=e.columnDelimiter,r=a===void 0?",":a,n=e.lineDelimiter,l=n===void 0?` +`:n,h=this.w;i||(i=h.config.series);var d=[],c=[],u="",g=h.globals.series.map(function(A,T){return h.globals.collapsedSeriesIndices.indexOf(T)===-1?A:[]}),p=function(A){return typeof h.config.chart.toolbar.export.csv.categoryFormatter=="function"?h.config.chart.toolbar.export.csv.categoryFormatter(A):h.config.xaxis.type==="datetime"&&String(A).length>=10?new Date(A).toDateString():R.isNumber(A)?A:A.split(r).join("")},f=function(A){return typeof h.config.chart.toolbar.export.csv.valueFormatter=="function"?h.config.chart.toolbar.export.csv.valueFormatter(A):A},x=Math.max.apply(Math,he(i.map(function(A){return A.data?A.data.length:0}))),m=new ns(this.ctx),b=new dt(this.ctx),w=function(A){var T="";if(h.globals.axisCharts){if(h.config.xaxis.type==="category"||h.config.xaxis.convertedCatToNumeric)if(h.globals.isBarHorizontal){var k=h.globals.yLabelFormatters[0],M=new $e(t.ctx).getActiveConfigSeriesIndex();T=k(h.globals.labels[A],{seriesIndex:M,dataPointIndex:A,w:h})}else T=b.getLabel(h.globals.labels,h.globals.timescaleLabels,0,A).text;h.config.xaxis.type==="datetime"&&(h.config.xaxis.categories.length?T=h.config.xaxis.categories[A]:h.config.labels.length&&(T=h.config.labels[A]))}else T=h.config.labels[A];return T===null?"nullvalue":(Array.isArray(T)&&(T=T.join(" ")),R.isNumber(T)?T:T.split(r).join(""))},S=function(A,T){if(d.length&&T===0&&c.push(d.join(r)),A.data){A.data=A.data.length&&A.data||he(Array(x)).map(function(){return""});for(var k=0;k0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],i.config.xaxis.position==="top"?this.offY=0:this.offY=i.globals.gridHeight,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return E(o,[{key:"drawXaxis",value:function(){var e=this.w,t=new W(this.ctx),i=t.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),s=t.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});i.add(s);for(var a=[],r=0;r6&&arguments[6]!==void 0?arguments[6]:{},d=[],c=[],u=this.w,g=h.xaxisFontSize||this.xaxisFontSize,p=h.xaxisFontFamily||this.xaxisFontFamily,f=h.xaxisForeColors||this.xaxisForeColors,x=h.fontWeight||u.config.xaxis.labels.style.fontWeight,m=h.cssClass||u.config.xaxis.labels.style.cssClass,b=u.globals.padHorizontal,w=s.length,S=u.config.xaxis.type==="category"?u.globals.dataPoints:w;if(S===0&&w>S&&(S=w),a){var A=S>1?S-1:S;n=u.globals.gridWidth/Math.min(A,w-1),b=b+r(0,n)/2+u.config.xaxis.labels.offsetX}else n=u.globals.gridWidth/S,b=b+r(0,n)+u.config.xaxis.labels.offsetX;for(var T=function(M){var O=b-r(M,n)/2+u.config.xaxis.labels.offsetX;M===0&&w===1&&n/2===b&&S===1&&(O=u.globals.gridWidth/2);var I=l.axesUtils.getLabel(s,u.globals.timescaleLabels,O,M,d,g,e),F=28;if(u.globals.rotateXLabels&&e&&(F=22),u.config.xaxis.title.text&&u.config.xaxis.position==="top"&&(F+=parseFloat(u.config.xaxis.title.style.fontSize)+2),e||(F=F+parseFloat(g)+(u.globals.xAxisLabelsHeight-u.globals.xAxisGroupLabelsHeight)+(u.globals.rotateXLabels?10:0)),I=u.config.xaxis.tickAmount!==void 0&&u.config.xaxis.tickAmount!=="dataPoints"&&u.config.xaxis.type!=="datetime"?l.axesUtils.checkLabelBasedOnTickamount(M,I,w):l.axesUtils.checkForOverflowingLabels(M,I,w,d,c),u.config.xaxis.labels.show){var G=t.drawText({x:I.x,y:l.offY+u.config.xaxis.labels.offsetY+F-(u.config.xaxis.position==="top"?u.globals.xAxisHeight+u.config.xaxis.axisTicks.height-2:0),text:I.text,textAnchor:"middle",fontWeight:I.isBold?600:x,fontSize:g,fontFamily:p,foreColor:Array.isArray(f)?e&&u.config.xaxis.convertedCatToNumeric?f[u.globals.minX+M-1]:f[M]:f,isPlainText:!1,cssClass:(e?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+m});if(i.add(G),G.on("click",function(B){if(typeof u.config.chart.events.xAxisLabelClick=="function"){var U=Object.assign({},u,{labelIndex:M});u.config.chart.events.xAxisLabelClick(B,l.ctx,U)}}),e){var N=document.createElementNS(u.globals.SVGNS,"title");N.textContent=Array.isArray(I.text)?I.text.join(" "):I.text,G.node.appendChild(N),I.text!==""&&(d.push(I.text),c.push(I))}}Ms.globals.gridWidth)){var r=this.offY+s.config.xaxis.axisTicks.offsetY;if(t=t+r+s.config.xaxis.axisTicks.height,s.config.xaxis.position==="top"&&(t=r-s.config.xaxis.axisTicks.height),s.config.xaxis.axisTicks.show){var n=new W(this.ctx).drawLine(e+s.config.xaxis.axisTicks.offsetX,r+s.config.xaxis.offsetY,a+s.config.xaxis.axisTicks.offsetX,t+s.config.xaxis.offsetY,s.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var e=this.w,t=[],i=this.xaxisLabels.length,s=e.globals.padHorizontal;if(e.globals.timescaleLabels.length>0)for(var a=0;a0){var d=a[a.length-1].getBBox(),c=a[0].getBBox();d.x<-20&&a[a.length-1].parentNode.removeChild(a[a.length-1]),c.x+c.width>e.globals.gridWidth&&!e.globals.isBarHorizontal&&a[0].parentNode.removeChild(a[0]);for(var u=0;u0&&(this.xaxisLabels=t.globals.timescaleLabels.slice())}return E(o,[{key:"drawGridArea",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w,i=new W(this.ctx);e||(e=i.group({class:"apexcharts-grid"}));var s=i.drawLine(t.globals.padHorizontal,1,t.globals.padHorizontal,t.globals.gridHeight,"transparent"),a=i.drawLine(t.globals.padHorizontal,t.globals.gridHeight,t.globals.gridWidth,t.globals.gridHeight,"transparent");return e.add(a),e.add(s),e}},{key:"drawGrid",value:function(){if(this.w.globals.axisCharts){var e=this.renderGrid();return this.drawGridArea(e.el),e}return null}},{key:"createGridMask",value:function(){var e=this.w,t=e.globals,i=new W(this.ctx),s=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,he(e.config.stroke.width)):e.config.stroke.width,a=function(d){var c=document.createElementNS(t.SVGNS,"clipPath");return c.setAttribute("id",d),c};t.dom.elGridRectMask=a("gridRectMask".concat(t.cuid)),t.dom.elGridRectBarMask=a("gridRectBarMask".concat(t.cuid)),t.dom.elGridRectMarkerMask=a("gridRectMarkerMask".concat(t.cuid)),t.dom.elForecastMask=a("forecastMask".concat(t.cuid)),t.dom.elNonForecastMask=a("nonForecastMask".concat(t.cuid));var r=0,n=0;(["bar","rangeBar","candlestick","boxPlot"].includes(e.config.chart.type)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&(r=Math.max(e.config.grid.padding.left,t.barPadForNumericAxis),n=Math.max(e.config.grid.padding.right,t.barPadForNumericAxis)),t.dom.elGridRect=i.drawRect(0,0,t.gridWidth,t.gridHeight,0,"#fff"),t.dom.elGridRectBar=i.drawRect(-s/2-r-2,-s/2-2,t.gridWidth+s+n+r+4,t.gridHeight+s+4,0,"#fff");var l=e.globals.markers.largestSize;t.dom.elGridRectMarker=i.drawRect(-l,-l,t.gridWidth+2*l,t.gridHeight+2*l,0,"#fff"),t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node),t.dom.elGridRectBarMask.appendChild(t.dom.elGridRectBar.node),t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);var h=t.dom.baseEl.querySelector("defs");h.appendChild(t.dom.elGridRectMask),h.appendChild(t.dom.elGridRectBarMask),h.appendChild(t.dom.elGridRectMarkerMask),h.appendChild(t.dom.elForecastMask),h.appendChild(t.dom.elNonForecastMask)}},{key:"_drawGridLines",value:function(e){var t=e.i,i=e.x1,s=e.y1,a=e.x2,r=e.y2,n=e.xCount,l=e.parent,h=this.w;if(!(t===0&&h.globals.skipFirstTimelinelabel||t===n-1&&h.globals.skipLastTimelinelabel&&!h.config.xaxis.labels.formatter||h.config.chart.type==="radar")){h.config.grid.xaxis.lines.show&&this._drawGridLine({i:t,x1:i,y1:s,x2:a,y2:r,xCount:n,parent:l});var d=0;if(h.globals.hasXaxisGroups&&h.config.xaxis.tickPlacement==="between"){var c=h.globals.groups;if(c){for(var u=0,g=0;u0&&e.config.xaxis.type!=="datetime"&&(a=t.yAxisScale[s].result.length-1)),this._drawXYLines({xCount:a,tickAmount:r})}else a=r,r=t.xTickAmount,this._drawInvertedXYLines({xCount:a,tickAmount:r});return this.drawGridBands(a,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.gridWidth/a}}},{key:"drawGridBands",value:function(e,t){var i,s,a=this,r=this.w;if(((i=r.config.grid.row.colors)===null||i===void 0?void 0:i.length)>0&&function(p,f,x,m,b,w){for(var S=0,A=0;S=r.config.grid[p].colors.length&&(A=0),a._drawGridBandRect({c:A,x1:x,y1:m,x2:b,y2:w,type:p}),m+=r.globals.gridHeight/t}("row",t,0,0,r.globals.gridWidth,r.globals.gridHeight/t),((s=r.config.grid.column.colors)===null||s===void 0?void 0:s.length)>0){var n=r.globals.isBarHorizontal||r.config.xaxis.tickPlacement!=="on"||r.config.xaxis.type!=="category"&&!r.config.xaxis.convertedCatToNumeric?e:e-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var l=r.globals.padHorizontal,h=r.globals.padHorizontal+r.globals.gridWidth/n,d=r.globals.gridHeight,c=0,u=0;c=r.config.grid.column.colors.length&&(u=0),r.config.xaxis.type==="datetime"&&(l=this.xaxisLabels[c].position,h=(((g=this.xaxisLabels[c+1])===null||g===void 0?void 0:g.position)||r.globals.gridWidth)-this.xaxisLabels[c].position),this._drawGridBandRect({c:u,x1:l,y1:0,x2:h,y2:d,type:"column"}),l+=r.globals.gridWidth/n}}}}]),o}(),va=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.coreUtils=new Pe(this.ctx)}return E(o,[{key:"niceScale",value:function(e,t){var i,s,a,r,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=1e-11,h=this.w,d=h.globals;d.isBarHorizontal?(i=h.config.xaxis,s=Math.max((d.svgWidth-100)/25,2)):(i=h.config.yaxis[n],s=Math.max((d.svgHeight-100)/15,2)),R.isNumber(s)||(s=10),a=i.min!==void 0&&i.min!==null,r=i.max!==void 0&&i.min!==null;var c=i.stepSize!==void 0&&i.stepSize!==null,u=i.tickAmount!==void 0&&i.tickAmount!==null,g=u?i.tickAmount:d.niceScaleDefaultTicks[Math.min(Math.round(s/2),d.niceScaleDefaultTicks.length-1)];if(d.isMultipleYAxis&&!u&&d.multiAxisTickAmount>0&&(g=d.multiAxisTickAmount,u=!0),g=g==="dataPoints"?d.dataPoints-1:Math.abs(Math.round(g)),(e===Number.MIN_VALUE&&t===0||!R.isNumber(e)&&!R.isNumber(t)||e===Number.MIN_VALUE&&t===-Number.MAX_VALUE)&&(e=R.isNumber(i.min)?i.min:0,t=R.isNumber(i.max)?i.max:e+g,d.allSeriesCollapsed=!1),e>t){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var p=t;t=e,e=p}else e===t&&(e=e===0?0:e-1,t=t===0?2:t+1);var f=[];g<1&&(g=1);var x=g,m=Math.abs(t-e);!a&&e>0&&e/m<.15&&(e=0,a=!0),!r&&t<0&&-t/m<.15&&(t=0,r=!0);var b=(m=Math.abs(t-e))/x,w=b,S=Math.floor(Math.log10(w)),A=Math.pow(10,S),T=Math.ceil(w/A);if(b=w=(T=d.niceScaleAllowedMagMsd[d.yValueDecimal===0?0:1][T])*A,d.isBarHorizontal&&i.stepSize&&i.type!=="datetime"?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var k=Math.floor(Math.log10(b));b*=Math.pow(10,S-k)}if(a&&r){var M=m/x;if(u)if(c)if(R.mod(m,b)!=0){var O=R.getGCD(b,M);b=M/O<10?O:M}else R.mod(b,M)==0?b=M:(M=b,u=!1);else b=M;else if(c)R.mod(m,b)==0?M=b:b=M;else if(R.mod(m,b)==0)M=b;else{M=m/(x=Math.ceil(m/b));var I=R.getGCD(m,b);m/Is&&(e=t-b*g,e+=b*Math.floor((F-e)/b))}else if(a)if(u)t=e+b*x;else{var G=t;t=b*Math.ceil(t/b),Math.abs(t-e)/R.getGCD(m,b)>s&&(t=e+b*g,t+=b*Math.ceil((G-t)/b))}}else if(d.isMultipleYAxis&&u){var N=b*Math.floor(e/b),B=N+b*x;B0&&e16&&R.getPrimeFactors(x).length<2&&x++,!u&&i.forceNiceScale&&d.yValueDecimal===0&&x>m&&(x=m,b=Math.round(m/x)),x>s&&(!u&&!c||i.forceNiceScale)){var U=R.getPrimeFactors(x),q=U.length-1,$=x;e:for(var ie=0;ieOe);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:"linearScale",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:void 0,r=Math.abs(t-e),n=[];if(e===t)return{result:n=[e],niceMin:n[0],niceMax:n[n.length-1]};(i=this._adjustTicksForSmallRange(i,s,r))==="dataPoints"&&(i=this.w.globals.dataPoints-1),a||(a=r/i),a=Math.round(10*(a+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,a=1);for(var l=e;i>=0;)n.push(l),l=R.preciseAddition(l,a),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(e,t,i){t<=0&&(t=Math.max(e,i)),e<=0&&(e=Math.min(t,i));for(var s=[],a=Math.ceil(Math.log(t)/Math.log(i)+1),r=Math.floor(Math.log(e)/Math.log(i));r5?(s.allSeriesCollapsed=!1,s.yAxisScale[e]=r.forceNiceScale?this.logarithmicScaleNice(t,i,r.logBase):this.logarithmicScale(t,i,r.logBase)):i!==-Number.MAX_VALUE&&R.isNumber(i)&&t!==Number.MAX_VALUE&&R.isNumber(t)?(s.allSeriesCollapsed=!1,s.yAxisScale[e]=this.niceScale(t,i,e)):s.yAxisScale[e]=this.niceScale(Number.MIN_VALUE,0,e)}},{key:"setXScale",value:function(e,t){var i=this.w,s=i.globals,a=Math.abs(t-e);if(t!==-Number.MAX_VALUE&&R.isNumber(t)){var r=s.xTickAmount+1;a<10&&a>1&&(r=a),s.xAxisScale=this.linearScale(e,t,r,0,i.config.xaxis.stepSize)}else s.xAxisScale=this.linearScale(0,10,10);return s.xAxisScale}},{key:"scaleMultipleYAxes",value:function(){var e=this,t=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var s=i.seriesYAxisMap,a=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],s.forEach(function(n,l){var h=[];n.forEach(function(d){var c=t.series[d].group;h.indexOf(c)<0&&h.push(c)}),n.length>0?function(){var d,c,u=Number.MAX_VALUE,g=-Number.MAX_VALUE,p=u,f=g;if(t.chart.stacked)(function(){var b=new Array(i.dataPoints).fill(0),w=[],S=[],A=[];h.forEach(function(){w.push(b.map(function(){return Number.MIN_VALUE})),S.push(b.map(function(){return Number.MIN_VALUE})),A.push(b.map(function(){return Number.MIN_VALUE}))});for(var T=function(M){!d&&t.series[n[M]].type&&(d=t.series[n[M]].type);var O=n[M];c=t.series[O].group?t.series[O].group:"axis-".concat(l),!(i.collapsedSeriesIndices.indexOf(O)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(O)<0)||(i.allSeriesCollapsed=!1,h.forEach(function(I,F){if(t.series[O].group===I)for(var G=0;G=0?S[F][G]+=N:A[F][G]+=N,w[F][G]+=N,p=Math.min(p,N),f=Math.max(f,N)}})),d!=="bar"&&d!=="column"||i.barGroups.push(c)},k=0;k1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-Number.MAX_VALUE,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,l=Number.MIN_VALUE;s===null&&(s=e+1);var h=r.series,d=h,c=h;a.chart.type==="candlestick"?(d=r.seriesCandleL,c=r.seriesCandleH):a.chart.type==="boxPlot"?(d=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(d=r.seriesRangeStart,c=r.seriesRangeEnd);var u=!1;if(r.seriesX.length>=s){var g,p=(g=r.brushSource)===null||g===void 0?void 0:g.w.config.chart.brush;(a.chart.zoom.enabled&&a.chart.zoom.autoScaleYaxis||p!=null&&p.enabled&&p!=null&&p.autoScaleYaxis)&&(u=!0)}for(var f=e;fm&&r.seriesX[f][b]>a.xaxis.max;b--);}for(var w=m;w<=b&&wd[f][w]&&d[f][w]<0&&(l=d[f][w])}else r.hasNullValues=!0}x!=="bar"&&x!=="column"||(l<0&&n<0&&(n=0,i=Math.max(i,0)),l===Number.MIN_VALUE&&(l=0,t=Math.min(t,0)))}return a.chart.type==="rangeBar"&&r.seriesRangeStart.length&&r.isBarHorizontal&&(l=t),a.chart.type==="bar"&&(l<0&&n<0&&(n=0),l===Number.MIN_VALUE&&(l=0)),{minY:l,maxY:n,lowestY:t,highestY:i}}},{key:"setYRange",value:function(){var e=this.w.globals,t=this.w.config;e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE;var i,s=Number.MAX_VALUE;if(e.isMultipleYAxis){s=Number.MAX_VALUE;for(var a=0;ae.dataPoints&&e.dataPoints!==0&&(s=e.dataPoints-1);else if(t.xaxis.tickAmount==="dataPoints"){if(e.series.length>1&&(s=e.series[e.maxValsInArrayIndex].length-1),e.isXNumeric){var a=e.maxX-e.minX;a<30&&(s=a-1)}}else s=t.xaxis.tickAmount;if(e.xTickAmount=s,t.xaxis.max!==void 0&&typeof t.xaxis.max=="number"&&(e.maxX=t.xaxis.max),t.xaxis.min!==void 0&&typeof t.xaxis.min=="number"&&(e.minX=t.xaxis.min),t.xaxis.range!==void 0&&(e.minX=e.maxX-t.xaxis.range),e.minX!==Number.MAX_VALUE&&e.maxX!==-Number.MAX_VALUE)if(t.xaxis.convertedCatToNumeric&&!e.dataFormatXNumeric){for(var r=[],n=e.minX-1;n0&&(e.xAxisScale=this.scales.linearScale(1,e.labels.length,s-1,0,t.xaxis.stepSize),e.seriesX=e.labels.slice());i&&(e.labels=e.xAxisScale.result.slice())}return e.isBarHorizontal&&e.labels.length&&(e.xTickAmount=e.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:e.minX,maxX:e.maxX}}},{key:"setZRange",value:function(){var e=this.w.globals;if(e.isDataXYZ){for(var t=0;t0){var n=a-s[r-1];n>0&&(e.minXDiff=Math.min(n,e.minXDiff))}}),e.dataPoints!==1&&e.minXDiff!==Number.MAX_VALUE||(e.minXDiff=.5)})}},{key:"_setStackedMinMax",value:function(){var e=this,t=this.w.globals;if(t.series.length){var i=t.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map(function(r){return r})]);var s={},a={};i.forEach(function(r){s[r]=[],a[r]=[],e.w.config.series.map(function(n,l){return r.indexOf(t.seriesNames[l])>-1?l:null}).filter(function(n){return n!==null}).forEach(function(n){for(var l=0;l0?s[r][l]+=parseFloat(t.series[n][l])+1e-4:a[r][l]+=parseFloat(t.series[n][l]))}})}),Object.entries(s).forEach(function(r){var n=J(r,1)[0];s[n].forEach(function(l,h){t.maxY=Math.max(t.maxY,s[n][h]),t.minY=Math.min(t.minY,a[n][h])})})}}}]),o}(),ls=function(){function o(e,t){P(this,o),this.ctx=e,this.elgrid=t,this.w=e.w;var i=this.w;this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.axisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xAxisoffX=i.config.xaxis.position==="bottom"?i.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new dt(e)}return E(o,[{key:"drawYaxis",value:function(e){var t=this.w,i=new W(this.ctx),s=t.config.yaxis[e].labels.style,a=s.fontSize,r=s.fontFamily,n=s.fontWeight,l=i.group({class:"apexcharts-yaxis",rel:e,transform:"translate(".concat(t.globals.translateYAxisX[e],", 0)")});if(this.axesUtils.isYAxisHidden(e))return l;var h=i.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var d=t.globals.yAxisScale[e].result.length-1,c=t.globals.gridHeight/d,u=t.globals.yLabelFormatters[e],g=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice());if(t.config.yaxis[e].labels.show){var p=t.globals.translateY+t.config.yaxis[e].labels.offsetY;t.globals.isBarHorizontal?p=0:t.config.chart.type==="heatmap"&&(p-=c/2),p+=parseInt(a,10)/3;for(var f=d;f>=0;f--){var x=u(g[f],f,t),m=t.config.yaxis[e].labels.padding;t.config.yaxis[e].opposite&&t.config.yaxis.length!==0&&(m*=-1);var b=this.getTextAnchor(t.config.yaxis[e].labels.align,t.config.yaxis[e].opposite),w=this.axesUtils.getYAxisForeColor(s.colors,e),S=Array.isArray(w)?w[f]:w,A=R.listToArray(t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label tspan"))).map(function(k){return k.textContent}),T=i.drawText({x:m,y:p,text:A.includes(x)&&!t.config.yaxis[e].labels.showDuplicates?"":x,textAnchor:b,fontSize:a,fontFamily:r,fontWeight:n,maxWidth:t.config.yaxis[e].labels.maxWidth,foreColor:S,isPlainText:!1,cssClass:"apexcharts-yaxis-label ".concat(s.cssClass)});h.add(T),this.addTooltip(T,x),t.config.yaxis[e].labels.rotate!==0&&this.rotateLabel(i,T,firstLabel,t.config.yaxis[e].labels.rotate),p+=c}}return this.addYAxisTitle(i,l,e),this.addAxisBorder(i,l,e,d,c),l}},{key:"getTextAnchor",value:function(e,t){return e==="left"?"start":e==="center"?"middle":e==="right"?"end":t?"start":"end"}},{key:"addTooltip",value:function(e,t){var i=document.createElementNS(this.w.globals.SVGNS,"title");i.textContent=Array.isArray(t)?t.join(" "):t,e.node.appendChild(i)}},{key:"rotateLabel",value:function(e,t,i,s){var a=e.rotateAroundCenter(i.node),r=e.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(".concat(s," ").concat(a.x," ").concat(r.y,")"))}},{key:"addYAxisTitle",value:function(e,t,i){var s=this.w;if(s.config.yaxis[i].title.text!==void 0){var a=e.group({class:"apexcharts-yaxis-title"}),r=s.config.yaxis[i].opposite?s.globals.translateYAxisX[i]:0,n=e.drawText({x:r,y:s.globals.gridHeight/2+s.globals.translateY+s.config.yaxis[i].title.offsetY,text:s.config.yaxis[i].title.text,textAnchor:"end",foreColor:s.config.yaxis[i].title.style.color,fontSize:s.config.yaxis[i].title.style.fontSize,fontWeight:s.config.yaxis[i].title.style.fontWeight,fontFamily:s.config.yaxis[i].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text ".concat(s.config.yaxis[i].title.style.cssClass)});a.add(n),t.add(a)}}},{key:"addAxisBorder",value:function(e,t,i,s,a){var r=this.w,n=r.config.yaxis[i].axisBorder,l=31+n.offsetX;if(r.config.yaxis[i].opposite&&(l=-31-n.offsetX),n.show){var h=e.drawLine(l,r.globals.translateY+n.offsetY-2,l,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);t.add(h)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(l,s,n,r.config.yaxis[i].axisTicks,i,a,t)}},{key:"drawYaxisInversed",value:function(e){var t=this.w,i=new W(this.ctx),s=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),a=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});s.add(a);var r=t.globals.yAxisScale[e].result.length-1,n=t.globals.gridWidth/r+.1,l=n+t.config.xaxis.labels.offsetX,h=t.globals.xLabelFormatter,d=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice()),c=t.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(d=c.slice()).length),t.config.xaxis.labels.show)for(var u=c.length?0:r;c.length?u=0;c.length?u++:u--){var g=h(d[u],u,t),p=t.globals.gridWidth+t.globals.padHorizontal-(l-n+t.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(d,c,p,u,this.drawnLabels,this.xaxisFontSize);p=f.x,g=f.text,this.drawnLabels.push(f.text),u===0&&t.globals.skipFirstTimelinelabel&&(g=""),u===d.length-1&&t.globals.skipLastTimelinelabel&&(g="")}var x=i.drawText({x:p,y:this.xAxisoffX+t.config.xaxis.labels.offsetY+30-(t.config.xaxis.position==="top"?t.globals.xAxisHeight+t.config.xaxis.axisTicks.height-2:0),text:g,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[e]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:t.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label ".concat(t.config.xaxis.labels.style.cssClass)});a.add(x),x.tspan(g),this.addTooltip(x,g),l+=n}return this.inversedYAxisTitleText(s),this.inversedYAxisBorder(s),s}},{key:"inversedYAxisBorder",value:function(e){var t=this.w,i=new W(this.ctx),s=t.config.xaxis.axisBorder;if(s.show){var a=0;t.config.chart.type==="bar"&&t.globals.isXNumeric&&(a-=15);var r=i.drawLine(t.globals.padHorizontal+a+s.offsetX,this.xAxisoffX,t.globals.gridWidth,this.xAxisoffX,s.color,0,s.height);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(r):e.add(r)}}},{key:"inversedYAxisTitleText",value:function(e){var t=this.w,i=new W(this.ctx);if(t.config.xaxis.title.text!==void 0){var s=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),a=i.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(t.config.xaxis.title.style.fontSize)+t.config.xaxis.title.offsetY+20,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text ".concat(t.config.xaxis.title.style.cssClass)});s.add(a),e.add(s)}}},{key:"yAxisTitleRotate",value:function(e,t){var i=this.w,s=new W(this.ctx),a=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g")),r=a?a.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-title text")),l=n?n.getBoundingClientRect():{width:0,height:0};if(n){var h=this.xPaddingForYAxisTitle(e,r,l,t);n.setAttribute("x",h.xPos-(t?10:0));var d=s.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(t?-1*i.config.yaxis[e].title.rotate:i.config.yaxis[e].title.rotate," ").concat(d.x," ").concat(d.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(e,t,i,s){var a=this.w,r=0,n=10;return a.config.yaxis[e].title.text===void 0||e<0?{xPos:r,padd:0}:(s?r=t.width+a.config.yaxis[e].title.offsetX+i.width/2+n/2:(r=-1*t.width+a.config.yaxis[e].title.offsetX+n/2+i.width/2,a.globals.isBarHorizontal&&(n=25,r=-1*t.width-a.config.yaxis[e].title.offsetX-n)),{xPos:r,padd:n})}},{key:"setYAxisXPosition",value:function(e,t){var i=this.w,s=0,a=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach(function(l,h){var d=i.globals.ignoreYAxisIndexes.includes(h)||!l.show||l.floating||e[h].width===0,c=e[h].width+t[h].width;l.opposite?i.globals.isBarHorizontal?(a=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[h]=a-l.labels.offsetX):(a=i.globals.gridWidth+i.globals.translateX+n,d||(n+=c+20),i.globals.translateYAxisX[h]=a-l.labels.offsetX+20):(s=i.globals.translateX-r,d||(r+=c+20),i.globals.translateYAxisX[h]=s+l.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var e=this.w;R.listToArray(e.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis")).forEach(function(t,i){var s=e.config.yaxis[i];if(s&&!s.floating&&s.labels.align!==void 0){var a=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=R.listToArray(e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"))),n=a.getBoundingClientRect();r.forEach(function(l){l.setAttribute("text-anchor",s.labels.align)}),s.labels.align!=="left"||s.opposite?s.labels.align==="center"?a.setAttribute("transform","translate(".concat(n.width/2*(s.opposite?1:-1),", 0)")):s.labels.align==="right"&&s.opposite&&a.setAttribute("transform","translate(".concat(n.width,", 0)")):a.setAttribute("transform","translate(-".concat(n.width,", 0)"))}})}}]),o}(),ln=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.documentEvent=R.bind(this.documentEvent,this)}return E(o,[{key:"addEventListener",value:function(e,t){var i=this.w;i.globals.events.hasOwnProperty(e)?i.globals.events[e].push(t):i.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){var s=i.globals.events[e].indexOf(t);s!==-1&&i.globals.events[e].splice(s,1)}}},{key:"fireEvent",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var s=i.globals.events[e],a=s.length,r=0;r0&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(a){return a.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var s=R.extend(pa,i);this.w.globals.locale=s.options}}]),o}(),cn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"drawAxis",value:function(e,t){var i,s,a=this,r=this.w.globals,n=this.w.config,l=new Zt(this.ctx,t),h=new ls(this.ctx,t);r.axisCharts&&e!=="radar"&&(r.isBarHorizontal?(s=h.drawYaxisInversed(0),i=l.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(s)):(i=l.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map(function(d,c){if(r.ignoreYAxisIndexes.indexOf(c)===-1&&(s=h.drawYaxis(c),r.dom.Paper.add(s),a.w.config.grid.position==="back")){var u=r.dom.Paper.children()[1];u.remove(),r.dom.Paper.add(u)}})))}}]),o}(),hs=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"drawXCrosshairs",value:function(){var e=this.w,t=new W(this.ctx),i=new Re(this.ctx),s=e.config.xaxis.crosshairs.fill.gradient,a=e.config.xaxis.crosshairs.dropShadow,r=e.config.xaxis.crosshairs.fill.type,n=s.colorFrom,l=s.colorTo,h=s.opacityFrom,d=s.opacityTo,c=s.stops,u=a.enabled,g=a.left,p=a.top,f=a.blur,x=a.color,m=a.opacity,b=e.config.xaxis.crosshairs.fill.color;if(e.config.xaxis.crosshairs.show){r==="gradient"&&(b=t.drawGradient("vertical",n,l,h,d,null,c,null));var w=t.drawRect();e.config.xaxis.crosshairs.width===1&&(w=t.drawLine());var S=e.globals.gridHeight;(!R.isNumber(S)||S<0)&&(S=0);var A=e.config.xaxis.crosshairs.width;(!R.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:S,width:A,height:S,fill:b,filter:"none","fill-opacity":e.config.xaxis.crosshairs.opacity,stroke:e.config.xaxis.crosshairs.stroke.color,"stroke-width":e.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":e.config.xaxis.crosshairs.stroke.dashArray}),u&&(w=i.dropShadow(w,{left:g,top:p,blur:f,color:x,opacity:m})),e.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var e=this.w,t=new W(this.ctx),i=e.config.yaxis[0].crosshairs,s=e.globals.barPadForNumericAxis;if(e.config.yaxis[0].crosshairs.show){var a=t.drawLine(-s,0,e.globals.gridWidth+s,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);a.attr({class:"apexcharts-ycrosshairs"}),e.globals.dom.elGraphical.add(a)}var r=t.drawLine(-s,0,e.globals.gridWidth+s,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),e.globals.dom.elGraphical.add(r)}}]),o}(),dn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"checkResponsiveConfig",value:function(e){var t=this,i=this.w,s=i.config;if(s.responsive.length!==0){var a=s.responsive.slice();a.sort(function(h,d){return h.breakpoint>d.breakpoint?1:d.breakpoint>h.breakpoint?-1:0}).reverse();var r=new qt({}),n=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=a[0].breakpoint,c=window.innerWidth>0?window.innerWidth:screen.width;if(c>d){var u=R.clone(i.globals.initialConfig);u.series=R.clone(i.config.series);var g=Pe.extendArrayProps(r,u,i);h=R.extend(g,h),h=R.extend(i.config,h),t.overrideResponsiveOptions(h)}else for(var p=0;p0&&typeof e[0]=="function"?(this.isColorFn=!0,i.config.series.map(function(s,a){var r=e[a]||e[0];return typeof r=="function"?r({value:i.globals.axisCharts?i.globals.series[a][0]||0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:t.w}):r})):e:this.predefined()}},{key:"applySeriesColors",value:function(e,t){e.forEach(function(i,s){i&&(t[s]=i)})}},{key:"getMonochromeColors",value:function(e,t,i){var s=e.color,a=e.shadeIntensity,r=e.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?t[0].length*t.length:t.length,l=1/(n/a),h=0;return Array.from({length:n},function(){var d=r==="dark"?i.shadeColor(-1*h,s):i.shadeColor(h,s);return h+=l,d})}},{key:"applyColorTypes",value:function(e,t){var i=this,s=this.w;e.forEach(function(a){s.globals[a].colors=s.config[a].colors===void 0?i.isColorFn?s.config.colors:t:s.config[a].colors.slice(),i.pushExtraColors(s.globals[a].colors)})}},{key:"applyDataLabelsColors",value:function(e){var t=this.w;t.globals.dataLabels.style.colors=t.config.dataLabels.style.colors===void 0?e:t.config.dataLabels.style.colors.slice(),this.pushExtraColors(t.globals.dataLabels.style.colors,50)}},{key:"applyRadarPolygonsColors",value:function(){var e=this.w;e.globals.radarPolygons.fill.colors=e.config.plotOptions.radar.polygons.fill.colors===void 0?[e.config.theme.mode==="dark"?"#424242":"none"]:e.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(e.globals.radarPolygons.fill.colors,20)}},{key:"applyMarkersColors",value:function(e){var t=this.w;t.globals.markers.colors=t.config.markers.colors===void 0?e:t.config.markers.colors.slice(),this.pushExtraColors(t.globals.markers.colors)}},{key:"pushExtraColors",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=this.w,a=t||s.globals.series.length;if(i===null&&(i=this.isBarDistributed||this.isHeatmapDistributed||s.config.chart.type==="heatmap"&&s.config.plotOptions.heatmap&&s.config.plotOptions.heatmap.colorScale.inverse),i&&s.globals.series.length&&(a=s.globals.series[s.globals.maxValsInArrayIndex].length*s.globals.series.length),e.lengthe.globals.svgWidth&&(this.dCtx.lgRect.width=e.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var e=this,t=this.w,i=[];t.config.series.forEach(function(l,h){l.data.forEach(function(d,c){var u;u=t.globals.series[h][c],s=t.config.dataLabels.formatter(u,{ctx:e.dCtx.ctx,seriesIndex:h,dataPointIndex:c,w:t}),i.push(s)})});var s=R.getLargestStringFromArr(i),a=new W(this.dCtx.ctx),r=t.config.dataLabels.style,n=a.getTextRects(s,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(e,t){var i=e;if(this.w.globals.isMultiLineX){var s=t.map(function(r,n){return Array.isArray(r)?r.length:1}),a=Math.max.apply(Math,he(s));i=t[s.indexOf(a)]}return i}}]),o}(),pn=function(){function o(e){P(this,o),this.w=e.w,this.dCtx=e}return E(o,[{key:"getxAxisLabelsCoords",value:function(){var e,t=this.w,i=t.globals.labels.slice();if(t.config.xaxis.convertedCatToNumeric&&i.length===0&&(i=t.globals.categoryLabels),t.globals.timescaleLabels.length>0){var s=this.getxAxisTimeScaleLabelsCoords();e={width:s.width,height:s.height},t.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=t.config.legend.position!=="left"&&t.config.legend.position!=="right"||t.config.legend.floating?0:this.dCtx.lgRect.width;var a=t.globals.xLabelFormatter,r=R.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);t.globals.isBarHorizontal&&(n=r=t.globals.yAxisScale[0].result.reduce(function(p,f){return p.length>f.length?p:f},0));var l=new Vt(this.dCtx.ctx),h=r;r=l.xLabelFormat(a,r,h,{i:void 0,dateFormatter:new Ie(this.dCtx.ctx).formatDate,w:t}),n=l.xLabelFormat(a,n,h,{i:void 0,dateFormatter:new Ie(this.dCtx.ctx).formatDate,w:t}),(t.config.xaxis.convertedCatToNumeric&&r===void 0||String(r).trim()==="")&&(n=r="1");var d=new W(this.dCtx.ctx),c=d.getTextRects(r,t.config.xaxis.labels.style.fontSize),u=c;if(r!==n&&(u=d.getTextRects(n,t.config.xaxis.labels.style.fontSize)),(e={width:c.width>=u.width?c.width:u.width,height:c.height>=u.height?c.height:u.height}).width*i.length>t.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&t.config.xaxis.labels.rotate!==0||t.config.xaxis.labels.rotateAlways){if(!t.globals.isBarHorizontal){t.globals.rotateXLabels=!0;var g=function(p){return d.getTextRects(p,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,"rotate(".concat(t.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==n&&(u=g(n)),e.height=(c.height>u.height?c.height:u.height)/1.5,e.width=c.width>u.width?c.width:u.width}}else t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(e={width:0,height:0}),{width:e.width,height:e.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var e,t=this.w;if(!t.globals.hasXaxisGroups)return{width:0,height:0};var i,s=((e=t.config.xaxis.group.style)===null||e===void 0?void 0:e.fontSize)||t.config.xaxis.labels.style.fontSize,a=t.globals.groups.map(function(c){return c.title}),r=R.getLargestStringFromArr(a),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,a),l=new W(this.dCtx.ctx),h=l.getTextRects(r,s),d=h;return r!==n&&(d=l.getTextRects(n,s)),i={width:h.width>=d.width?h.width:d.width,height:h.height>=d.height?h.height:d.height},t.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var e=this.w,t=0,i=0;if(e.config.xaxis.title.text!==void 0){var s=new W(this.dCtx.ctx).getTextRects(e.config.xaxis.title.text,e.config.xaxis.title.style.fontSize);t=s.width,i=s.height}return{width:t,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var e,t=this.w;this.dCtx.timescaleLabels=t.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map(function(a){return a.value}),s=i.reduce(function(a,r){return a===void 0?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):a.length>r.length?a:r},0);return 1.05*(e=new W(this.dCtx.ctx).getTextRects(s,t.config.xaxis.labels.style.fontSize)).width*i.length>t.globals.gridWidth&&t.config.xaxis.labels.rotate!==0&&(t.globals.overlappingXLabels=!0),e}},{key:"additionalPaddingXLabels",value:function(e){var t=this,i=this.w,s=i.globals,a=i.config,r=a.xaxis.type,n=e.width;s.skipLastTimelinelabel=!1,s.skipFirstTimelinelabel=!1;var l=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,h=function(d,c){a.yaxis.length>1&&function(u){return s.collapsedSeriesIndices.indexOf(u)!==-1}(c)||function(u){if(t.dCtx.timescaleLabels&&t.dCtx.timescaleLabels.length){var g=t.dCtx.timescaleLabels[0],p=t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length-1].position+n/1.75-t.dCtx.yAxisWidthRight,f=g.position-n/1.75+t.dCtx.yAxisWidthLeft,x=i.config.legend.position==="right"&&t.dCtx.lgRect.width>0?t.dCtx.lgRect.width:0;p>s.svgWidth-s.translateX-x&&(s.skipLastTimelinelabel=!0),f<-(u.show&&!u.floating||a.chart.type!=="bar"&&a.chart.type!=="candlestick"&&a.chart.type!=="rangeBar"&&a.chart.type!=="boxPlot"?10:n/1.75)&&(s.skipFirstTimelinelabel=!0)}else r==="datetime"?t.dCtx.gridPad.right((k=String(c(A,l)))===null||k===void 0?void 0:k.length)?S:A},u),p=g=c(g,l);if(g!==void 0&&g.length!==0||(g=h.niceMax),t.globals.isBarHorizontal){s=0;var f=t.globals.labels.slice();g=R.getLargestStringFromArr(f),g=c(g,{seriesIndex:n,dataPointIndex:-1,w:t}),p=e.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var x=new W(e.dCtx.ctx),m="rotate(".concat(r.labels.rotate," 0 0)"),b=x.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,m,!1),w=b;g!==p&&(w=x.getTextRects(p,r.labels.style.fontSize,r.labels.style.fontFamily,m,!1)),i.push({width:(d>w.width||d>b.width?d:w.width>b.width?w.width:b.width)+s,height:w.height>b.height?w.height:b.height})}else i.push({width:0,height:0})}),i}},{key:"getyAxisTitleCoords",value:function(){var e=this,t=this.w,i=[];return t.config.yaxis.map(function(s,a){if(s.show&&s.title.text!==void 0){var r=new W(e.dCtx.ctx),n="rotate(".concat(s.title.rotate," 0 0)"),l=r.getTextRects(s.title.text,s.title.style.fontSize,s.title.style.fontFamily,n,!1);i.push({width:l.width,height:l.height})}else i.push({width:0,height:0})}),i}},{key:"getTotalYAxisWidth",value:function(){var e=this.w,t=0,i=0,s=0,a=e.globals.yAxisScale.length>1?10:0,r=new dt(this.dCtx.ctx),n=function(l,h){var d=e.config.yaxis[h].floating,c=0;l.width>0&&!d?(c=l.width+a,function(u){return e.globals.ignoreYAxisIndexes.indexOf(u)>-1}(h)&&(c=c-l.width-a)):c=d||r.isYAxisHidden(h)?0:5,e.config.yaxis[h].opposite?s+=c:i+=c,t+=c};return e.globals.yLabelsCoords.map(function(l,h){n(l,h)}),e.globals.yTitleCoords.map(function(l,h){n(l,h)}),e.globals.isBarHorizontal&&!e.config.yaxis[0].floating&&(t=e.globals.yLabelsCoords[0].width+e.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=s,t}}]),o}(),mn=function(){function o(e){P(this,o),this.w=e.w,this.dCtx=e}return E(o,[{key:"gridPadForColumnsInNumericAxis",value:function(e){var t=this.w,i=t.config,s=t.globals;if(s.noData||s.collapsedSeries.length+s.ancillaryCollapsedSeries.length===i.series.length)return 0;var a=function(g){return["bar","rangeBar","candlestick","boxPlot"].includes(g)},r=i.chart.type,n=0,l=a(r)?i.series.length:1;s.comboBarCount>0&&(l=s.comboBarCount),s.collapsedSeries.forEach(function(g){a(g.type)&&(l-=1)}),i.chart.stacked&&(l=1);var h=a(r)||s.comboBarCount>0,d=Math.abs(s.initialMaxX-s.initialMinX);if(h&&s.isXNumeric&&!s.isBarHorizontal&&l>0&&d!==0){d<=3&&(d=s.dataPoints);var c=d/e,u=s.minXDiff&&s.minXDiff/c>0?s.minXDiff/c:0;u>e/2&&(u/=2),(n=u*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),s.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var e=this,t=this.w,i=t.globals,s=this.dCtx.isSparkline||!i.axisCharts?0:10;["title","subtitle"].forEach(function(n){t.config[n].text!==void 0?s+=t.config[n].margin:s+=e.dCtx.isSparkline||!i.axisCharts?0:5}),!t.config.legend.show||t.config.legend.position!=="bottom"||t.config.legend.floating||i.axisCharts||(s+=10);var a=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight-=a.height+r.height+s,i.translateY+=a.height+r.height+s}},{key:"setGridXPosForDualYAxis",value:function(e,t){var i=this.w,s=new dt(this.dCtx.ctx);i.config.yaxis.forEach(function(a,r){i.globals.ignoreYAxisIndexes.indexOf(r)!==-1||a.floating||s.isYAxisHidden(r)||(a.opposite&&(i.globals.translateX-=t[r].width+e[r].width+parseInt(a.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))})}}]),o}(),ui=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new fn(this),this.dimYAxis=new xn(this),this.dimXAxis=new pn(this),this.dimGrid=new mn(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return E(o,[{key:"plotCoords",value:function(){var e=this,t=this.w,i=t.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var s=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,he(t.config.stroke.width)):t.config.stroke.width;this.isSparkline&&((t.config.markers.discrete.length>0||t.config.markers.size>0)&&Object.entries(this.gridPad).forEach(function(r){var n=J(r,2),l=n[0],h=n[1];e.gridPad[l]=Math.max(h,e.w.globals.markers.largestSize/1.5)}),this.gridPad.top=Math.max(s/2,this.gridPad.top),this.gridPad.bottom=Math.max(s/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var e=this,t=this.w,i=t.globals,s=this.dimYAxis.getyAxisLabelsCoords(),a=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),t.globals.yLabelsCoords=[],t.globals.yTitleCoords=[],t.config.yaxis.map(function(g,p){t.globals.yLabelsCoords.push({width:s[p].width,index:p}),t.globals.yTitleCoords.push({width:a[p].width,index:p})}),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),l=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,l,n),i.translateXAxisY=t.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=t.globals.rotateXLabels&&t.globals.isXNumeric&&t.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,t.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(t.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+t.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+t.config.xaxis.labels.offsetX;var h=this.yAxisWidth,d=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-l.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(t.config.chart.type==="radar"||this.isSparkline)&&(h=0,d=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||t.config.chart.type==="treemap")&&(h=0,d=0,c=0),this.isSparkline||t.config.chart.type==="treemap"||this.dimXAxis.additionalPaddingXLabels(r);var u=function(){i.translateX=h+e.datalabelsCoords.width,i.gridHeight=i.svgHeight-e.lgRect.height-d-(e.isSparkline||t.config.chart.type==="treemap"?0:t.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-h-2*e.datalabelsCoords.width};switch(t.config.xaxis.position==="top"&&(c=i.xAxisHeight-t.config.xaxis.axisTicks.height-5),t.config.legend.position){case"bottom":i.translateY=c,u();break;case"top":i.translateY=this.lgRect.height+c,u();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-d-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width;break;case"right":i.translateY=c,i.translateX=h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-d-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(a,s),new ls(this.ctx).setYAxisXPosition(s,a)}},{key:"setDimensionsForNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=e.config,s=0;e.config.legend.show&&!e.config.legend.floating&&(s=20);var a=i.chart.type==="pie"||i.chart.type==="polarArea"||i.chart.type==="donut"?"pie":"radialBar",r=i.plotOptions[a].offsetY,n=i.plotOptions[a].offsetX;if(!i.legend.show||i.legend.floating){t.gridHeight=t.svgHeight;var l=t.dom.elWrap.getBoundingClientRect().width;return t.gridWidth=Math.min(l,t.gridHeight),t.translateY=r,void(t.translateX=n+(t.svgWidth-t.gridWidth)/2)}switch(i.legend.position){case"bottom":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=r-10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"top":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=this.lgRect.height+r+10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"left":t.gridWidth=t.svgWidth-this.lgRect.width-s,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+this.lgRect.width+s;break;case"right":t.gridWidth=t.svgWidth-this.lgRect.width-s-5,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(e,t,i){var s=this.w,a=s.globals.hasXaxisGroups?2:1,r=i.height+e.height+t.height,n=s.globals.isMultiLineX?1.2:s.globals.LINE_HEIGHT_RATIO,l=s.globals.rotateXLabels?22:10,h=s.globals.rotateXLabels&&s.config.legend.position==="bottom"?10:0;this.xAxisHeight=r*n+a*l+h,this.xAxisWidth=e.width,this.xAxisHeight-t.height>s.config.xaxis.labels.maxHeight&&(this.xAxisHeight=s.config.xaxis.labels.maxHeight),s.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),o}(),bn=function(){function o(e){P(this,o),this.w=e.w,this.lgCtx=e}return E(o,[{key:"getLegendStyles",value:function(){var e,t,i,s=document.createElement("style");s.setAttribute("type","text/css");var a=((e=this.lgCtx.ctx)===null||e===void 0||(t=e.opts)===null||t===void 0||(i=t.chart)===null||i===void 0?void 0:i.nonce)||this.w.config.chart.nonce;a&&s.setAttribute("nonce",a);var r=document.createTextNode(` + .apexcharts-flip-y { + transform: scaleY(-1) translateY(-100%); + transform-origin: top; + transform-box: fill-box; + } + .apexcharts-flip-x { + transform: scaleX(-1); + transform-origin: center; + transform-box: fill-box; + } + .apexcharts-legend { + display: flex; + overflow: auto; + padding: 0 10px; + } + .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top { + flex-wrap: wrap + } + .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { + flex-direction: column; + bottom: 0; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { + justify-content: flex-start; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center { + justify-content: center; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right { + justify-content: flex-end; + } + .apexcharts-legend-series { + cursor: pointer; + line-height: normal; + display: flex; + align-items: center; + } + .apexcharts-legend-text { + position: relative; + font-size: 14px; + } + .apexcharts-legend-text *, .apexcharts-legend-marker * { + pointer-events: none; + } + .apexcharts-legend-marker { + position: relative; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + margin-right: 1px; + } + + .apexcharts-legend-series.apexcharts-no-click { + cursor: auto; + } + .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series { + display: none !important; + } + .apexcharts-inactive-legend { + opacity: 0.45; + } + + `);return s.appendChild(r),s}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),t=e.width;return{clwh:e.height,clww:t}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(e,t){var i=this,s=this.w;if(s.globals.axisCharts||s.config.chart.type==="radialBar"){s.globals.resized=!0;var a=null,r=null;s.globals.risingSeries=[],s.globals.axisCharts?(a=s.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"']")),r=parseInt(a.getAttribute("data:realIndex"),10)):(a=s.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(e+1,"']")),r=parseInt(a.getAttribute("rel"),10)-1),t?[{cs:s.globals.collapsedSeries,csi:s.globals.collapsedSeriesIndices},{cs:s.globals.ancillaryCollapsedSeries,csi:s.globals.ancillaryCollapsedSeriesIndices}].forEach(function(d){i.riseCollapsedSeries(d.cs,d.csi,r)}):this.hideSeries({seriesEl:a,realIndex:r})}else{var n=s.globals.dom.Paper.findOne(" .apexcharts-series[rel='".concat(e+1,"'] path")),l=s.config.chart.type;if(l==="pie"||l==="polarArea"||l==="donut"){var h=s.config.plotOptions.pie.donut.labels;new W(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,h)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(e){var t=e.realIndex,i=this.w,s=i.globals,a=R.clone(i.config.series);if(s.axisCharts){var r=i.config.yaxis[s.seriesYAxisReverseMap[t]],n={index:t,data:a[t].data.slice(),type:a[t].type||i.config.chart.type};if(r&&r.show&&r.showAlways)s.ancillaryCollapsedSeriesIndices.indexOf(t)<0&&(s.ancillaryCollapsedSeries.push(n),s.ancillaryCollapsedSeriesIndices.push(t));else if(s.collapsedSeriesIndices.indexOf(t)<0){s.collapsedSeries.push(n),s.collapsedSeriesIndices.push(t);var l=s.risingSeries.indexOf(t);s.risingSeries.splice(l,1)}}else s.collapsedSeries.push({index:t,data:a[t]}),s.collapsedSeriesIndices.push(t);return s.allSeriesCollapsed=s.collapsedSeries.length+s.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(a)}},{key:"hideSeries",value:function(e){for(var t=e.seriesEl,i=e.realIndex,s=this.w,a=this.getSeriesAfterCollapsing({realIndex:i}),r=t.childNodes,n=0;n0){for(var r=0;r1;if(this.legendHelpers.appendToForeignObject(),(s||!t.axisCharts)&&i.legend.show){for(;t.dom.elLegendWrap.firstChild;)t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);this.drawLegends(),i.legend.position==="bottom"||i.legend.position==="top"?this.legendAlignHorizontal():i.legend.position!=="right"&&i.legend.position!=="left"||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(e){var t=e.i,i=e.fillcolor,s=this.w,a=document.createElement("span");a.classList.add("apexcharts-legend-marker");var r=s.config.legend.markers.shape||s.config.markers.shape,n=r;Array.isArray(r)&&(n=r[t]);var l=Array.isArray(s.config.legend.markers.size)?parseFloat(s.config.legend.markers.size[t]):parseFloat(s.config.legend.markers.size),h=Array.isArray(s.config.legend.markers.offsetX)?parseFloat(s.config.legend.markers.offsetX[t]):parseFloat(s.config.legend.markers.offsetX),d=Array.isArray(s.config.legend.markers.offsetY)?parseFloat(s.config.legend.markers.offsetY[t]):parseFloat(s.config.legend.markers.offsetY),c=Array.isArray(s.config.legend.markers.strokeWidth)?parseFloat(s.config.legend.markers.strokeWidth[t]):parseFloat(s.config.legend.markers.strokeWidth),u=a.style;if(u.height=2*(l+c)+"px",u.width=2*(l+c)+"px",u.left=h+"px",u.top=d+"px",s.config.legend.markers.customHTML)u.background="transparent",u.color=i[t],Array.isArray(s.config.legend.markers.customHTML)?s.config.legend.markers.customHTML[t]&&(a.innerHTML=s.config.legend.markers.customHTML[t]()):a.innerHTML=s.config.legend.markers.customHTML();else{var g=new Ot(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:t,strokeWidth:c,size:l}),p=window.SVG().addTo(a).size("100%","100%"),f=new W(this.ctx).drawMarker(0,0,H(H({},g),{},{pointFillColor:Array.isArray(i)?i[t]:g.pointFillColor,shape:n}));s.globals.dom.Paper.find(".apexcharts-legend-marker.apexcharts-marker").forEach(function(x){x.node.classList.contains("apexcharts-marker-triangle")?x.node.style.transform="translate(50%, 45%)":x.node.style.transform="translate(50%, 50%)"}),p.add(f)}return a}},{key:"drawLegends",value:function(){var e=this,t=this.w,i=t.config.legend.fontFamily,s=t.globals.seriesNames,a=t.config.legend.markers.fillColors?t.config.legend.markers.fillColors.slice():t.globals.colors.slice();if(t.config.chart.type==="heatmap"){var r=t.config.plotOptions.heatmap.colorScale.ranges;s=r.map(function(A){return A.name?A.name:A.from+" - "+A.to}),a=r.map(function(A){return A.color})}else this.isBarsDistributed&&(s=t.globals.labels.slice());t.config.legend.customLegendItems.length&&(s=t.config.legend.customLegendItems);for(var n=t.globals.legendFormatter,l=t.config.legend.inverseOrder,h=l?s.length-1:0;l?h>=0:h<=s.length-1;l?h--:h++){var d,c=n(s[h],{seriesIndex:h,w:t}),u=!1,g=!1;if(t.globals.collapsedSeries.length>0)for(var p=0;p0)for(var f=0;f0?h-10:0)+(d>0?d-10:0)}s.style.position="absolute",r=r+e+i.config.legend.offsetX,n=n+t+i.config.legend.offsetY,s.style.left=r+"px",s.style.top=n+"px",i.config.legend.position==="right"&&(s.style.left="auto",s.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach(function(c){s.style[c]&&(s.style[c]=parseInt(i.config.legend[c],10)+"px")})}},{key:"legendAlignHorizontal",value:function(){var e=this.w;e.globals.dom.elLegendWrap.style.right=0;var t=new ui(this.ctx),i=t.dimHelpers.getTitleSubtitleCoords("title"),s=t.dimHelpers.getTitleSubtitleCoords("subtitle"),a=0;e.config.legend.position==="top"&&(a=i.height+s.height+e.config.title.margin+e.config.subtitle.margin-10),this.setLegendWrapXY(20,a)}},{key:"legendAlignVertical",value:function(){var e=this.w,t=this.legendHelpers.getLegendDimensions(),i=0;e.config.legend.position==="left"&&(i=20),e.config.legend.position==="right"&&(i=e.globals.svgWidth-t.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(e){var t=this.w,i=e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker");if(t.config.chart.type==="heatmap"||this.isBarsDistributed){if(i){var s=parseInt(e.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,s,this.w]),new $e(this.ctx).highlightRangeInSeries(e,e.target)}}else!e.target.classList.contains("apexcharts-inactive-legend")&&i&&new $e(this.ctx).toggleSeriesOnHover(e,e.target)}},{key:"onLegendClick",value:function(e){var t=this.w;if(!t.config.legend.customLegendItems.length&&(e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(e.target.getAttribute("rel"),10)-1,s=e.target.getAttribute("data:collapsed")==="true",a=this.w.config.chart.events.legendClick;typeof a=="function"&&a(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;typeof r=="function"&&e.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),t.config.chart.type!=="treemap"&&t.config.chart.type!=="heatmap"&&!this.isBarsDistributed&&t.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,s)}}}]),o}(),wa=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w;var t=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=t.globals.minX,this.maxX=t.globals.maxX}return E(o,[{key:"createToolbar",value:function(){var e=this,t=this.w,i=function(){return document.createElement("div")},s=i();if(s.setAttribute("class","apexcharts-toolbar"),s.style.top=t.config.chart.toolbar.offsetY+"px",s.style.right=3-t.config.chart.toolbar.offsetX+"px",t.globals.dom.elWrap.appendChild(s),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var a=0;a + + + +`),n("zoomOut",this.elZoomOut,` + + + +`);var l=function(c){e.t[c]&&t.config.chart[c].enabled&&r.push({el:c==="zoom"?e.elZoom:e.elSelection,icon:typeof e.t[c]=="string"?e.t[c]:c==="zoom"?` + + + +`:` + + +`,title:e.localeValues[c==="zoom"?"selectionZoom":"selection"],class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(c,"-icon")})};l("zoom"),l("selection"),this.t.pan&&t.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:typeof this.t.pan=="string"?this.t.pan:` + + + + + + + +`,title:this.localeValues.pan,class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,` + + +`),this.t.download&&r.push({el:this.elMenuIcon,icon:typeof this.t.download=="string"?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var h=0;hthis.wheelDelay&&(this.executeMouseWheelZoom(i),a.globals.lastWheelExecution=r),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(function(){r-a.globals.lastWheelExecution>s.wheelDelay&&(s.executeMouseWheelZoom(i),a.globals.lastWheelExecution=r)},this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(i){var s,a=this.w;this.minX=a.globals.isRangeBar?a.globals.minY:a.globals.minX,this.maxX=a.globals.isRangeBar?a.globals.maxY:a.globals.maxX;var r=(s=this.gridRect)===null||s===void 0?void 0:s.getBoundingClientRect();if(r){var n,l,h,d=(i.clientX-r.left)/r.width,c=this.minX,u=this.maxX,g=u-c;if(i.deltaY<0){var p=c+d*g;l=p-(n=.5*g)/2,h=p+n/2}else l=c-(n=1.5*g)/2,h=u+n/2;if(!a.globals.isRangeBar){l=Math.max(l,a.globals.initialMinX),h=Math.min(h,a.globals.initialMaxX);var f=.01*(a.globals.initialMaxX-a.globals.initialMinX);if(h-l0&&i.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(s,a,r,n,l){return l==="l"||l==="r"?s.circle(8).css({"stroke-width":1,stroke:"#333",fill:"#fff"}):s.circle(0)},updateHandle:function(s,a){return s.center(a[0],a[1])}}).resize().on("resizing",this.selectionDragging.bind(this,"resizing")))}}},{key:"preselectedSelection",value:function(){var i=this.w,s=this.xyRatios;if(!i.globals.zoomEnabled){if(i.globals.selection!==void 0&&i.globals.selection!==null)this.drawSelectionRect(H(H({},i.globals.selection),{},{translateX:i.globals.translateX,translateY:i.globals.translateY}));else if(i.config.chart.selection.xaxis.min!==void 0&&i.config.chart.selection.xaxis.max!==void 0){var a=(i.config.chart.selection.xaxis.min-i.globals.minX)/s.xRatio,r=i.globals.gridWidth-(i.globals.maxX-i.config.chart.selection.xaxis.max)/s.xRatio-a;i.globals.isRangeBar&&(a=(i.config.chart.selection.xaxis.min-i.globals.yAxisScale[0].niceMin)/s.invertedYRatio,r=(i.config.chart.selection.xaxis.max-i.config.chart.selection.xaxis.min)/s.invertedYRatio);var n={x:a,y:0,width:r,height:i.globals.gridHeight,translateX:i.globals.translateX,translateY:i.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(n),this.makeSelectionRectDraggable(),typeof i.config.chart.events.selection=="function"&&i.config.chart.events.selection(this.ctx,{xaxis:{min:i.config.chart.selection.xaxis.min,max:i.config.chart.selection.xaxis.max},yaxis:{}})}}}},{key:"drawSelectionRect",value:function(i){var s=i.x,a=i.y,r=i.width,n=i.height,l=i.translateX,h=l===void 0?0:l,d=i.translateY,c=d===void 0?0:d,u=this.w,g=this.zoomRect,p=this.selectionRect;if(this.dragged||u.globals.selection!==null){var f={transform:"translate("+h+", "+c+")"};u.globals.zoomEnabled&&this.dragged&&(r<0&&(r=1),g.attr({x:s,y:a,width:r,height:n,fill:u.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":u.config.chart.zoom.zoomedArea.fill.opacity,stroke:u.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":u.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":u.config.chart.zoom.zoomedArea.stroke.opacity}),W.setAttrs(g.node,f)),u.globals.selectionEnabled&&(p.attr({x:s,y:a,width:r>0?r:0,height:n>0?n:0,fill:u.config.chart.selection.fill.color,"fill-opacity":u.config.chart.selection.fill.opacity,stroke:u.config.chart.selection.stroke.color,"stroke-width":u.config.chart.selection.stroke.width,"stroke-dasharray":u.config.chart.selection.stroke.dashArray,"stroke-opacity":u.config.chart.selection.stroke.opacity}),W.setAttrs(p.node,f))}}},{key:"hideSelectionRect",value:function(i){i&&i.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(i){var s=i.context,a=i.zoomtype,r=this.w,n=s,l=this.gridRect.getBoundingClientRect(),h=n.startX-1,d=n.startY,c=!1,u=!1,g=n.clientX-l.left-h,p=n.clientY-l.top-d,f={translateX:r.globals.translateX,translateY:r.globals.translateY};return Math.abs(g+h)>r.globals.gridWidth?g=r.globals.gridWidth-h:n.clientX-l.left<0&&(g=h),h>n.clientX-l.left&&(c=!0,g=Math.abs(g)),d>n.clientY-l.top&&(u=!0,p=Math.abs(p)),f=H(H({},f=a==="x"?{x:c?h-g:h,y:0,width:g,height:r.globals.gridHeight}:a==="y"?{x:0,y:u?d-p:d,width:r.globals.gridWidth,height:p}:{x:c?h-g:h,y:u?d-p:d,width:g,height:p}),{},{translateX:r.globals.translateX,translateY:r.globals.translateY}),n.drawSelectionRect(f),n.selectionDragging("resizing"),f}},{key:"selectionDragging",value:function(i,s){var a=this,r=this.w;if(s){s.preventDefault();var n=s.detail,l=n.handler,h=n.box,d=h.x,c=h.y;dthis.constraints.x2&&(d=this.constraints.x2-h.w),h.y2>this.constraints.y2&&(c=this.constraints.y2-h.h),l.move(d,c);var u=this.xyRatios,g=this.selectionRect,p=0;i==="resizing"&&(p=30);var f=function(m){return parseFloat(g.node.getAttribute(m))},x={x:f("x"),y:f("y"),width:f("width"),height:f("height")};r.globals.selection=x,typeof r.config.chart.events.selection=="function"&&r.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var m,b,w,S,A=a.gridRect.getBoundingClientRect(),T=g.node.getBoundingClientRect();r.globals.isRangeBar?(m=r.globals.yAxisScale[0].niceMin+(T.left-A.left)*u.invertedYRatio,b=r.globals.yAxisScale[0].niceMin+(T.right-A.left)*u.invertedYRatio,w=0,S=1):(m=r.globals.xAxisScale.niceMin+(T.left-A.left)*u.xRatio,b=r.globals.xAxisScale.niceMin+(T.right-A.left)*u.xRatio,w=r.globals.yAxisScale[0].niceMin+(A.bottom-T.bottom)*u.yRatio[0],S=r.globals.yAxisScale[0].niceMax-(T.top-A.top)*u.yRatio[0]);var k={xaxis:{min:m,max:b},yaxis:{min:w,max:S}};r.config.chart.events.selection(a.ctx,k),r.config.chart.brush.enabled&&r.config.chart.events.brushScrolled!==void 0&&r.config.chart.events.brushScrolled(a.ctx,k)},p))}}},{key:"selectionDrawn",value:function(i){var s=i.context,a=i.zoomtype,r=this.w,n=s,l=this.xyRatios,h=this.ctx.toolbar;if(n.startX>n.endX){var d=n.startX;n.startX=n.endX,n.endX=d}if(n.startY>n.endY){var c=n.startY;n.startY=n.endY,n.endY=c}var u=void 0,g=void 0;r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+n.startX*l.invertedYRatio,g=r.globals.yAxisScale[0].niceMin+n.endX*l.invertedYRatio):(u=r.globals.xAxisScale.niceMin+n.startX*l.xRatio,g=r.globals.xAxisScale.niceMin+n.endX*l.xRatio);var p=[],f=[];if(r.config.yaxis.forEach(function(T,k){var M=r.globals.seriesYAxisMap[k][0];p.push(r.globals.yAxisScale[k].niceMax-l.yRatio[M]*n.startY),f.push(r.globals.yAxisScale[k].niceMax-l.yRatio[M]*n.endY)}),n.dragged&&(n.dragX>10||n.dragY>10)&&u!==g){if(r.globals.zoomEnabled){var x=R.clone(r.globals.initialConfig.yaxis),m=R.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(u=Math.floor(u),g=Math.floor(g),u<1&&(u=1,g=r.globals.dataPoints),g-u<2&&(g=u+1)),a!=="xy"&&a!=="x"||(m={min:u,max:g}),a!=="xy"&&a!=="y"||x.forEach(function(T,k){x[k].min=f[k],x[k].max=p[k]}),h){var b=h.getBeforeZoomRange(m,x);b&&(m=b.xaxis?b.xaxis:m,x=b.yaxis?b.yaxis:x)}var w={xaxis:m};r.config.chart.group||(w.yaxis=x),n.ctx.updateHelpers._updateOptions(w,!1,n.w.config.chart.animations.dynamicAnimation.enabled),typeof r.config.chart.events.zoomed=="function"&&h.zoomCallback(m,x)}else if(r.globals.selectionEnabled){var S,A=null;S={min:u,max:g},a!=="xy"&&a!=="y"||(A=R.clone(r.config.yaxis)).forEach(function(T,k){A[k].min=f[k],A[k].max=p[k]}),r.globals.selection=n.selection,typeof r.config.chart.events.selection=="function"&&r.config.chart.events.selection(n.ctx,{xaxis:S,yaxis:A})}}}},{key:"panDragging",value:function(i){var s=i.context,a=this.w,r=s;if(a.globals.lastClientPosition.x!==void 0){var n=a.globals.lastClientPosition.x-r.clientX,l=a.globals.lastClientPosition.y-r.clientY;Math.abs(n)>Math.abs(l)&&n>0?this.moveDirection="left":Math.abs(n)>Math.abs(l)&&n<0?this.moveDirection="right":Math.abs(l)>Math.abs(n)&&l>0?this.moveDirection="up":Math.abs(l)>Math.abs(n)&&l<0&&(this.moveDirection="down")}a.globals.lastClientPosition={x:r.clientX,y:r.clientY};var h=a.globals.isRangeBar?a.globals.minY:a.globals.minX,d=a.globals.isRangeBar?a.globals.maxY:a.globals.maxX;a.config.xaxis.convertedCatToNumeric||r.panScrolled(h,d)}},{key:"delayedPanScrolled",value:function(){var i=this.w,s=i.globals.minX,a=i.globals.maxX,r=(i.globals.maxX-i.globals.minX)/2;this.moveDirection==="left"?(s=i.globals.minX+r,a=i.globals.maxX+r):this.moveDirection==="right"&&(s=i.globals.minX-r,a=i.globals.maxX-r),s=Math.floor(s),a=Math.floor(a),this.updateScrolledChart({xaxis:{min:s,max:a}},s,a)}},{key:"panScrolled",value:function(i,s){var a=this.w,r=this.xyRatios,n=R.clone(a.globals.initialConfig.yaxis),l=r.xRatio,h=a.globals.minX,d=a.globals.maxX;a.globals.isRangeBar&&(l=r.invertedYRatio,h=a.globals.minY,d=a.globals.maxY),this.moveDirection==="left"?(i=h+a.globals.gridWidth/15*l,s=d+a.globals.gridWidth/15*l):this.moveDirection==="right"&&(i=h-a.globals.gridWidth/15*l,s=d-a.globals.gridWidth/15*l),a.globals.isRangeBar||(ia.globals.initialMaxX)&&(i=h,s=d);var c={xaxis:{min:i,max:s}};a.config.chart.group||(c.yaxis=n),this.updateScrolledChart(c,i,s)}},{key:"updateScrolledChart",value:function(i,s,a){var r=this.w;this.ctx.updateHelpers._updateOptions(i,!1,!1),typeof r.config.chart.events.scrolled=="function"&&r.config.chart.events.scrolled(this.ctx,{xaxis:{min:s,max:a}})}}]),t}(wa),ka=function(){function o(e){P(this,o),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return E(o,[{key:"getNearestValues",value:function(e){var t=e.hoverArea,i=e.elGrid,s=e.clientX,a=e.clientY,r=this.w,n=i.getBoundingClientRect(),l=n.width,h=n.height,d=l/(r.globals.dataPoints-1),c=h/r.globals.dataPoints,u=this.hasBars();!r.globals.comboCharts&&!u||r.config.xaxis.convertedCatToNumeric||(d=l/r.globals.dataPoints);var g=s-n.left-r.globals.barPadForNumericAxis,p=a-n.top;g<0||p<0||g>l||p>h?(t.classList.remove("hovering-zoom"),t.classList.remove("hovering-pan")):r.globals.zoomEnabled?(t.classList.remove("hovering-pan"),t.classList.add("hovering-zoom")):r.globals.panEnabled&&(t.classList.remove("hovering-zoom"),t.classList.add("hovering-pan"));var f=Math.round(g/d),x=Math.floor(p/c);u&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/d),f-=1);var m=null,b=null,w=r.globals.seriesXvalues.map(function(M){return M.filter(function(O){return R.isNumber(O)})}),S=r.globals.seriesYvalues.map(function(M){return M.filter(function(O){return R.isNumber(O)})});if(r.globals.isXNumeric){var A=this.ttCtx.getElGrid().getBoundingClientRect(),T=g*(A.width/l),k=p*(A.height/h);m=(b=this.closestInMultiArray(T,k,w,S)).index,f=b.j,m!==null&&(w=r.globals.seriesXvalues[m],f=(b=this.closestInArray(T,w)).index)}return r.globals.capturedSeriesIndex=m===null?-1:m,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=x:r.globals.capturedDataPointIndex=f,{capturedSeries:m,j:r.globals.isBarHorizontal?x:f,hoverX:g,hoverY:p}}},{key:"closestInMultiArray",value:function(e,t,i,s){var a=this.w,r=0,n=null,l=-1;a.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var h=i[r][0],d=Math.abs(e-h);if(i.forEach(function(g){g.forEach(function(p,f){var x=Math.abs(e-p);x<=d&&(d=x,l=f)})}),l!==-1){var c=s[r][l],u=Math.abs(t-c);n=r,s.forEach(function(g,p){var f=Math.abs(t-g[l]);f<=u&&(u=f,n=p)})}return{index:n,j:l}}},{key:"getFirstActiveXArray",value:function(e){for(var t=this.w,i=0,s=e.map(function(r,n){return r.length>0?n:-1}),a=0;a0)for(var s=0;s *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(e=he(e)).sort(function(i,s){var a=Number(i.getAttribute("data:realIndex")),r=Number(s.getAttribute("data:realIndex"));return ra?-1:0});var t=[];return e.forEach(function(i){t.push(i.querySelector(".apexcharts-marker"))}),t}},{key:"hasMarkers",value:function(e){return this.getElMarkers(e).length>0}},{key:"getPathFromPoint",value:function(e,t){var i=Number(e.getAttribute("cx")),s=Number(e.getAttribute("cy")),a=e.getAttribute("shape");return new W(this.ctx).getMarkerPath(i,s,a,t)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(e){var t=this.w,i=t.config.markers.hover.size;return i===void 0&&(i=t.globals.markers.size[e]+t.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(e){var t=this.w,i=this.ttCtx;i.allTooltipSeriesGroups.length===0&&(i.allTooltipSeriesGroups=t.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var s=i.allTooltipSeriesGroups,a=0;a ').concat(I.attrs.name,""),O+="
".concat(I.val,"
")}),w.innerHTML=M+"",S.innerHTML=O+""};n?h.globals.seriesGoals[t][i]&&Array.isArray(h.globals.seriesGoals[t][i])?A():(w.innerHTML="",S.innerHTML=""):A()}else w.innerHTML="",S.innerHTML="";if(f!==null&&(s[t].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=h.config.tooltip.z.title,s[t].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=f!==void 0?f:""),n&&x[0]){if(h.config.tooltip.hideEmptySeries){var T=s[t].querySelector(".apexcharts-tooltip-marker"),k=s[t].querySelector(".apexcharts-tooltip-text");parseFloat(c)==0?(T.style.display="none",k.style.display="none"):(T.style.display="block",k.style.display="block")}c==null||h.globals.ancillaryCollapsedSeriesIndices.indexOf(t)>-1||h.globals.collapsedSeriesIndices.indexOf(t)>-1||Array.isArray(d.tConfig.enabledOnSeries)&&d.tConfig.enabledOnSeries.indexOf(t)===-1?x[0].parentNode.style.display="none":x[0].parentNode.style.display=h.config.tooltip.items.display}else Array.isArray(d.tConfig.enabledOnSeries)&&d.tConfig.enabledOnSeries.indexOf(t)===-1&&(x[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(e,t){var i=this.w;if(e)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var s=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(t));s&&(s.classList.add("apexcharts-active"),s.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(e){var t=e.i,i=e.j,s=this.w,a=this.ctx.series.filteredSeriesX(),r="",n="",l=null,h=null,d={series:s.globals.series,seriesIndex:t,dataPointIndex:i,w:s},c=s.globals.ttZFormatter;i===null?h=s.globals.series[t]:s.globals.isXNumeric&&s.config.chart.type!=="treemap"?(r=a[t][i],a[t].length===0&&(r=a[this.tooltipUtil.getFirstActiveXArray(a)][i])):r=new ns(this.ctx).isFormatXY()?s.config.series[t].data[i]!==void 0?s.config.series[t].data[i].x:"":s.globals.labels[i]!==void 0?s.globals.labels[i]:"";var u=r;return s.globals.isXNumeric&&s.config.xaxis.type==="datetime"?r=new Vt(this.ctx).xLabelFormat(s.globals.ttKeyFormatter,u,u,{i:void 0,dateFormatter:new Ie(this.ctx).formatDate,w:this.w}):r=s.globals.isBarHorizontal?s.globals.yLabelFormatters[0](u,d):s.globals.xLabelFormatter(u,d),s.config.tooltip.x.formatter!==void 0&&(r=s.globals.ttKeyFormatter(u,d)),s.globals.seriesZ.length>0&&s.globals.seriesZ[t].length>0&&(l=c(s.globals.seriesZ[t][i],s)),n=typeof s.config.xaxis.tooltip.formatter=="function"?s.globals.xaxisTooltipFormatter(u,d):r,{val:Array.isArray(h)?h.join(" "):h,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:l}}},{key:"handleCustomTooltip",value:function(e){var t=e.i,i=e.j,s=e.y1,a=e.y2,r=e.w,n=this.ttCtx.getElTooltip(),l=r.config.tooltip.custom;Array.isArray(l)&&l[t]&&(l=l[t]),n.innerHTML=l({ctx:this.ctx,series:r.globals.series,seriesIndex:t,dataPointIndex:i,y1:s,y2:a,w:r})}}]),o}(),Aa=function(){function o(e){P(this,o),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return E(o,[{key:"moveXCrosshairs",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.ttCtx,s=this.w,a=i.getElXCrosshairs(),r=e-i.xcrosshairsWidth/2,n=s.globals.labels.slice().length;if(t!==null&&(r=s.globals.gridWidth/n*t),a===null||s.globals.isBarHorizontal||(a.setAttribute("x",r),a.setAttribute("x1",r),a.setAttribute("x2",r),a.setAttribute("y2",s.globals.gridHeight),a.classList.add("apexcharts-active")),r<0&&(r=0),r>s.globals.gridWidth&&(r=s.globals.gridWidth),i.isXAxisTooltipEnabled){var l=r;s.config.xaxis.crosshairs.width!=="tickWidth"&&s.config.xaxis.crosshairs.width!=="barWidth"||(l=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(l)}}},{key:"moveYCrosshairs",value:function(e){var t=this.ttCtx;t.ycrosshairs!==null&&W.setAttrs(t.ycrosshairs,{y1:e,y2:e}),t.ycrosshairsHidden!==null&&W.setAttrs(t.ycrosshairsHidden,{y1:e,y2:e})}},{key:"moveXAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;if(i.xaxisTooltip!==null&&i.xcrosshairsWidth!==0){i.xaxisTooltip.classList.add("apexcharts-active");var s=i.xaxisOffY+t.config.xaxis.tooltip.offsetY+t.globals.translateY+1+t.config.xaxis.offsetY;if(e-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(e)){e+=t.globals.translateX;var a;a=new W(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=a.width+"px",i.xaxisTooltip.style.left=e+"px",i.xaxisTooltip.style.top=s+"px"}}}},{key:"moveYAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;i.yaxisTTEls===null&&(i.yaxisTTEls=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var s=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),a=t.globals.translateY+s,r=i.yaxisTTEls[e].getBoundingClientRect().height,n=t.globals.translateYAxisX[e]-2;t.config.yaxis[e].opposite&&(n-=26),a-=r/2,t.globals.ignoreYAxisIndexes.indexOf(e)===-1?(i.yaxisTTEls[e].classList.add("apexcharts-active"),i.yaxisTTEls[e].style.top=a+"px",i.yaxisTTEls[e].style.left=n+t.config.yaxis[e].tooltip.offsetX+"px"):i.yaxisTTEls[e].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=this.w,a=this.ttCtx,r=a.getElTooltip(),n=a.tooltipRect,l=i!==null?parseFloat(i):1,h=parseFloat(e)+l+5,d=parseFloat(t)+l/2;if(h>s.globals.gridWidth/2&&(h=h-n.ttWidth-l-10),h>s.globals.gridWidth-n.ttWidth-10&&(h=s.globals.gridWidth-n.ttWidth),h<-20&&(h=-20),s.config.tooltip.followCursor){var c=a.getElGrid().getBoundingClientRect();(h=a.e.clientX-c.left)>s.globals.gridWidth/2&&(h-=a.tooltipRect.ttWidth),(d=a.e.clientY+s.globals.translateY-c.top)>s.globals.gridHeight/2&&(d-=a.tooltipRect.ttHeight)}else s.globals.isBarHorizontal||n.ttHeight/2+d>s.globals.gridHeight&&(d=s.globals.gridHeight-n.ttHeight+s.globals.translateY);isNaN(h)||(h+=s.globals.translateX,r.style.left=h+"px",r.style.top=d+"px")}},{key:"moveMarkers",value:function(e,t){var i=this.w,s=this.ttCtx;if(i.globals.markers.size[e]>0)for(var a=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-marker")),r=0;r0){var p=g.getAttribute("shape"),f=h.getMarkerPath(a,r,p,1.5*c);g.setAttribute("d",f)}this.moveXCrosshairs(a),l.fixedTooltip||this.moveTooltip(a,r,c)}}},{key:"moveDynamicPointsOnHover",value:function(e){var t,i=this.ttCtx,s=i.w,a=0,r=0,n=s.globals.pointsArray,l=new $e(this.ctx),h=new W(this.ctx);t=l.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var d=i.tooltipUtil.getHoverMarkerSize(t);n[t]&&(a=n[t][e][0],r=n[t][e][1]);var c=i.tooltipUtil.getAllMarkers();if(c!==null)for(var u=0;u0){var b=h.getMarkerPath(a,p,x,d);c[u].setAttribute("d",b)}else c[u].setAttribute("d","")}}this.moveXCrosshairs(a),i.fixedTooltip||this.moveTooltip(a,r||s.globals.gridHeight,d)}},{key:"moveStickyTooltipOverBars",value:function(e,t){var i=this.w,s=this.ttCtx,a=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;i.globals.isBarHorizontal&&(r=new $e(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(e,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"']"));n||typeof t!="number"||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,`'], + .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], + .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], + .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,"']")));var l=n?parseFloat(n.getAttribute("cx")):0,h=n?parseFloat(n.getAttribute("cy")):0,d=n?parseFloat(n.getAttribute("barWidth")):0,c=s.getElGrid().getBoundingClientRect(),u=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!u&&(l-=a%2!=0?d/2:0),n&&u&&i.globals.comboCharts&&(l-=d/2)):i.globals.isBarHorizontal||(l=s.xAxisTicksPositions[e-1]+s.dataPointsDividedWidth/2,isNaN(l)&&(l=s.xAxisTicksPositions[e]-s.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?h-=s.tooltipRect.ttHeight:i.config.tooltip.followCursor?h=s.e.clientY-c.top-s.tooltipRect.ttHeight/2:h+s.tooltipRect.ttHeight+15>i.globals.gridHeight&&(h=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(l),s.fixedTooltip||this.moveTooltip(l,h||i.globals.gridHeight)}}]),o}(),wn=function(){function o(e){P(this,o),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new Aa(e)}return E(o,[{key:"drawDynamicPoints",value:function(){var e=this.w,t=new W(this.ctx),i=new Ot(this.ctx),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series");s=he(s),e.config.chart.stacked&&s.sort(function(c,u){return parseFloat(c.getAttribute("data:realIndex"))-parseFloat(u.getAttribute("data:realIndex"))});for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:null,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=this.w;a.config.chart.type!=="bubble"&&this.newPointSize(e,t);var r=t.getAttribute("cx"),n=t.getAttribute("cy");if(i!==null&&s!==null&&(r=i,n=s),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(a.config.chart.type==="radar"){var l=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,n,a.config.markers.hover.size)}}},{key:"enlargePoints",value:function(e){for(var t=this.w,i=this,s=this.ttCtx,a=e,r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=t.config.markers.hover.size,l=0;l0){var s=this.ttCtx.tooltipUtil.getPathFromPoint(e[t],i);e[t].setAttribute("d",s)}else e[t].setAttribute("d","M0,0")}}}]),o}(),kn=function(){function o(e){P(this,o),this.w=e.w;var t=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.config.chart.type==="rangeBar"&&t.config.plotOptions.bar.rangeBarGroupRows}return E(o,[{key:"getAttr",value:function(e,t){return parseFloat(e.target.getAttribute(t))}},{key:"handleHeatTreeTooltip",value:function(e){var t=e.e,i=e.opt,s=e.x,a=e.y,r=e.type,n=this.ttCtx,l=this.w;if(t.target.classList.contains("apexcharts-".concat(r,"-rect"))){var h=this.getAttr(t,"i"),d=this.getAttr(t,"j"),c=this.getAttr(t,"cx"),u=this.getAttr(t,"cy"),g=this.getAttr(t,"width"),p=this.getAttr(t,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:h,j:d,shared:!1,e:t}),l.globals.capturedSeriesIndex=h,l.globals.capturedDataPointIndex=d,s=c+n.tooltipRect.ttWidth/2+g,a=u+n.tooltipRect.ttHeight/2-p/2,n.tooltipPosition.moveXCrosshairs(c+g/2),s>l.globals.gridWidth/2&&(s=c-n.tooltipRect.ttWidth/2+g),n.w.config.tooltip.followCursor){var f=l.globals.dom.elWrap.getBoundingClientRect();s=l.globals.clientX-f.left-(s>l.globals.gridWidth/2?n.tooltipRect.ttWidth:0),a=l.globals.clientY-f.top-(a>l.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:s,y:a}}},{key:"handleMarkerTooltip",value:function(e){var t,i,s=e.e,a=e.opt,r=e.x,n=e.y,l=this.w,h=this.ttCtx;if(s.target.classList.contains("apexcharts-marker")){var d=parseInt(a.paths.getAttribute("cx"),10),c=parseInt(a.paths.getAttribute("cy"),10),u=parseFloat(a.paths.getAttribute("val"));if(i=parseInt(a.paths.getAttribute("rel"),10),t=parseInt(a.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,h.intersect){var g=R.findAncestor(a.paths,"apexcharts-series");g&&(t=parseInt(g.getAttribute("data:realIndex"),10))}if(h.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:t,j:i,shared:!h.showOnIntersect&&l.config.tooltip.shared,e:s}),s.type==="mouseup"&&h.markerClick(s,t,i),l.globals.capturedSeriesIndex=t,l.globals.capturedDataPointIndex=i,r=d,n=c+l.globals.translateY-1.4*h.tooltipRect.ttHeight,h.w.config.tooltip.followCursor){var p=h.getElGrid().getBoundingClientRect();n=h.e.clientY+l.globals.translateY-p.top}u<0&&(n=c),h.marker.enlargeCurrentPoint(i,a.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(e){var t,i,s=e.e,a=e.opt,r=this.w,n=this.ttCtx,l=n.getElTooltip(),h=0,d=0,c=0,u=this.getBarTooltipXY({e:s,opt:a});if(u.j!==null||u.barHeight!==0||u.barWidth!==0){t=u.i;var g=u.j;if(r.globals.capturedSeriesIndex=t,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(d=u.x,c=u.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[t]:r.config.stroke.width,h=d):r.globals.comboCharts||r.config.tooltip.shared||(h/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(a.paths.parentNode.getAttribute("data:realIndex"),10),d+n.tooltipRect.ttWidth>r.globals.gridWidth?d-=n.tooltipRect.ttWidth:d<0&&(d=0),n.w.config.tooltip.followCursor){var p=n.getElGrid().getBoundingClientRect();c=n.e.clientY-p.top}n.tooltip===null&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(h+i/2):n.tooltipPosition.moveXCrosshairs(h)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,l.style.left=d+r.globals.translateX+"px",l.style.top=c+"px")}}},{key:"getBarTooltipXY",value:function(e){var t=this,i=e.e,s=e.opt,a=this.w,r=null,n=this.ttCtx,l=0,h=0,d=0,c=0,u=0,g=i.target.classList;if(g.contains("apexcharts-bar-area")||g.contains("apexcharts-candlestick-area")||g.contains("apexcharts-boxPlot-area")||g.contains("apexcharts-rangebar-area")){var p=i.target,f=p.getBoundingClientRect(),x=s.elGrid.getBoundingClientRect(),m=f.height;u=f.height;var b=f.width,w=parseInt(p.getAttribute("cx"),10),S=parseInt(p.getAttribute("cy"),10);c=parseFloat(p.getAttribute("barWidth"));var A=i.type==="touchmove"?i.touches[0].clientX:i.clientX;r=parseInt(p.getAttribute("j"),10),l=parseInt(p.parentNode.getAttribute("rel"),10)-1;var T=p.getAttribute("data-range-y1"),k=p.getAttribute("data-range-y2");a.globals.comboCharts&&(l=parseInt(p.parentNode.getAttribute("data:realIndex"),10));var M=function(I){return a.globals.isXNumeric?w-b/2:t.isVerticalGroupedRangeBar?w+b/2:w-n.dataPointsDividedWidth+b/2},O=function(){return S-n.dataPointsDividedHeight+m/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:l,j:r,y1:T?parseInt(T,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&a.config.tooltip.shared,e:i}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(h=A-x.left+15,d=O()):(h=M(),d=i.clientY-x.top-n.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((h=w)0&&i.setAttribute("width",t.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var e=this.w,t=this.ttCtx;t.ycrosshairs=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),t.ycrosshairsHidden=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(e,t,i){var s=this.ttCtx,a=this.w,r=a.globals,n=r.seriesYAxisMap[e];if(s.yaxisTooltips[e]&&n.length>0){var l=r.yLabelFormatters[e],h=s.getElGrid().getBoundingClientRect(),d=n[0],c=0;i.yRatio.length>1&&(c=d);var u=(t-h.top)*i.yRatio[c],g=r.maxYArr[d]-r.minYArr[d],p=r.minYArr[d]+(g-u);a.config.yaxis[e].reversed&&(p=r.maxYArr[d]-(g-u)),s.tooltipPosition.moveYCrosshairs(t-h.top),s.yaxisTooltipText[e].innerHTML=l(p),s.tooltipPosition.moveYAxisTooltip(e)}}}]),o}(),Sa=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w;var t=this.w;this.tConfig=t.config.tooltip,this.tooltipUtil=new ka(this),this.tooltipLabels=new yn(this),this.tooltipPosition=new Aa(this),this.marker=new wn(this),this.intersect=new kn(this),this.axesTooltip=new An(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!t.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return E(o,[{key:"getElTooltip",value:function(e){return e||(e=this),e.w.globals.dom.baseEl?e.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(e){var t=this.w;this.xyRatios=e,this.isXAxisTooltipEnabled=t.config.xaxis.tooltip.enabled&&t.globals.axisCharts,this.yaxisTooltips=t.config.yaxis.map(function(r,n){return!!(r.show&&r.tooltip.enabled&&t.globals.axisCharts)}),this.allTooltipSeriesGroups=[],t.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),t.config.tooltip.cssClass&&i.classList.add(t.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),t.globals.dom.elWrap.appendChild(i),t.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var s=new Zt(this.ctx);this.xAxisTicksPositions=s.getXAxisTicksPositions()}if(!t.globals.comboCharts&&!this.tConfig.intersect&&t.config.chart.type!=="rangeBar"||this.tConfig.shared||(this.showOnIntersect=!0),t.config.markers.size!==0&&t.globals.markers.largestSize!==0||this.marker.drawDynamicPoints(this),t.globals.collapsedSeries.length!==t.globals.series.length){this.dataPointsDividedHeight=t.globals.gridHeight/t.globals.dataPoints,this.dataPointsDividedWidth=t.globals.gridWidth/t.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||t.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var a=t.globals.series.length;(t.globals.xyCharts||t.globals.comboCharts)&&this.tConfig.shared&&(a=this.showOnIntersect?1:t.globals.series.length),this.legendLabels=t.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(a),this.addSVGEvents()}}},{key:"createTTElements",value:function(e){for(var t=this,i=this.w,s=[],a=this.getElTooltip(),r=function(l){var h=document.createElement("div");h.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(l)),h.style.order=i.config.tooltip.inverseOrder?e-l:l+1;var d=document.createElement("span");d.classList.add("apexcharts-tooltip-marker"),d.style.backgroundColor=i.globals.colors[l],h.appendChild(d);var c=document.createElement("div");c.classList.add("apexcharts-tooltip-text"),c.style.fontFamily=t.tConfig.style.fontFamily||i.config.chart.fontFamily,c.style.fontSize=t.tConfig.style.fontSize,["y","goals","z"].forEach(function(u){var g=document.createElement("div");g.classList.add("apexcharts-tooltip-".concat(u,"-group"));var p=document.createElement("span");p.classList.add("apexcharts-tooltip-text-".concat(u,"-label")),g.appendChild(p);var f=document.createElement("span");f.classList.add("apexcharts-tooltip-text-".concat(u,"-value")),g.appendChild(f),c.appendChild(g)}),h.appendChild(c),a.appendChild(h),s.push(h)},n=0;n0&&this.addPathsEventListeners(p,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var e=this.w,t=this.getElTooltip(),i=t.getBoundingClientRect(),s=i.width+10,a=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,l=this.tConfig.fixed.position.toLowerCase();return l.indexOf("right")>-1&&(r=r+e.globals.svgWidth-s+10),l.indexOf("bottom")>-1&&(n=n+e.globals.svgHeight-a-10),t.style.left=r+"px",t.style.top=n+"px",{x:r,y:n,ttWidth:s,ttHeight:a}}},{key:"addDatapointEventsListeners",value:function(e){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(t,e)}},{key:"addPathsEventListeners",value:function(e,t){for(var i=this,s=function(r){var n={paths:e[r],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(l){return e[r].addEventListener(l,i.onSeriesHover.bind(i,n),{capture:!1,passive:!0})})},a=0;a=20?this.seriesHover(e,t):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout(function(){i.seriesHover(e,t)},20-s))}},{key:"seriesHover",value:function(e,t){var i=this;this.lastHoverTime=Date.now();var s=[],a=this.w;a.config.chart.group&&(s=this.ctx.getGroupedCharts()),a.globals.axisCharts&&(a.globals.minX===-1/0&&a.globals.maxX===1/0||a.globals.dataPoints===0)||(s.length?s.forEach(function(r){var n=i.getElTooltip(r),l={paths:e.paths,tooltipEl:n,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:r.w.globals.tooltip.ttItems};r.w.globals.minX===i.w.globals.minX&&r.w.globals.maxX===i.w.globals.maxX&&r.w.globals.tooltip.seriesHoverByContext({chartCtx:r,ttCtx:r.w.globals.tooltip,opt:l,e:t})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:e,e:t}))}},{key:"seriesHoverByContext",value:function(e){var t=e.chartCtx,i=e.ttCtx,s=e.opt,a=e.e,r=t.w,n=this.getElTooltip(t);n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=a,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared&&this.tConfig.onDatasetHover.highlightDataSeries&&new $e(t).toggleSeriesOnHover(a,a.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(e){var t,i,s=e.e,a=e.opt,r=this.w,n=a.elGrid.getBoundingClientRect(),l=s.type==="touchmove"?s.touches[0].clientX:s.clientX,h=s.type==="touchmove"?s.touches[0].clientY:s.clientY;if(this.clientY=h,this.clientX=l,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,hn.top+n.height)this.handleMouseOut(a);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var d=parseInt(a.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(d)<0)return void this.handleMouseOut(a)}var c=this.getElTooltip(),u=this.getElXCrosshairs(),g=[];r.config.chart.group&&(g=this.ctx.getSyncedCharts());var p=r.globals.xyCharts||r.config.chart.type==="bar"&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(s.type==="mousemove"||s.type==="touchmove"||s.type==="mouseup"){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;u!==null&&u.classList.add("apexcharts-active");var f=this.yaxisTooltips.filter(function(b){return b===!0});if(this.ycrosshairs!==null&&f.length&&this.ycrosshairs.classList.add("apexcharts-active"),p&&!this.showOnIntersect||g.length>1)this.handleStickyTooltip(s,l,h,a);else if(r.config.chart.type==="heatmap"||r.config.chart.type==="treemap"){var x=this.intersect.handleHeatTreeTooltip({e:s,opt:a,x:t,y:i,type:r.config.chart.type});t=x.x,i=x.y,c.style.left=t+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:s,opt:a}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:s,opt:a,x:t,y:i});if(this.yaxisTooltips.length)for(var m=0;mh.width)this.handleMouseOut(s);else if(l!==null)this.handleStickyCapturedSeries(e,l,s,n);else if(this.tooltipUtil.isXoverlap(n)||a.globals.isBarHorizontal){var d=a.globals.series.findIndex(function(c,u){return!a.globals.collapsedSeriesIndices.includes(u)});this.create(e,this,d,n,s.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(e,t,i,s){var a=this.w;if(!this.tConfig.shared&&a.globals.series[t][s]===null)return void this.handleMouseOut(i);if(a.globals.series[t][s]!==void 0)this.tConfig.shared&&this.tooltipUtil.isXoverlap(s)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(e,this,t,s,i.ttItems):this.create(e,this,t,s,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(s)){var r=a.globals.series.findIndex(function(n,l){return!a.globals.collapsedSeriesIndices.includes(l)});this.create(e,this,r,s,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var e=this.w,t=new W(this.ctx),i=e.globals.dom.Paper.find(".apexcharts-bar-area"),s=0;s5&&arguments[5]!==void 0?arguments[5]:null,k=this.w,M=t;e.type==="mouseup"&&this.markerClick(e,i,s),T===null&&(T=this.tConfig.shared);var O=this.tooltipUtil.hasMarkers(i),I=this.tooltipUtil.getElBars();if(k.config.legend.tooltipHoverFormatter){var F=k.config.legend.tooltipHoverFormatter,G=Array.from(this.legendLabels);G.forEach(function(Se){var Ce=Se.getAttribute("data:default-text");Se.innerHTML=decodeURIComponent(Ce)});for(var N=0;N0?M.marker.enlargePoints(s):M.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(I),this.barSeriesHeight>0)){var te=new W(this.ctx),ae=k.globals.dom.Paper.find(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,i);for(var se=0;se0&&t.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=d*k)),T&&(g=g+u.height/2-b/2-2);var O=t.globals.series[i][s]<0,I=l;switch(this.barCtx.isReversed&&(I=l+(O?c:-c)),x.position){case"center":p=T?O?I-c/2+S:I+c/2-S:O?I-c/2+u.height/2+S:I+c/2+u.height/2-S;break;case"bottom":p=T?O?I-c+S:I+c-S:O?I-c+u.height+b+S:I+c-u.height/2+b-S;break;case"top":p=T?O?I+S:I-S:O?I-u.height/2-S:I+u.height+S}if(this.barCtx.lastActiveBarSerieIndex===a&&m.enabled){var F=new W(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:a,j:s}),f.fontSize);r=O?I-F.height/2-S-m.offsetY+18:I+F.height+S+m.offsetY-18;var G=M;n=A+(t.globals.isXNumeric?-d*t.globals.barGroups.length/2:t.globals.barGroups.length*d/2-(t.globals.barGroups.length-1)*d-G)+m.offsetX}return t.config.chart.stacked||(p<0?p=0+b:p+u.height/3>t.globals.gridHeight&&(p=t.globals.gridHeight-b)),{bcx:h,bcy:l,dataLabelsX:g,dataLabelsY:p,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(e){var t=this.w,i=e.x,s=e.i,a=e.j,r=e.realIndex,n=e.bcy,l=e.barHeight,h=e.barWidth,d=e.textRects,c=e.dataLabelsX,u=e.strokeWidth,g=e.dataLabelsConfig,p=e.barDataLabelsConfig,f=e.barTotalDataLabelsConfig,x=e.offX,m=e.offY,b=t.globals.gridHeight/t.globals.dataPoints;h=Math.abs(h);var w,S,A=n-(this.barCtx.isRangeBar?0:b)+l/2+d.height/2+m-3,T="start",k=t.globals.series[s][a]<0,M=i;switch(this.barCtx.isReversed&&(M=i+(k?-h:h),T=k?"start":"end"),p.position){case"center":c=k?M+h/2-x:Math.max(d.width/2,M-h/2)+x;break;case"bottom":c=k?M+h-u-x:M-h+u+x;break;case"top":c=k?M-u-x:M-u+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var O=new W(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:a}),g.fontSize);k?(w=M-u-x-f.offsetX,T="end"):w=M+x+f.offsetX+(this.barCtx.isReversed?-(h+u):u),S=A-d.height/2+O.height/2+f.offsetY+u}return t.config.chart.stacked||(g.textAnchor==="start"?c-d.width<0?c=k?d.width+u:u:c+d.width>t.globals.gridWidth&&(c=k?t.globals.gridWidth-u:t.globals.gridWidth-d.width-u):g.textAnchor==="middle"?c-d.width/2<0?c=d.width/2+u:c+d.width/2>t.globals.gridWidth&&(c=t.globals.gridWidth-d.width/2-u):g.textAnchor==="end"&&(c<1?c=d.width+u:c+1>t.globals.gridWidth&&(c=t.globals.gridWidth-d.width-u))),{bcx:i,bcy:n,dataLabelsX:c,dataLabelsY:A,totalDataLabelsX:w,totalDataLabelsY:S,totalDataLabelsAnchor:T}}},{key:"drawCalculatedDataLabels",value:function(e){var t=e.x,i=e.y,s=e.val,a=e.i,r=e.j,n=e.textRects,l=e.barHeight,h=e.barWidth,d=e.dataLabelsConfig,c=this.w,u="rotate(0)";c.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(u="rotate(-90, ".concat(t,", ").concat(i,")"));var g=new zt(this.barCtx.ctx),p=new W(this.barCtx.ctx),f=d.formatter,x=null,m=c.globals.collapsedSeriesIndices.indexOf(a)>-1;if(d.enabled&&!m){x=p.group({class:"apexcharts-data-labels",transform:u});var b="";s!==void 0&&(b=f(s,H(H({},c),{},{seriesIndex:a,dataPointIndex:r,w:c}))),!s&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(b="");var w=c.globals.series[a][r]<0,S=c.config.plotOptions.bar.dataLabels.position;c.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(S==="top"&&(d.textAnchor=w?"end":"start"),S==="center"&&(d.textAnchor="middle"),S==="bottom"&&(d.textAnchor=w?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&hMath.abs(h)&&(b=""):n.height/1.6>Math.abs(l)&&(b=""));var A=H({},d);this.barCtx.isHorizontal&&s<0&&(d.textAnchor==="start"?A.textAnchor="end":d.textAnchor==="end"&&(A.textAnchor="start")),g.plotDataLabelsText({x:t,y:i,text:b,i:a,j:r,parent:x,dataLabelsConfig:A,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(e){var t=e.x,i=e.y,s=e.val,a=e.realIndex,r=e.textAnchor,n=e.barTotalDataLabelsConfig;this.w;var l,h=new W(this.barCtx.ctx);return n.enabled&&t!==void 0&&i!==void 0&&this.barCtx.lastActiveBarSerieIndex===a&&(l=h.drawText({x:t,y:i,foreColor:n.style.color,text:s,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),l}}]),o}(),Cn=function(){function o(e){P(this,o),this.w=e.w,this.barCtx=e}return E(o,[{key:"initVariables",value:function(e){var t=this.w;this.barCtx.series=e,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=e[i].length),t.globals.isXNumeric)for(var s=0;st.globals.minX&&t.globals.seriesX[i][s]0&&(s=h.globals.minXDiff/u),(r=s/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}String(this.barCtx.barOptions.columnWidth).indexOf("%")===-1&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e=h.globals.padHorizontal+(s-r*this.barCtx.seriesLen)/2}return h.globals.barHeight=a,h.globals.barWidth=r,{x:e,y:t,yDivision:i,xDivision:s,barHeight:a,barWidth:r,zeroH:n,zeroW:l}}},{key:"initializeStackedPrevVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].prevY=[],e[t].prevX=[],e[t].prevYF=[],e[t].prevXF=[],e[t].prevYVal=[],e[t].prevXVal=[]})}},{key:"initializeStackedXYVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].xArrj=[],e[t].xArrjF=[],e[t].xArrjVal=[],e[t].yArrj=[],e[t].yArrjF=[],e[t].yArrjVal=[]})}},{key:"getPathFillColor",value:function(e,t,i,s){var a,r,n,l,h=this.w,d=this.barCtx.ctx.fill,c=null,u=this.barCtx.barOptions.distributed?i:t;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(function(g){e[t][i]>=g.from&&e[t][i]<=g.to&&(c=g.color)}),d.fillPath({seriesNumber:this.barCtx.barOptions.distributed?u:s,dataPointIndex:i,color:c,value:e[t][i],fillConfig:(a=h.config.series[t].data[i])===null||a===void 0?void 0:a.fill,fillType:(r=h.config.series[t].data[i])!==null&&r!==void 0&&(n=r.fill)!==null&&n!==void 0&&n.type?(l=h.config.series[t].data[i])===null||l===void 0?void 0:l.fill.type:Array.isArray(h.config.fill.type)?h.config.fill.type[s]:h.config.fill.type})}},{key:"getStrokeWidth",value:function(e,t,i){var s=0,a=this.w;return this.barCtx.series[e][t]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,a.config.stroke.show&&(this.barCtx.isNullValue||(s=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),s}},{key:"createBorderRadiusArr",value:function(e){var t,i=this.w,s=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,a=e.length,r=0|((t=e[0])===null||t===void 0?void 0:t.length),n=Array.from({length:a},function(){return Array(r).fill(s?"top":"none")});if(s)return n;for(var l=0;l0?(h.push(u),c++):g<0&&(d.push(u),c++)}if(h.length>0&&d.length===0)if(h.length===1)n[h[0]][l]="both";else{var p,f=h[0],x=h[h.length-1],m=X(h);try{for(m.s();!(p=m.n()).done;){var b=p.value;n[b][l]=b===f?"bottom":b===x?"top":"none"}}catch(q){m.e(q)}finally{m.f()}}else if(d.length>0&&h.length===0)if(d.length===1)n[d[0]][l]="both";else{var w,S=Math.max.apply(Math,d),A=Math.min.apply(Math,d),T=X(d);try{for(T.s();!(w=T.n()).done;){var k=w.value;n[k][l]=k===S?"bottom":k===A?"top":"none"}}catch(q){T.e(q)}finally{T.f()}}else if(h.length>0&&d.length>0){var M,O=h[h.length-1],I=X(h);try{for(I.s();!(M=I.n()).done;){var F=M.value;n[F][l]=F===O?"top":"none"}}catch(q){I.e(q)}finally{I.f()}var G,N=Math.max.apply(Math,d),B=X(d);try{for(B.s();!(G=B.n()).done;){var U=G.value;n[U][l]=U===N?"bottom":"none"}}catch(q){B.e(q)}finally{B.f()}}else c===1&&(n[h[0]||d[0]][l]="both")}return n}},{key:"barBackground",value:function(e){var t=e.j,i=e.i,s=e.x1,a=e.x2,r=e.y1,n=e.y2,l=e.elSeries,h=this.w,d=new W(this.barCtx.ctx),c=new $e(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);var u=this.barCtx.barOptions.colors.backgroundBarColors[t],g=d.drawRect(s!==void 0?s:0,r!==void 0?r:0,a!==void 0?a:h.globals.gridWidth,n!==void 0?n:h.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,u,this.barCtx.barOptions.colors.backgroundBarOpacity);l.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(e){var t,i=e.barWidth,s=e.barXPosition,a=e.y1,r=e.y2,n=e.strokeWidth,l=e.isReversed,h=e.series,d=e.seriesGroup,c=e.realIndex,u=e.i,g=e.j,p=e.w,f=new W(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var x=i,m=s;(t=p.config.series[c].data[g])!==null&&t!==void 0&&t.columnWidthOffset&&(m=s-p.config.series[c].data[g].columnWidthOffset/2,x=i+p.config.series[c].data[g].columnWidthOffset);var b=n/2,w=m+b,S=m+x-b,A=(h[u][g]>=0?1:-1)*(l?-1:1);a+=.001-b*A,r+=.001+b*A;var T=f.move(w,a),k=f.move(w,a),M=f.line(S,a);if(p.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,g,!1)),T=T+f.line(w,r)+f.line(S,r)+M+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),k=k+f.line(w,a)+M+M+M+M+M+f.line(w,a)+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),this.arrBorderRadius[c][g]!=="none"&&(T=f.roundPathCorners(T,p.config.plotOptions.bar.borderRadius)),p.config.chart.stacked){var O=this.barCtx;(O=this.barCtx[d]).yArrj.push(r-b*A),O.yArrjF.push(Math.abs(a-r+n*A)),O.yArrjVal.push(this.barCtx.series[u][g])}return{pathTo:T,pathFrom:k}}},{key:"getBarpaths",value:function(e){var t,i=e.barYPosition,s=e.barHeight,a=e.x1,r=e.x2,n=e.strokeWidth,l=e.isReversed,h=e.series,d=e.seriesGroup,c=e.realIndex,u=e.i,g=e.j,p=e.w,f=new W(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var x=i,m=s;(t=p.config.series[c].data[g])!==null&&t!==void 0&&t.barHeightOffset&&(x=i-p.config.series[c].data[g].barHeightOffset/2,m=s+p.config.series[c].data[g].barHeightOffset);var b=n/2,w=x+b,S=x+m-b,A=(h[u][g]>=0?1:-1)*(l?-1:1);a+=.001+b*A,r+=.001-b*A;var T=f.move(a,w),k=f.move(a,w);p.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,g,!1));var M=f.line(a,S);if(T=T+f.line(r,w)+f.line(r,S)+M+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),k=k+f.line(a,w)+M+M+M+M+M+f.line(a,w)+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),this.arrBorderRadius[c][g]!=="none"&&(T=f.roundPathCorners(T,p.config.plotOptions.bar.borderRadius)),p.config.chart.stacked){var O=this.barCtx;(O=this.barCtx[d]).xArrj.push(r+b*A),O.xArrjF.push(Math.abs(a-r-n*A)),O.xArrjVal.push(this.barCtx.series[u][g])}return{pathTo:T,pathFrom:k}}},{key:"checkZeroSeries",value:function(e){for(var t=e.series,i=this.w,s=0;s2&&arguments[2]!==void 0)||arguments[2]?t:null;return e!=null&&(i=t+e/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?e/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(e,t,i){var s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3]?t:null;return e!=null&&(s=t-e/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?e/this.barCtx.yRatio[i]:0)),s}},{key:"getGoalValues",value:function(e,t,i,s,a,r){var n=this,l=this.w,h=[],d=function(g,p){var f;h.push((_(f={},e,e==="x"?n.getXForValue(g,t,!1):n.getYForValue(g,i,r,!1)),_(f,"attrs",p),f))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][a]&&Array.isArray(l.globals.seriesGoals[s][a])&&l.globals.seriesGoals[s][a].forEach(function(g){d(g.value,g)}),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var c=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,u={strokeHeight:e==="x"?0:l.globals.markers.size[s],strokeWidth:e==="x"?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(c[s])?c[s][0]:c[s]};d(l.globals.seriesRangeStart[s][a],u),d(l.globals.seriesRangeEnd[s][a],H(H({},u),{},{strokeColor:Array.isArray(c[s])?c[s][1]:c[s]}))}return h}},{key:"drawGoalLine",value:function(e){var t=e.barXPosition,i=e.barYPosition,s=e.goalX,a=e.goalY,r=e.barWidth,n=e.barHeight,l=new W(this.barCtx.ctx),h=l.group({className:"apexcharts-bar-goals-groups"});h.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:h.node}),h.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var d=null;return this.barCtx.isHorizontal?Array.isArray(s)&&s.forEach(function(c){if(c.x>=-1&&c.x<=l.w.globals.gridWidth+1){var u=c.attrs.strokeHeight!==void 0?c.attrs.strokeHeight:n/2,g=i+u+n/2;d=l.drawLine(c.x,g-2*u,c.x,g,c.attrs.strokeColor?c.attrs.strokeColor:void 0,c.attrs.strokeDashArray,c.attrs.strokeWidth?c.attrs.strokeWidth:2,c.attrs.strokeLineCap),h.add(d)}}):Array.isArray(a)&&a.forEach(function(c){if(c.y>=-1&&c.y<=l.w.globals.gridHeight+1){var u=c.attrs.strokeWidth!==void 0?c.attrs.strokeWidth:r/2,g=t+u+r/2;d=l.drawLine(g-2*u,c.y,g,c.y,c.attrs.strokeColor?c.attrs.strokeColor:void 0,c.attrs.strokeDashArray,c.attrs.strokeHeight?c.attrs.strokeHeight:2,c.attrs.strokeLineCap),h.add(d)}}),h}},{key:"drawBarShadow",value:function(e){var t=e.prevPaths,i=e.currPaths,s=e.color,a=this.w,r=t.x,n=t.x1,l=t.barYPosition,h=i.x,d=i.x1,c=i.barYPosition,u=l+i.barHeight,g=new W(this.barCtx.ctx),p=new R,f=g.move(n,u)+g.line(r,u)+g.line(h,c)+g.line(d,c)+g.line(n,u)+(a.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[realIndex][j]==="both"?" Z":" z");return g.drawPath({d:f,fill:p.shadeColor(.5,R.rgb2hex(s)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}},{key:"getZeroValueEncounters",value:function(e){var t,i=e.i,s=e.j,a=this.w,r=0,n=0;return(a.config.plotOptions.bar.horizontal?a.globals.series.map(function(l,h){return h}):((t=a.globals.columnSeries)===null||t===void 0?void 0:t.i.map(function(l){return l}))||[]).forEach(function(l){var h=a.globals.seriesPercent[l][s];h&&r++,l-1}),s=this.barCtx.columnGroupIndices,a=s.indexOf(i);return a<0&&(s.push(i),a=s.length-1),{groupIndex:i,columnGroupIndex:a}}}]),o}(),Xt=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.isRangeBar=i.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&i.globals.seriesRange.length&&i.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=t,this.xyRatios!==null&&(this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.invertedXRatio=t.invertedXRatio,this.invertedYRatio=t.invertedYRatio,this.baseLineY=t.baseLineY,this.baseLineInvertedY=t.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var s=new $e(this.ctx);this.lastActiveBarSerieIndex=s.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var a=s.getBarSeriesIndices(),r=new Pe(this.ctx);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map(function(n,l){return a.indexOf(l)===-1?l:-1}).filter(function(n){return n!==-1})),this.barHelpers=new Cn(this)}return E(o,[{key:"draw",value:function(e,t){var i=this.w,s=new W(this.ctx),a=new Pe(this.ctx,i);e=a.getLogSeries(e),this.series=e,this.yRatio=a.getLogYRatios(this.yRatio),this.barHelpers.initVariables(e);var r=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var S=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[m],this.translationsIndex=m);var T=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var k=this.barHelpers.initialPositions();p=k.y,S=k.barHeight,d=k.yDivision,u=k.zeroW,g=k.x,A=k.barWidth,h=k.xDivision,c=k.zeroH,this.isHorizontal||x.push(g+A/2);var M=s.group({class:"apexcharts-datalabels","data:realIndex":m});i.globals.delayedElements.push({el:M.node}),M.node.classList.add("apexcharts-element-hidden");var O=s.group({class:"apexcharts-bar-goals-markers"}),I=s.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:I.node}),I.node.classList.add("apexcharts-element-hidden");for(var F=0;F0){var q=this.barHelpers.drawBarShadow({color:typeof U=="string"&&(U==null?void 0:U.indexOf("url"))===-1?U:R.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:N});I.add(q),i.config.chart.dropShadow.enabled&&new Re(this.ctx).dropShadow(q,i.config.chart.dropShadow,m)}this.pathArr.push(N);var $=this.barHelpers.drawGoalLine({barXPosition:N.barXPosition,barYPosition:N.barYPosition,goalX:N.goalX,goalY:N.goalY,barHeight:S,barWidth:A});$&&O.add($),p=N.y,g=N.x,F>0&&x.push(g+A/2),f.push(p),this.renderSeries({realIndex:m,pathFill:U,j:F,i:n,columnGroupIndex:b,pathFrom:N.pathFrom,pathTo:N.pathTo,strokeWidth:G,elSeries:w,x:g,y:p,series:e,barHeight:Math.abs(N.barHeight?N.barHeight:S),barWidth:Math.abs(N.barWidth?N.barWidth:A),elDataLabelsWrap:M,elGoalsMarkers:O,elBarShadows:I,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[m]=x,i.globals.seriesYvalues[m]=f,r.add(w)}return r}},{key:"renderSeries",value:function(e){var t=e.realIndex,i=e.pathFill,s=e.lineFill,a=e.j,r=e.i,n=e.columnGroupIndex,l=e.pathFrom,h=e.pathTo,d=e.strokeWidth,c=e.elSeries,u=e.x,g=e.y,p=e.y1,f=e.y2,x=e.series,m=e.barHeight,b=e.barWidth,w=e.barXPosition,S=e.barYPosition,A=e.elDataLabelsWrap,T=e.elGoalsMarkers,k=e.elBarShadows,M=e.visibleSeries,O=e.type,I=e.classes,F=this.w,G=new W(this.ctx);if(!s){var N=typeof F.globals.stroke.colors[t]=="function"?function(ie){var te,ae=F.config.stroke.colors;return Array.isArray(ae)&&ae.length>0&&((te=ae[ie])||(te=""),typeof te=="function")?te({value:F.globals.series[ie][a],dataPointIndex:a,w:F}):te}(t):F.globals.stroke.colors[t];s=this.barOptions.distributed?F.globals.stroke.colors[a]:N}F.config.series[r].data[a]&&F.config.series[r].data[a].strokeColor&&(s=F.config.series[r].data[a].strokeColor),this.isNullValue&&(i="none");var B=a/F.config.chart.animations.animateGradually.delay*(F.config.chart.animations.speed/F.globals.dataPoints)/2.4,U=G.renderPaths({i:r,j:a,realIndex:t,pathFrom:l,pathTo:h,stroke:s,strokeWidth:d,strokeLineCap:F.config.stroke.lineCap,fill:i,animationDelay:B,initialSpeed:F.config.chart.animations.speed,dataChangeSpeed:F.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(O,"-area ").concat(I),chartType:O});U.attr("clip-path","url(#gridRectBarMask".concat(F.globals.cuid,")"));var q=F.config.forecastDataPoints;q.count>0&&a>=F.globals.dataPoints-q.count&&(U.node.setAttribute("stroke-dasharray",q.dashArray),U.node.setAttribute("stroke-width",q.strokeWidth),U.node.setAttribute("fill-opacity",q.fillOpacity)),p!==void 0&&f!==void 0&&(U.attr("data-range-y1",p),U.attr("data-range-y2",f)),new Re(this.ctx).setSelectionFilter(U,t,a),c.add(U);var $=new Sn(this).handleBarDataLabels({x:u,y:g,y1:p,y2:f,i:r,j:a,series:x,realIndex:t,columnGroupIndex:n,barHeight:m,barWidth:b,barXPosition:w,barYPosition:S,renderedPath:U,visibleSeries:M});return $.dataLabels!==null&&A.add($.dataLabels),$.totalDataLabels&&A.add($.totalDataLabels),c.add(A),T&&c.add(T),k&&c.add(k),c}},{key:"drawBarPaths",value:function(e){var t,i=e.indexes,s=e.barHeight,a=e.strokeWidth,r=e.zeroW,n=e.x,l=e.y,h=e.yDivision,d=e.elSeries,c=this.w,u=i.i,g=i.j;if(c.globals.isXNumeric)t=(l=(c.globals.seriesX[u][g]-c.globals.minX)/this.invertedXRatio-s)+s*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var p=0,f=0;c.globals.seriesPercent.forEach(function(m,b){m[g]&&p++,b0&&(s=this.seriesLen*s/p),t=l+s*this.visibleI,t-=s*f}else t=l+s*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[u][g],r)-r)/2),n=this.barHelpers.getXForValue(this.series[u][g],r);var x=this.barHelpers.getBarpaths({barYPosition:t,barHeight:s,x1:r,x2:n,strokeWidth:a,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:u,j:g,w:c});return c.globals.isXNumeric||(l+=h),this.barHelpers.barBackground({j:g,i:u,y1:t-s*this.visibleI,y2:s*this.seriesLen,elSeries:d}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x1:r,x:n,y:l,goalX:this.barHelpers.getGoalValues("x",r,null,u,g),barYPosition:t,barHeight:s}}},{key:"drawColumnPaths",value:function(e){var t,i=e.indexes,s=e.x,a=e.y,r=e.xDivision,n=e.barWidth,l=e.zeroH,h=e.strokeWidth,d=e.elSeries,c=this.w,u=i.realIndex,g=i.translationsIndex,p=i.i,f=i.j,x=i.bc;if(c.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:s,j:f,realIndex:u,barWidth:n});s=m.x,t=m.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:p,j:f}),w=b.nonZeroColumns,S=b.zeroEncounters;w>0&&(n=this.seriesLen*n/w),t=s+n*this.visibleI,t-=n*S}else t=s+n*this.visibleI;a=this.barHelpers.getYForValue(this.series[p][f],l,g);var A=this.barHelpers.getColumnPaths({barXPosition:t,barWidth:n,y1:l,y2:a,strokeWidth:h,isReversed:this.isReversed,series:this.series,realIndex:u,i:p,j:f,w:c});return c.globals.isXNumeric||(s+=r),this.barHelpers.barBackground({bc:x,j:f,i:p,x1:t-h/2-n*this.visibleI,x2:n*this.seriesLen+h/2,elSeries:d}),{pathTo:A.pathTo,pathFrom:A.pathFrom,x:s,y:a,goalY:this.barHelpers.getGoalValues("y",null,l,p,f,g),barXPosition:t,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(e){var t=e.x,i=e.barWidth,s=e.realIndex,a=e.j,r=this.w,n=s;return r.globals.seriesX[s].length||(n=r.globals.maxValsInArrayIndex),R.isNumber(r.globals.seriesX[n][a])&&(t=(r.globals.seriesX[n][a]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:t+i*this.visibleI,x:t}}},{key:"getPreviousPath",value:function(e,t){for(var i,s=this.w,a=0;a0&&parseInt(r.realIndex,10)===parseInt(e,10)&&s.globals.previousPaths[a].paths[t]!==void 0&&(i=s.globals.previousPaths[a].paths[t].d)}return i}}]),o}(),Ca=function(o){Z(t,o);var e=Y(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s){var a=this,r=this.w;this.graphics=new W(this.ctx),this.bar=new Xt(this.ctx,this.xyRatios);var n=new Pe(this.ctx,r);i=n.getLogSeries(i),this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i),r.config.chart.stackType==="100%"&&(i=r.globals.comboCharts?s.map(function(p){return r.globals.seriesPercent[p]}):r.globals.seriesPercent.slice()),this.series=i,this.barHelpers.initializeStackedPrevVars(this);for(var l=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),h=0,d=0,c=function(p,f){var x=void 0,m=void 0,b=void 0,w=void 0,S=r.globals.comboCharts?s[p]:p,A=a.barHelpers.getGroupIndex(S),T=A.groupIndex,k=A.columnGroupIndex;a.groupCtx=a[r.globals.seriesGroups[T]];var M=[],O=[],I=0;a.yRatio.length>1&&(a.yaxisIndex=r.globals.seriesYAxisReverseMap[S][0],I=S),a.isReversed=r.config.yaxis[a.yaxisIndex]&&r.config.yaxis[a.yaxisIndex].reversed;var F=a.graphics.group({class:"apexcharts-series",seriesName:R.escapeString(r.globals.seriesNames[S]),rel:p+1,"data:realIndex":S});a.ctx.series.addCollapsedClassToSeries(F,S);var G=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":S}),N=a.graphics.group({class:"apexcharts-bar-goals-markers"}),B=0,U=0,q=a.initialPositions(h,d,x,m,b,w,I);d=q.y,B=q.barHeight,m=q.yDivision,w=q.zeroW,h=q.x,U=q.barWidth,x=q.xDivision,b=q.zeroH,r.globals.barHeight=B,r.globals.barWidth=U,a.barHelpers.initializeStackedXYVars(a),a.groupCtx.prevY.length===1&&a.groupCtx.prevY[0].every(function(Oe){return isNaN(Oe)})&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map(function(){return b}),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map(function(){return 0}));for(var $=0;$0||a.barHelpers.arrBorderRadius[S][$]==="top"&&r.globals.series[S][$]<0)&&(Ce=ye),F=a.renderSeries({realIndex:S,pathFill:Se,j:$,i:p,columnGroupIndex:k,pathFrom:ae.pathFrom,pathTo:ae.pathTo,strokeWidth:ie,elSeries:F,x:h,y:d,series:i,barHeight:B,barWidth:U,elDataLabelsWrap:G,elGoalsMarkers:N,type:"bar",visibleSeries:k,classes:Ce})}r.globals.seriesXvalues[S]=M,r.globals.seriesYvalues[S]=O,a.groupCtx.prevY.push(a.groupCtx.yArrj),a.groupCtx.prevYF.push(a.groupCtx.yArrjF),a.groupCtx.prevYVal.push(a.groupCtx.yArrjVal),a.groupCtx.prevX.push(a.groupCtx.xArrj),a.groupCtx.prevXF.push(a.groupCtx.xArrjF),a.groupCtx.prevXVal.push(a.groupCtx.xArrjVal),l.add(F)},u=0,g=0;u1?c=(a=u.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:String(p).indexOf("%")===-1?c=parseInt(p,10):c*=parseInt(p,10)/100,n=this.isReversed?this.baseLineY[h]:u.globals.gridHeight-this.baseLineY[h],i=u.globals.padHorizontal+(a-c)/2}var f=u.globals.barGroups.length||1;return{x:i,y:s,yDivision:r,xDivision:a,barHeight:d/f,barWidth:c/f,zeroH:n,zeroW:l}}},{key:"drawStackedBarPaths",value:function(i){for(var s,a=i.indexes,r=i.barHeight,n=i.strokeWidth,l=i.zeroW,h=i.x,d=i.y,c=i.columnGroupIndex,u=i.seriesGroup,g=i.yDivision,p=i.elSeries,f=this.w,x=d+c*r,m=a.i,b=a.j,w=a.realIndex,S=a.translationsIndex,A=0,T=0;T0){var M=l;this.groupCtx.prevXVal[k-1][b]<0?M=this.series[m][b]>=0?this.groupCtx.prevX[k-1][b]+A-2*(this.isReversed?A:0):this.groupCtx.prevX[k-1][b]:this.groupCtx.prevXVal[k-1][b]>=0&&(M=this.series[m][b]>=0?this.groupCtx.prevX[k-1][b]:this.groupCtx.prevX[k-1][b]-A+2*(this.isReversed?A:0)),s=M}else s=l;h=this.series[m][b]===null?s:s+this.series[m][b]/this.invertedYRatio-2*(this.isReversed?this.series[m][b]/this.invertedYRatio:0);var O=this.barHelpers.getBarpaths({barYPosition:x,barHeight:r,x1:s,x2:h,strokeWidth:n,isReversed:this.isReversed,series:this.series,realIndex:a.realIndex,seriesGroup:u,i:m,j:b,w:f});return this.barHelpers.barBackground({j:b,i:m,y1:x,y2:r,elSeries:p}),d+=g,{pathTo:O.pathTo,pathFrom:O.pathFrom,goalX:this.barHelpers.getGoalValues("x",l,null,m,b,S),barXPosition:s,barYPosition:x,x:h,y:d}}},{key:"drawStackedColumnPaths",value:function(i){var s=i.indexes,a=i.x,r=i.y,n=i.xDivision,l=i.barWidth,h=i.zeroH,d=i.columnGroupIndex,c=i.seriesGroup,u=i.elSeries,g=this.w,p=s.i,f=s.j,x=s.bc,m=s.realIndex,b=s.translationsIndex;if(g.globals.isXNumeric){var w=g.globals.seriesX[m][f];w||(w=0),a=(w-g.globals.minX)/this.xRatio-l/2*g.globals.barGroups.length}for(var S,A=a+d*l,T=0,k=0;k0&&!g.globals.isXNumeric||M>0&&g.globals.isXNumeric&&g.globals.seriesX[m-1][f]===g.globals.seriesX[m][f]){var O,I,F,G=Math.min(this.yRatio.length+1,m+1);if(this.groupCtx.prevY[M-1]!==void 0&&this.groupCtx.prevY[M-1].length)for(var N=1;N=0?F-T+2*(this.isReversed?T:0):F;break}if((($=this.groupCtx.prevYVal[M-U])===null||$===void 0?void 0:$[f])>=0){I=this.series[p][f]>=0?F:F+T-2*(this.isReversed?T:0);break}}I===void 0&&(I=g.globals.gridHeight),S=(O=this.groupCtx.prevYF[0])!==null&&O!==void 0&&O.every(function(te){return te===0})&&this.groupCtx.prevYF.slice(1,M).every(function(te){return te.every(function(ae){return isNaN(ae)})})?h:I}else S=h;r=this.series[p][f]?S-this.series[p][f]/this.yRatio[b]+2*(this.isReversed?this.series[p][f]/this.yRatio[b]:0):S;var ie=this.barHelpers.getColumnPaths({barXPosition:A,barWidth:l,y1:S,y2:r,yRatio:this.yRatio[b],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:c,realIndex:s.realIndex,i:p,j:f,w:g});return this.barHelpers.barBackground({bc:x,j:f,i:p,x1:A,x2:l,elSeries:u}),{pathTo:ie.pathTo,pathFrom:ie.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,h,p,f),barXPosition:A,x:g.globals.isXNumeric?a:a+n,y:r}}}]),t}(Xt),cs=function(o){Z(t,o);var e=Y(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s,a){var r=this,n=this.w,l=new W(this.ctx),h=n.globals.comboCharts?s:n.config.chart.type,d=new et(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=n.config.plotOptions.bar.horizontal;var c=new Pe(this.ctx,n);i=c.getLogSeries(i),this.series=i,this.yRatio=c.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i);for(var u=l.group({class:"apexcharts-".concat(h,"-series apexcharts-plot-series")}),g=function(f){r.isBoxPlot=n.config.chart.type==="boxPlot"||n.config.series[f].type==="boxPlot";var x,m,b,w,S=void 0,A=void 0,T=[],k=[],M=n.globals.comboCharts?a[f]:f,O=r.barHelpers.getGroupIndex(M).columnGroupIndex,I=l.group({class:"apexcharts-series",seriesName:R.escapeString(n.globals.seriesNames[M]),rel:f+1,"data:realIndex":M});r.ctx.series.addCollapsedClassToSeries(I,M),i[f].length>0&&(r.visibleI=r.visibleI+1);var F,G,N=0;r.yRatio.length>1&&(r.yaxisIndex=n.globals.seriesYAxisReverseMap[M][0],N=M);var B=r.barHelpers.initialPositions();A=B.y,F=B.barHeight,m=B.yDivision,w=B.zeroW,S=B.x,G=B.barWidth,x=B.xDivision,b=B.zeroH,k.push(S+G/2);for(var U=l.group({class:"apexcharts-datalabels","data:realIndex":M}),q=l.group({class:"apexcharts-bar-goals-markers"}),$=function(te){var ae=r.barHelpers.getStrokeWidth(f,te,M),se=null,Se={indexes:{i:f,j:te,realIndex:M,translationsIndex:N},x:S,y:A,strokeWidth:ae,elSeries:I};se=r.isHorizontal?r.drawHorizontalBoxPaths(H(H({},Se),{},{yDivision:m,barHeight:F,zeroW:w})):r.drawVerticalBoxPaths(H(H({},Se),{},{xDivision:x,barWidth:G,zeroH:b})),A=se.y,S=se.x;var Ce=r.barHelpers.drawGoalLine({barXPosition:se.barXPosition,barYPosition:se.barYPosition,goalX:se.goalX,goalY:se.goalY,barHeight:F,barWidth:G});Ce&&q.add(Ce),te>0&&k.push(S+G/2),T.push(A),se.pathTo.forEach(function(ye,Oe){var ge=!r.isBoxPlot&&r.candlestickOptions.wick.useFillColor?se.color[Oe]:n.globals.stroke.colors[f],ue=d.fillPath({seriesNumber:M,dataPointIndex:te,color:se.color[Oe],value:i[f][te]});r.renderSeries({realIndex:M,pathFill:ue,lineFill:ge,j:te,i:f,pathFrom:se.pathFrom,pathTo:ye,strokeWidth:ae,elSeries:I,x:S,y:A,series:i,columnGroupIndex:O,barHeight:F,barWidth:G,elDataLabelsWrap:U,elGoalsMarkers:q,visibleSeries:r.visibleI,type:n.config.chart.type})})},ie=0;ieS.c&&(p=!1);var k=Math.min(S.o,S.c),M=Math.max(S.o,S.c),O=S.m;d.globals.isXNumeric&&(a=(d.globals.seriesX[w][g]-d.globals.minX)/this.xRatio-n/2);var I=a+n*this.visibleI;this.series[u][g]===void 0||this.series[u][g]===null?(k=l,M=l):(k=l-k/b,M=l-M/b,A=l-S.h/b,T=l-S.l/b,O=l-S.m/b);var F=c.move(I,l),G=c.move(I+n/2,k);return d.globals.previousPaths.length>0&&(G=this.getPreviousPath(w,g,!0)),F=this.isBoxPlot?[c.move(I,k)+c.line(I+n/2,k)+c.line(I+n/2,A)+c.line(I+n/4,A)+c.line(I+n-n/4,A)+c.line(I+n/2,A)+c.line(I+n/2,k)+c.line(I+n,k)+c.line(I+n,O)+c.line(I,O)+c.line(I,k+h/2),c.move(I,O)+c.line(I+n,O)+c.line(I+n,M)+c.line(I+n/2,M)+c.line(I+n/2,T)+c.line(I+n-n/4,T)+c.line(I+n/4,T)+c.line(I+n/2,T)+c.line(I+n/2,M)+c.line(I,M)+c.line(I,O)+"z"]:[c.move(I,M)+c.line(I+n/2,M)+c.line(I+n/2,A)+c.line(I+n/2,M)+c.line(I+n,M)+c.line(I+n,k)+c.line(I+n/2,k)+c.line(I+n/2,T)+c.line(I+n/2,k)+c.line(I,k)+c.line(I,M-h/2)],G+=c.move(I,k),d.globals.isXNumeric||(a+=r),{pathTo:F,pathFrom:G,x:a,y:M,goalY:this.barHelpers.getGoalValues("y",null,l,u,g,s.translationsIndex),barXPosition:I,color:this.isBoxPlot?m:p?[f]:[x]}}},{key:"drawHorizontalBoxPaths",value:function(i){var s=i.indexes;i.x;var a=i.y,r=i.yDivision,n=i.barHeight,l=i.zeroW,h=i.strokeWidth,d=this.w,c=new W(this.ctx),u=s.i,g=s.j,p=this.boxOptions.colors.lower;this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var f=this.invertedYRatio,x=s.realIndex,m=this.getOHLCValue(x,g),b=l,w=l,S=Math.min(m.o,m.c),A=Math.max(m.o,m.c),T=m.m;d.globals.isXNumeric&&(a=(d.globals.seriesX[x][g]-d.globals.minX)/this.invertedXRatio-n/2);var k=a+n*this.visibleI;this.series[u][g]===void 0||this.series[u][g]===null?(S=l,A=l):(S=l+S/f,A=l+A/f,b=l+m.h/f,w=l+m.l/f,T=l+m.m/f);var M=c.move(l,k),O=c.move(S,k+n/2);return d.globals.previousPaths.length>0&&(O=this.getPreviousPath(x,g,!0)),M=[c.move(S,k)+c.line(S,k+n/2)+c.line(b,k+n/2)+c.line(b,k+n/2-n/4)+c.line(b,k+n/2+n/4)+c.line(b,k+n/2)+c.line(S,k+n/2)+c.line(S,k+n)+c.line(T,k+n)+c.line(T,k)+c.line(S+h/2,k),c.move(T,k)+c.line(T,k+n)+c.line(A,k+n)+c.line(A,k+n/2)+c.line(w,k+n/2)+c.line(w,k+n-n/4)+c.line(w,k+n/4)+c.line(w,k+n/2)+c.line(A,k+n/2)+c.line(A,k)+c.line(T,k)+"z"],O+=c.move(S,k),d.globals.isXNumeric||(a+=r),{pathTo:M,pathFrom:O,x:A,y:a,goalX:this.barHelpers.getGoalValues("x",l,null,u,g),barYPosition:k,color:p}}},{key:"getOHLCValue",value:function(i,s){var a=this.w;return{o:this.isBoxPlot?a.globals.seriesCandleH[i][s]:a.globals.seriesCandleO[i][s],h:this.isBoxPlot?a.globals.seriesCandleO[i][s]:a.globals.seriesCandleH[i][s],m:a.globals.seriesCandleM[i][s],l:this.isBoxPlot?a.globals.seriesCandleC[i][s]:a.globals.seriesCandleL[i][s],c:this.isBoxPlot?a.globals.seriesCandleL[i][s]:a.globals.seriesCandleC[i][s]}}}]),t}(Xt),La=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"checkColorRange",value:function(){var e=this.w,t=!1,i=e.config.plotOptions[e.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map(function(s,a){s.from<=0&&(t=!0)}),t}},{key:"getShadeColor",value:function(e,t,i,s){var a=this.w,r=1,n=a.config.plotOptions[e].shadeIntensity,l=this.determineColor(e,t,i);a.globals.hasNegs||s?r=a.config.plotOptions[e].reverseNegativeShade?l.percent<0?l.percent/100*(1.25*n):(1-l.percent/100)*(1.25*n):l.percent<=0?1-(1+l.percent/100)*n:(1-l.percent/100)*n:(r=1-l.percent/100,e==="treemap"&&(r=(1-l.percent/100)*(1.25*n)));var h=l.color,d=new R;if(a.config.plotOptions[e].enableShades)if(this.w.config.theme.mode==="dark"){var c=d.shadeColor(-1*r,l.color);h=R.hexToRgba(R.isColorHex(c)?c:R.rgb2hex(c),a.config.fill.opacity)}else{var u=d.shadeColor(r,l.color);h=R.hexToRgba(R.isColorHex(u)?u:R.rgb2hex(u),a.config.fill.opacity)}return{color:h,colorProps:l}}},{key:"determineColor",value:function(e,t,i){var s=this.w,a=s.globals.series[t][i],r=s.config.plotOptions[e],n=r.colorScale.inverse?i:t;r.distributed&&s.config.chart.type==="treemap"&&(n=i);var l=s.globals.colors[n],h=null,d=Math.min.apply(Math,he(s.globals.series[t])),c=Math.max.apply(Math,he(s.globals.series[t]));r.distributed||e!=="heatmap"||(d=s.globals.minY,c=s.globals.maxY),r.colorScale.min!==void 0&&(d=r.colorScale.mins.globals.maxY?r.colorScale.max:s.globals.maxY);var u=Math.abs(c)+Math.abs(d),g=100*a/(u===0?u-1e-6:u);return r.colorScale.ranges.length>0&&r.colorScale.ranges.map(function(p,f){if(a>=p.from&&a<=p.to){l=p.color,h=p.foreColor?p.foreColor:null,d=p.from,c=p.to;var x=Math.abs(c)+Math.abs(d);g=100*a/(x===0?x-1e-6:x)}}),{color:l,foreColor:h,percent:g}}},{key:"calculateDataLabels",value:function(e){var t=e.text,i=e.x,s=e.y,a=e.i,r=e.j,n=e.colorProps,l=e.fontSize,h=this.w.config.dataLabels,d=new W(this.ctx),c=new zt(this.ctx),u=null;if(h.enabled){u=d.group({class:"apexcharts-data-labels"});var g=h.offsetX,p=h.offsetY,f=i+g,x=s+parseFloat(h.style.fontSize)/3+p;c.plotDataLabelsText({x:f,y:x,text:t,i:a,j:r,color:n.foreColor,parent:u,fontSize:l,dataLabelsConfig:h})}return u}},{key:"addListeners",value:function(e){var t=new W(this.ctx);e.node.addEventListener("mouseenter",t.pathMouseEnter.bind(this,e)),e.node.addEventListener("mouseleave",t.pathMouseLeave.bind(this,e)),e.node.addEventListener("mousedown",t.pathMouseDown.bind(this,e))}}]),o}(),Ln=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w,this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new La(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return E(o,[{key:"draw",value:function(e){var t=this.w,i=new W(this.ctx),s=i.group({class:"apexcharts-heatmap"});s.attr("clip-path","url(#gridRectMask".concat(t.globals.cuid,")"));var a=t.globals.gridWidth/t.globals.dataPoints,r=t.globals.gridHeight/t.globals.series.length,n=0,l=!1;this.negRange=this.helpers.checkColorRange();var h=e.slice();t.config.yaxis[0].reversed&&(l=!0,h.reverse());for(var d=l?0:h.length-1;l?d=0;l?d++:d--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:R.escapeString(t.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});if(this.ctx.series.addCollapsedClassToSeries(c,d),t.config.chart.dropShadow.enabled){var u=t.config.chart.dropShadow;new Re(this.ctx).dropShadow(c,u,d)}for(var g=0,p=t.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(u),i.config.dataLabels.enabled){var A=w.x,T=w.y,k=100*p/this.fullAngle+"%";if(p!==0&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?t.endAngle=t.endAngle-(s+n):s+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(d=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(d)>this.fullAngle&&(d-=this.fullAngle);var c=Math.PI*(d-90)/180,u=i.centerX+r*Math.cos(h),g=i.centerY+r*Math.sin(h),p=i.centerX+r*Math.cos(c),f=i.centerY+r*Math.sin(c),x=R.polarToCartesian(i.centerX,i.centerY,i.donutSize,d),m=R.polarToCartesian(i.centerX,i.centerY,i.donutSize,l),b=a>180?1:0,w=["M",u,g,"A",r,r,0,b,1,p,f];return t=i.chartType==="donut"?[].concat(w,["L",x.x,x.y,"A",i.donutSize,i.donutSize,0,b,0,m.x,m.y,"L",u,g,"z"]).join(" "):i.chartType==="pie"||i.chartType==="polarArea"?[].concat(w,["L",i.centerX,i.centerY,"L",u,g]).join(" "):[].concat(w).join(" "),n.roundPathCorners(t,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(e){var t=this.w,i=new va(this.ctx),s=new W(this.ctx),a=new Ma(this.ctx),r=s.group(),n=s.group(),l=i.niceScale(0,Math.ceil(this.maxY),0),h=l.result.reverse(),d=l.result.length;this.maxY=l.niceMax;for(var c=t.globals.radialSize,u=c/(d-1),g=0;g1&&e.total.show&&(a=e.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),l=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,e.value.formatter)(i,r),s||typeof e.total.formatter!="function"||(i=e.total.formatter(r));var h=t===e.total.label;t=this.donutDataLabels.total.label?e.name.formatter(t,h,r):"",n!==null&&(n.textContent=t),l!==null&&(l.textContent=i),n!==null&&(n.style.fill=a)}},{key:"printDataLabelsInner",value:function(e,t){var i=this.w,s=e.getAttribute("data:value"),a=i.globals.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(t,a,s,e);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");r!==null&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(e){var t=this,i=this.w,s=new W(this.ctx),a=i.config.plotOptions.polarArea.spokes;if(a.strokeWidth!==0){for(var r=[],n=360/i.globals.series.length,l=0;l0&&(T=t.getPreviousPath(m));for(var k=0;k=10?e.x>0?(i="start",s+=10):e.x<0&&(i="end",s-=10):i="middle",Math.abs(e.y)>=t-10&&(e.y<0?a-=10:e.y>0&&(a+=10)),{textAnchor:i,newX:s,newY:a}}},{key:"getPreviousPath",value:function(e){for(var t=this.w,i=null,s=0;s0&&parseInt(a.realIndex,10)===parseInt(e,10)&&t.globals.previousPaths[s].paths[0]!==void 0&&(i=t.globals.previousPaths[s].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.dataPointsLen;e=e||[],t=t||[];for(var s=[],a=0;a=360&&(f=360-Math.abs(this.startAngle)-.1);var x=a.drawPath({d:"",stroke:g,strokeWidth:h*parseInt(u.strokeWidth,10)/100,fill:"none",strokeOpacity:u.opacity,classes:"apexcharts-radialbar-area"});if(u.dropShadow.enabled){var m=u.dropShadow;n.dropShadow(x,m)}c.add(x),x.attr("id","apexcharts-radialbarTrack-"+d),this.animatePaths(x,{centerX:i.centerX,centerY:i.centerY,endAngle:f,startAngle:p,size:i.size,i:d,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return r}},{key:"drawArcs",value:function(i){var s=this.w,a=new W(this.ctx),r=new et(this.ctx),n=new Re(this.ctx),l=a.group(),h=this.getStrokeWidth(i);i.size=i.size-h/2;var d=s.config.plotOptions.radialBar.hollow.background,c=i.size-h*i.series.length-this.margin*i.series.length-h*parseInt(s.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,u=c-s.config.plotOptions.radialBar.hollow.margin;s.config.plotOptions.radialBar.hollow.image!==void 0&&(d=this.drawHollowImage(i,l,c,d));var g=this.drawHollow({size:u,centerX:i.centerX,centerY:i.centerY,fill:d||"transparent"});if(s.config.plotOptions.radialBar.hollow.dropShadow.enabled){var p=s.config.plotOptions.radialBar.hollow.dropShadow;n.dropShadow(g,p)}var f=1;!this.radialDataLabels.total.show&&s.globals.series.length>1&&(f=0);var x=null;if(this.radialDataLabels.show){var m=s.globals.dom.Paper.findOne(".apexcharts-datalabels-group");x=this.renderInnerDataLabels(m,this.radialDataLabels,{hollowSize:c,centerX:i.centerX,centerY:i.centerY,opacity:f})}s.config.plotOptions.radialBar.hollow.position==="back"&&(l.add(g),x&&l.add(x));var b=!1;s.config.plotOptions.radialBar.inverseOrder&&(b=!0);for(var w=b?i.series.length-1:0;b?w>=0:w100?100:i.series[w])/100,O=Math.round(this.totalAngle*M)+this.startAngle,I=void 0;s.globals.dataChanged&&(k=this.startAngle,I=Math.round(this.totalAngle*R.negToZero(s.globals.previousPaths[w])/100)+k),Math.abs(O)+Math.abs(T)>360&&(O-=.01),Math.abs(I)+Math.abs(k)>360&&(I-=.01);var F=O-T,G=Array.isArray(s.config.stroke.dashArray)?s.config.stroke.dashArray[w]:s.config.stroke.dashArray,N=a.drawPath({d:"",stroke:A,strokeWidth:h,fill:"none",fillOpacity:s.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+w,strokeDashArray:G});if(W.setAttrs(N.node,{"data:angle":F,"data:value":i.series[w]}),s.config.chart.dropShadow.enabled){var B=s.config.chart.dropShadow;n.dropShadow(N,B,w)}if(n.setSelectionFilter(N,0,w),this.addListeners(N,this.radialDataLabels),S.add(N),N.attr({index:0,j:w}),this.barLabels.enabled){var U=R.polarToCartesian(i.centerX,i.centerY,i.size,T),q=this.barLabels.formatter(s.globals.seriesNames[w],{seriesIndex:w,w:s}),$=["apexcharts-radialbar-label"];this.barLabels.onClick||$.push("apexcharts-no-click");var ie=this.barLabels.useSeriesColors?s.globals.colors[w]:s.config.chart.foreColor;ie||(ie=s.config.chart.foreColor);var te=U.x+this.barLabels.offsetX,ae=U.y+this.barLabels.offsetY,se=a.drawText({x:te,y:ae,text:q,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:ie,cssClass:$.join(" ")});se.on("click",this.onBarLabelClick),se.attr({rel:w+1}),T!==0&&se.attr({"transform-origin":"".concat(te," ").concat(ae),transform:"rotate(".concat(T," 0 0)")}),S.add(se)}var Se=0;!this.initialAnim||s.globals.resized||s.globals.dataChanged||(Se=s.config.chart.animations.speed),s.globals.dataChanged&&(Se=s.config.chart.animations.dynamicAnimation.speed),this.animDur=Se/(1.2*i.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(N,{centerX:i.centerX,centerY:i.centerY,endAngle:O,startAngle:T,prevEndAngle:I,prevStartAngle:k,size:i.size,i:w,totalItems:2,animBeginArr:this.animBeginArr,dur:Se,shouldSetPrevPaths:!0})}return{g:l,elHollow:g,dataLabels:x}}},{key:"drawHollow",value:function(i){var s=new W(this.ctx).drawCircle(2*i.size);return s.attr({class:"apexcharts-radialbar-hollow",cx:i.centerX,cy:i.centerY,r:i.size,fill:i.fill}),s}},{key:"drawHollowImage",value:function(i,s,a,r){var n=this.w,l=new et(this.ctx),h=R.randomId(),d=n.config.plotOptions.radialBar.hollow.image;if(n.config.plotOptions.radialBar.hollow.imageClipped)l.clippedImgArea({width:a,height:a,image:d,patternID:"pattern".concat(n.globals.cuid).concat(h)}),r="url(#pattern".concat(n.globals.cuid).concat(h,")");else{var c=n.config.plotOptions.radialBar.hollow.imageWidth,u=n.config.plotOptions.radialBar.hollow.imageHeight;if(c===void 0&&u===void 0){var g=n.globals.dom.Paper.image(d,function(f){this.move(i.centerX-f.width/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-f.height/2+n.config.plotOptions.radialBar.hollow.imageOffsetY)});s.add(g)}else{var p=n.globals.dom.Paper.image(d,function(f){this.move(i.centerX-c/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-u/2+n.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(c,u)});s.add(p)}}return r}},{key:"getStrokeWidth",value:function(i){var s=this.w;return i.size*(100-parseInt(s.config.plotOptions.radialBar.hollow.size,10))/100/(i.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(i){var s=parseInt(i.target.getAttribute("rel"),10)-1,a=this.barLabels.onClick,r=this.w;a&&a(r.globals.seriesNames[s],{w:r,seriesIndex:s})}}]),t}(Pa),Tn=function(o){Z(t,o);var e=Y(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s){var a=this.w,r=new W(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=i,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(i);for(var n=r.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),l=0;l0&&(this.visibleI=this.visibleI+1);var b=0,w=0,S=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[f][0],S=f);var A=this.barHelpers.initialPositions();p=A.y,u=A.zeroW,g=A.x,w=A.barWidth,b=A.barHeight,h=A.xDivision,d=A.yDivision,c=A.zeroH;for(var T=r.group({class:"apexcharts-datalabels","data:realIndex":f}),k=r.group({class:"apexcharts-rangebar-goals-markers"}),M=0;M0});return this.isHorizontal?(r=f.config.plotOptions.bar.rangeBarGroupRows?l+u*S:l+d*this.visibleI+u*S,A>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(x=f.globals.seriesRange[s][A].overlaps).indexOf(m)>-1&&(r=(d=p.barHeight/x.length)*this.visibleI+u*(100-parseInt(this.barOptions.barHeight,10))/100/2+d*(this.visibleI+x.indexOf(m))+u*S)):(S>-1&&!f.globals.timescaleLabels.length&&(n=f.config.plotOptions.bar.rangeBarGroupRows?h+g*S:h+c*this.visibleI+g*S),A>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(x=f.globals.seriesRange[s][A].overlaps).indexOf(m)>-1&&(n=(c=p.barWidth/x.length)*this.visibleI+g*(100-parseInt(this.barOptions.barWidth,10))/100/2+c*(this.visibleI+x.indexOf(m))+g*S)),{barYPosition:r,barXPosition:n,barHeight:d,barWidth:c}}},{key:"drawRangeColumnPaths",value:function(i){var s=i.indexes,a=i.x,r=i.xDivision,n=i.barWidth,l=i.barXPosition,h=i.zeroH,d=this.w,c=s.i,u=s.j,g=s.realIndex,p=s.translationsIndex,f=this.yRatio[p],x=this.getRangeValue(g,u),m=Math.min(x.start,x.end),b=Math.max(x.start,x.end);this.series[c][u]===void 0||this.series[c][u]===null?m=h:(m=h-m/f,b=h-b/f);var w=Math.abs(b-m),S=this.barHelpers.getColumnPaths({barXPosition:l,barWidth:n,y1:m,y2:b,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:g,i:g,j:u,w:d});if(d.globals.isXNumeric){var A=this.getBarXForNumericXAxis({x:a,j:u,realIndex:g,barWidth:n});a=A.x,l=A.barXPosition}else a+=r;return{pathTo:S.pathTo,pathFrom:S.pathFrom,barHeight:w,x:a,y:x.start<0&&x.end<0?m:b,goalY:this.barHelpers.getGoalValues("y",null,h,c,u,p),barXPosition:l}}},{key:"preventBarOverflow",value:function(i){var s=this.w;return i<0&&(i=0),i>s.globals.gridWidth&&(i=s.globals.gridWidth),i}},{key:"drawRangeBarPaths",value:function(i){var s=i.indexes,a=i.y,r=i.y1,n=i.y2,l=i.yDivision,h=i.barHeight,d=i.barYPosition,c=i.zeroW,u=this.w,g=s.realIndex,p=s.j,f=this.preventBarOverflow(c+r/this.invertedYRatio),x=this.preventBarOverflow(c+n/this.invertedYRatio),m=this.getRangeValue(g,p),b=Math.abs(x-f),w=this.barHelpers.getBarpaths({barYPosition:d,barHeight:h,x1:f,x2:x,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:g,realIndex:g,j:p,w:u});return u.globals.isXNumeric||(a+=l),{pathTo:w.pathTo,pathFrom:w.pathFrom,barWidth:b,x:m.start<0&&m.end<0?f:x,goalX:this.barHelpers.getGoalValues("x",c,null,g,p),y:a}}},{key:"getRangeValue",value:function(i,s){var a=this.w;return{start:a.globals.seriesRangeStart[i][s],end:a.globals.seriesRangeEnd[i][s]}}}]),t}(Xt),En=function(){function o(e){P(this,o),this.w=e.w,this.lineCtx=e}return E(o,[{key:"sameValueSeriesFix",value:function(e,t){var i=this.w;if((i.config.fill.type==="gradient"||i.config.fill.type[e]==="gradient")&&new Pe(this.lineCtx.ctx,i).seriesHaveSameValues(e)){var s=t[e].slice();s[s.length-1]=s[s.length-1]+1e-6,t[e]=s}return t}},{key:"calculatePoints",value:function(e){var t=e.series,i=e.realIndex,s=e.x,a=e.y,r=e.i,n=e.j,l=e.prevY,h=this.w,d=[],c=[];if(n===0){var u=this.lineCtx.categoryAxisCorrection+h.config.markers.offsetX;h.globals.isXNumeric&&(u=(h.globals.seriesX[i][0]-h.globals.minX)/this.lineCtx.xRatio+h.config.markers.offsetX),d.push(u),c.push(R.isNumber(t[r][0])?l+h.config.markers.offsetY:null),d.push(s+h.config.markers.offsetX),c.push(R.isNumber(t[r][n+1])?a+h.config.markers.offsetY:null)}else d.push(s+h.config.markers.offsetX),c.push(R.isNumber(t[r][n+1])?a+h.config.markers.offsetY:null);return{x:d,y:c}}},{key:"checkPreviousPaths",value:function(e){for(var t=e.pathFromLine,i=e.pathFromArea,s=e.realIndex,a=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(s,10)&&(n.type==="line"?(this.lineCtx.appendPathFrom=!1,t=a.globals.previousPaths[r].paths[0].d):n.type==="area"&&(this.lineCtx.appendPathFrom=!1,i=a.globals.previousPaths[r].paths[0].d,a.config.stroke.show&&a.globals.previousPaths[r].paths[1]&&(t=a.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:t,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(e){var t,i,s,a=e.i,r=e.realIndex,n=e.series,l=e.prevY,h=e.lineYPosition,d=e.translationsIndex,c=this.w,u=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[r])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[r])===null||i===void 0?void 0:i.type)==="column");if(((s=n[a])===null||s===void 0?void 0:s[0])!==void 0)l=(h=u&&a>0?this.lineCtx.prevSeriesY[a-1][0]:this.lineCtx.zeroY)-n[a][0]/this.lineCtx.yRatio[d]+2*(this.lineCtx.isReversed?n[a][0]/this.lineCtx.yRatio[d]:0);else if(u&&a>0&&n[a][0]===void 0){for(var g=a-1;g>=0;g--)if(n[g][0]!==null&&n[g][0]!==void 0){l=h=this.lineCtx.prevSeriesY[g][0];break}}return{prevY:l,lineYPosition:h}}}]),o}(),Rn=function(o){for(var e,t,i,s,a=function(d){for(var c=[],u=d[0],g=d[1],p=c[0]=ds(u,g),f=1,x=d.length-1;f9&&(s=3*i/Math.sqrt(s),a[l]=s*e,a[l+1]=s*t);for(var h=0;h<=r;h++)s=(o[Math.min(r,h+1)][0]-o[Math.max(0,h-1)][0])/(6*(1+a[h]*a[h])),n.push([s||0,a[h]*s||0]);return n},In=function(o){var e=Rn(o),t=o[1],i=o[0],s=[],a=e[1],r=e[0];s.push(i,[i[0]+r[0],i[1]+r[1],t[0]-a[0],t[1]-a[1],t[0],t[1]]);for(var n=2,l=e.length;n1&&i[1].length<6){var s=i[0].length;i[1]=[2*i[0][s-2]-i[0][s-4],2*i[0][s-1]-i[0][s-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i};function ds(o,e){return(e[1]-o[1])/(e[0]-o[0])}var us=function(){function o(e,t,i){P(this,o),this.ctx=e,this.w=e.w,this.xyRatios=t,this.pointsChart=!(this.w.config.chart.type!=="bubble"&&this.w.config.chart.type!=="scatter")||i,this.scatter=new ma(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new En(this),this.markers=new Ot(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return E(o,[{key:"draw",value:function(e,t,i,s){var a,r=this.w,n=new W(this.ctx),l=r.globals.comboCharts?t:r.config.chart.type,h=n.group({class:"apexcharts-".concat(l,"-series apexcharts-plot-series")}),d=new Pe(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=d.getLogSeries(e),this.yRatio=d.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],u=0;u1?g:0;this._initSerieVariables(e,u,g);var f=[],x=[],m=[],b=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(b=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),m.push(b);var w,S=b,A=void 0,T=S,k=this.zeroY,M=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:u,realIndex:g,series:e,prevY:k,lineYPosition:0,translationsIndex:p}).prevY,r.config.stroke.curve==="monotoneCubic"&&e[u][0]===null?f.push(null):f.push(k),w=k,l==="rangeArea"&&(A=M=this.lineHelpers.determineFirstPrevY({i:u,realIndex:g,series:s,prevY:M,lineYPosition:0,translationsIndex:p}).prevY,x.push(f[0]!==null?M:null));var O=this._calculatePathsFrom({type:l,series:e,i:u,realIndex:g,translationsIndex:p,prevX:T,prevY:k,prevY2:M}),I=[f[0]],F=[x[0]],G={type:l,series:e,realIndex:g,translationsIndex:p,i:u,x:b,y:1,pX:S,pY:w,pathsFrom:O,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:m,yArrj:f,y2Arrj:x,seriesRangeEnd:s},N=this._iterateOverDataPoints(H(H({},G),{},{iterations:l==="rangeArea"?e[u].length-1:void 0,isRangeStart:!0}));if(l==="rangeArea"){for(var B=this._calculatePathsFrom({series:s,i:u,realIndex:g,prevX:T,prevY:M}),U=this._iterateOverDataPoints(H(H({},G),{},{series:s,xArrj:[b],yArrj:I,y2Arrj:F,pY:A,areaPaths:N.areaPaths,pathsFrom:B,iterations:s[u].length-1,isRangeStart:!1})),q=N.linePaths.length/2,$=0;$=0;ie--)h.add(c[ie]);else for(var te=0;te1&&(this.yaxisIndex=s.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=s.config.yaxis[this.yaxisIndex]&&s.config.yaxis[this.yaxisIndex].reversed,this.zeroY=s.globals.gridHeight-this.baseLineY[r]-(this.isReversed?s.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>s.globals.gridHeight||s.config.plotOptions.area.fillTo==="end")&&(this.areaBottomY=s.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=a.group({class:"apexcharts-series",zIndex:s.config.series[i].zIndex!==void 0?s.config.series[i].zIndex:i,seriesName:R.escapeString(s.globals.seriesNames[i])}),this.elPointsMain=a.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=a.group({class:"apexcharts-datalabels","data:realIndex":i});var n=e[t].length===s.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:t+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(e){var t,i,s,a,r=e.type,n=e.series,l=e.i,h=e.realIndex,d=e.translationsIndex,c=e.prevX,u=e.prevY,g=e.prevY2,p=this.w,f=new W(this.ctx);if(n[l][0]===null){for(var x=0;x0){var m=this.lineHelpers.checkPreviousPaths({pathFromLine:s,pathFromArea:a,realIndex:h});s=m.pathFromLine,a=m.pathFromArea}return{prevX:c,prevY:u,linePath:t,areaPath:i,pathFromLine:s,pathFromArea:a}}},{key:"_handlePaths",value:function(e){var t=e.type,i=e.realIndex,s=e.i,a=e.paths,r=this.w,n=new W(this.ctx),l=new et(this.ctx);this.prevSeriesY.push(a.yArrj),r.globals.seriesXvalues[i]=a.xArrj,r.globals.seriesYvalues[i]=a.yArrj;var h=r.config.forecastDataPoints;if(h.count>0&&t!=="rangeArea"){var d=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-h.count-1],c=n.drawRect(d,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var u=n.drawRect(0,0,d,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(u.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:s,realIndex:i,animationDelay:s,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(t)};if(t==="area")for(var p=l.fillPath({seriesNumber:i}),f=0;f0&&t!=="rangeArea"){var k=n.renderPaths(A);k.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&k.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(k),k.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),T.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(e){var t,i,s=this,a=e.type,r=e.series,n=e.iterations,l=e.realIndex,h=e.translationsIndex,d=e.i,c=e.x,u=e.y,g=e.pX,p=e.pY,f=e.pathsFrom,x=e.linePaths,m=e.areaPaths,b=e.seriesIndex,w=e.lineYPosition,S=e.xArrj,A=e.yArrj,T=e.y2Arrj,k=e.isRangeStart,M=e.seriesRangeEnd,O=this.w,I=new W(this.ctx),F=this.yRatio,G=f.prevY,N=f.linePath,B=f.areaPath,U=f.pathFromLine,q=f.pathFromArea,$=R.isNumber(O.globals.minYArr[l])?O.globals.minYArr[l]:O.globals.minY;n||(n=O.globals.dataPoints>1?O.globals.dataPoints-1:O.globals.dataPoints);var ie=function(ze,Xe){return Xe-ze/F[h]+2*(s.isReversed?ze/F[h]:0)},te=u,ae=O.config.chart.stacked&&!O.globals.comboCharts||O.config.chart.stacked&&O.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[l])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[l])===null||i===void 0?void 0:i.type)==="column"),se=O.config.stroke.curve;Array.isArray(se)&&(se=Array.isArray(b)?se[b[d]]:se[d]);for(var Se,Ce=0,ye=0;ye0&&O.globals.collapsedSeries.length0;Xe--){if(!(O.globals.collapsedSeriesIndices.indexOf((b==null?void 0:b[Xe])||Xe)>-1))return Xe;Xe--}return 0}(d-1)][ye+1]:w=this.zeroY:w=this.zeroY,Oe?u=ie($,w):(u=ie(r[d][ye+1],w),a==="rangeArea"&&(te=ie(M[d][ye+1],w))),S.push(c),!Oe||O.config.stroke.curve!=="smooth"&&O.config.stroke.curve!=="monotoneCubic"?(A.push(u),T.push(te)):(A.push(null),T.push(null));var ue=this.lineHelpers.calculatePoints({series:r,x:c,y:u,realIndex:l,i:d,j:ye,prevY:G}),me=this._createPaths({type:a,series:r,i:d,realIndex:l,j:ye,x:c,y:u,y2:te,xArrj:S,yArrj:A,y2Arrj:T,pX:g,pY:p,pathState:Ce,segmentStartX:Se,linePath:N,areaPath:B,linePaths:x,areaPaths:m,curve:se,isRangeStart:k});m=me.areaPaths,x=me.linePaths,g=me.pX,p=me.pY,Ce=me.pathState,Se=me.segmentStartX,B=me.areaPath,N=me.linePath,!this.appendPathFrom||O.globals.hasNullValues||se==="monotoneCubic"&&a==="rangeArea"||(U+=I.line(c,this.areaBottomY),q+=I.line(c,this.areaBottomY)),this.handleNullDataPoints(r,ue,d,ye,l),this._handleMarkersAndLabels({type:a,pointsPos:ue,i:d,j:ye,realIndex:l,isRangeStart:k})}return{yArrj:A,xArrj:S,pathFromArea:q,areaPaths:m,pathFromLine:U,linePaths:x,linePath:N,areaPath:B}}},{key:"_handleMarkersAndLabels",value:function(e){var t=e.type,i=e.pointsPos,s=e.isRangeStart,a=e.i,r=e.j,n=e.realIndex,l=this.w,h=new zt(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{l.globals.series[a].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var d=this.markers.plotChartMarkers(i,n,r+1);d!==null&&this.elPointsMain.add(d)}var c=h.drawDataLabel({type:t,isRangeStart:s,pos:i,i:n,j:r+1});c!==null&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(e){var t=e.type,i=e.series,s=e.i;e.realIndex;var a,r=e.j,n=e.x,l=e.y,h=e.xArrj,d=e.yArrj,c=e.y2,u=e.y2Arrj,g=e.pX,p=e.pY,f=e.pathState,x=e.segmentStartX,m=e.linePath,b=e.areaPath,w=e.linePaths,S=e.areaPaths,A=e.curve,T=e.isRangeStart,k=new W(this.ctx),M=this.areaBottomY,O=t==="rangeArea",I=t==="rangeArea"&&T;switch(A){case"monotoneCubic":var F=T?d:u;switch(f){case 0:if(F[r+1]===null)break;f=1;case 1:if(!(O?h.length===i[s].length:r===i[s].length-2))break;case 2:var G=T?h:h.slice().reverse(),N=T?F:F.slice().reverse(),B=(a=N,G.map(function(ge,ue){return[ge,a[ue]]}).filter(function(ge){return ge[1]!==null})),U=B.length>1?In(B):B,q=[];O&&(I?S=B:q=S.reverse());var $=0,ie=0;if(function(ge,ue){for(var me=function($t){var Ne=[],nt=0;return $t.forEach(function(_n){_n!==null?nt++:nt>0&&(Ne.push(nt),nt=0)}),nt>0&&Ne.push(nt),Ne}(ge),ze=[],Xe=0,it=0;Xe4?(it+="C".concat(Ne[0],", ").concat(Ne[1]),it+=", ".concat(Ne[2],", ").concat(Ne[3]),it+=", ".concat(Ne[4],", ").concat(Ne[5])):nt>2&&(it+="S".concat(Ne[0],", ").concat(Ne[1]),it+=", ".concat(Ne[2],", ").concat(Ne[3]))}return it}(ge),me=ie,ze=(ie+=ge.length)-1;I?m=k.move(B[me][0],B[me][1])+ue:O?m=k.move(q[me][0],q[me][1])+k.line(B[me][0],B[me][1])+ue+k.line(q[ze][0],q[ze][1]):(m=k.move(B[me][0],B[me][1])+ue,b=m+k.line(B[ze][0],M)+k.line(B[me][0],M)+"z",S.push(b)),w.push(m)}),O&&$>1&&!I){var te=w.slice($).reverse();w.splice($),te.forEach(function(ge){return w.push(ge)})}f=0}break;case"smooth":var ae=.35*(n-g);if(i[s][r]===null)f=0;else switch(f){case 0:if(x=g,m=I?k.move(g,u[r])+k.line(g,p):k.move(g,p),b=k.move(g,p),i[s][r+1]===null||i[s][r+1]===void 0){w.push(m),S.push(b);break}if(f=1,r=i[s].length-2&&(I&&(m+=k.curve(n,l,n,l,n,c)+k.move(n,c)),b+=k.curve(n,l,n,l,n,M)+k.line(x,M)+"z",w.push(m),S.push(b),f=-1)}}g=n,p=l;break;default:var Ce=function(ge,ue,me){var ze=[];switch(ge){case"stepline":ze=k.line(ue,null,"H")+k.line(null,me,"V");break;case"linestep":ze=k.line(null,me,"V")+k.line(ue,null,"H");break;case"straight":ze=k.line(ue,me)}return ze};if(i[s][r]===null)f=0;else switch(f){case 0:if(x=g,m=I?k.move(g,u[r])+k.line(g,p):k.move(g,p),b=k.move(g,p),i[s][r+1]===null||i[s][r+1]===void 0){w.push(m),S.push(b);break}if(f=1,r=i[s].length-2&&(I&&(m+=k.line(n,c)),b+=k.line(n,M)+k.line(x,M)+"z",w.push(m),S.push(b),f=-1)}}g=n,p=l}return{linePaths:w,areaPaths:S,pX:g,pY:p,pathState:f,segmentStartX:x,linePath:m,areaPath:b}}},{key:"handleNullDataPoints",value:function(e,t,i,s,a){var r=this.w;if(e[i][s]===null&&r.config.markers.showNullDataPoints||e[i].length===1){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var l=this.markers.plotChartMarkers(t,a,s+1,n,!0);l!==null&&this.elPointsMain.add(l)}}}]),o}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function o(n,l,h,d){this.xoffset=n,this.yoffset=l,this.height=d,this.width=h,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(c){var u,g=[],p=this.xoffset,f=this.yoffset,x=a(c)/this.height,m=a(c)/this.width;if(this.width>=this.height)for(u=0;u=this.height){var g=c/this.height,p=this.width-g;u=new o(this.xoffset+g,this.yoffset,p,this.height)}else{var f=c/this.width,x=this.height-f;u=new o(this.xoffset,this.yoffset+f,this.width,x)}return u}}function e(n,l,h,d,c){d=d===void 0?0:d,c=c===void 0?0:c;var u=t(function(g,p){var f,x=[],m=p/a(g);for(f=0;f=w}(l,u=n[0],c)?(l.push(u),t(n.slice(1),l,h,d)):(g=h.cutArea(a(l),d),d.push(h.getCoordinates(l)),t(n,[],g,d)),d;d.push(h.getCoordinates(l))}function i(n,l){var h=Math.min.apply(Math,n),d=Math.max.apply(Math,n),c=a(n);return Math.max(Math.pow(l,2)*d/Math.pow(c,2),Math.pow(c,2)/(Math.pow(l,2)*h))}function s(n){return n&&n.constructor===Array}function a(n){var l,h=0;for(l=0;lr-s&&h.width<=n-a){var d=l.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(-90 ".concat(d.x," ").concat(d.y,") translate(").concat(h.height/3,")"))}}},{key:"truncateLabels",value:function(e,t,i,s,a,r){var n=new W(this.ctx),l=n.getTextRects(e,t).width+this.w.config.stroke.width+5>a-i&&r-s>a-i?r-s:a-i,h=n.getTextBasedOnMaxWidth({text:e,maxWidth:l,fontSize:t});return e.length!==h.length&&l/t<5?"":h}},{key:"animateTreemap",value:function(e,t,i,s){var a=new Fe(this.ctx);a.animateRect(e,{x:t.x,y:t.y,width:t.width,height:t.height},{x:i.x,y:i.y,width:i.width,height:i.height},s,function(){a.animationCompleted(e)})}}]),o}(),Ta=86400,Xn=10/Ta,Hn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return E(o,[{key:"calculateTimeScaleTicks",value:function(e,t){var i=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var a=new Ie(this.ctx),r=(t-e)/864e5;this.determineInterval(r),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,r5e4&&(s.globals.disableZoomOut=!0);var n=a.getTimeUnitsfromTimestamp(e,t,this.utc),l=s.globals.gridWidth/r,h=l/24,d=h/60,c=d/60,u=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*Ta),f=Math.floor(r),x=Math.floor(r/30),m=Math.floor(r/365),b={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},w={firstVal:b,currentMillisecond:b.minMillisecond,currentSecond:b.minSecond,currentMinute:b.minMinute,currentHour:b.minHour,currentMonthDate:b.minDate,currentDate:b.minDate,currentMonth:b.minMonth,currentYear:b.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:d,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:u,numberOfDays:f,numberOfMonths:x,numberOfYears:m};switch(this.tickInterval){case"years":this.generateYearScale(w);break;case"months":case"half_year":this.generateMonthScale(w);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(w);break;case"hours":this.generateHourScale(w);break;case"minutes_fives":case"minutes":this.generateMinuteScale(w);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(w)}var S=this.timeScaleArray.map(function(A){var T={position:A.position,unit:A.unit,year:A.year,day:A.day?A.day:1,hour:A.hour?A.hour:0,month:A.month+1};return A.unit==="month"?H(H({},T),{},{day:1,value:A.value+1}):A.unit==="day"||A.unit==="hour"?H(H({},T),{},{value:A.value}):A.unit==="minute"?H(H({},T),{},{value:A.value,minute:A.value}):A.unit==="second"?H(H({},T),{},{value:A.value,minute:A.minute,second:A.second}):A});return S.filter(function(A){var T=1,k=Math.ceil(s.globals.gridWidth/120),M=A.value;s.config.xaxis.tickAmount!==void 0&&(k=s.config.xaxis.tickAmount),S.length>k&&(T=Math.floor(S.length/k));var O=!1,I=!1;switch(i.tickInterval){case"years":A.unit==="year"&&(O=!0);break;case"half_year":T=7,A.unit==="year"&&(O=!0);break;case"months":T=1,A.unit==="year"&&(O=!0);break;case"months_fortnight":T=15,A.unit!=="year"&&A.unit!=="month"||(O=!0),M===30&&(I=!0);break;case"months_days":T=10,A.unit==="month"&&(O=!0),M===30&&(I=!0);break;case"week_days":T=8,A.unit==="month"&&(O=!0);break;case"days":T=1,A.unit==="month"&&(O=!0);break;case"hours":A.unit==="day"&&(O=!0);break;case"minutes_fives":case"seconds_fives":M%5!=0&&(I=!0);break;case"seconds_tens":M%10!=0&&(I=!0)}if(i.tickInterval==="hours"||i.tickInterval==="minutes_fives"||i.tickInterval==="seconds_tens"||i.tickInterval==="seconds_fives"){if(!I)return!0}else if((M%T==0||O)&&!I)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(e,t){var i=this.w,s=this.formatDates(e),a=this.removeOverlappingTS(s);i.globals.timescaleLabels=a.slice(),new ui(this.ctx).plotCoords()}},{key:"determineInterval",value:function(e){var t=24*e,i=60*t;switch(!0){case e/365>5:this.tickInterval="years";break;case e>800:this.tickInterval="half_year";break;case e>180:this.tickInterval="months";break;case e>90:this.tickInterval="months_fortnight";break;case e>60:this.tickInterval="months_days";break;case e>30:this.tickInterval="week_days";break;case e>2:this.tickInterval="days";break;case t>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(e){var t=e.firstVal,i=e.currentMonth,s=e.currentYear,a=e.daysWidthOnXAxis,r=e.numberOfYears,n=t.minYear,l=0,h=new Ie(this.ctx),d="year";if(t.minDate>1||t.minMonth>0){var c=h.determineRemainingDaysOfYear(t.minYear,t.minMonth,t.minDate);l=(h.determineDaysOfYear(t.minYear)-c+1)*a,n=t.minYear+1,this.timeScaleArray.push({position:l,value:n,unit:d,year:n,month:R.monthMod(i+1)})}else t.minDate===1&&t.minMonth===0&&this.timeScaleArray.push({position:l,value:n,unit:d,year:s,month:R.monthMod(i+1)});for(var u=n,g=l,p=0;p1){h=(d.determineDaysOfMonths(s+1,t.minYear)-i+1)*r,l=R.monthMod(s+1);var g=a+u,p=R.monthMod(l),f=l;l===0&&(c="year",f=g,p=1,g+=u+=1),this.timeScaleArray.push({position:h,value:f,unit:c,year:g,month:p})}else this.timeScaleArray.push({position:h,value:l,unit:c,year:a,month:R.monthMod(s)});for(var x=l+1,m=h,b=0,w=1;bn.determineDaysOfMonths(S+1,A)&&(d=1,l="month",g=S+=1),S},u=(24-t.minHour)*a,g=h,p=c(d,i,s);t.minHour===0&&t.minDate===1?(u=0,g=R.monthMod(t.minMonth),l="month",d=t.minDate):t.minDate!==1&&t.minHour===0&&t.minMinute===0&&(u=0,h=t.minDate,g=h,p=c(d=h,i,s)),this.timeScaleArray.push({position:u,value:g,unit:l,year:this._getYear(s,p,0),month:R.monthMod(p),day:d});for(var f=u,x=0;xl.determineDaysOfMonths(k+1,a)&&(x=1,k+=1),{month:k,date:x}},c=function(T,k){return T>l.determineDaysOfMonths(k+1,a)?k+=1:k},u=60-(t.minMinute+t.minSecond/60),g=u*r,p=t.minHour+1,f=p;u===60&&(g=0,f=p=t.minHour);var x=i;f>=24&&(f=0,h="day",p=x+=1);var m=d(x,s).month;m=c(x,m),this.timeScaleArray.push({position:g,value:p,unit:h,day:x,hour:f,year:a,month:R.monthMod(m)}),f++;for(var b=g,w=0;w=24&&(f=0,h="day",m=d(x+=1,m).month,m=c(x,m));var S=this._getYear(a,m,0);b=60*r+b;var A=f===0?x:f;this.timeScaleArray.push({position:b,value:A,unit:h,hour:f,day:x,year:S,month:R.monthMod(m)}),f++}}},{key:"generateMinuteScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,s=e.currentMinute,a=e.currentHour,r=e.currentDate,n=e.currentMonth,l=e.currentYear,h=e.minutesWidthOnXAxis,d=e.secondsWidthOnXAxis,c=e.numberOfMinutes,u=s+1,g=r,p=n,f=l,x=a,m=(60-i-t/1e3)*d,b=0;b=60&&(u=0,(x+=1)===24&&(x=0)),this.timeScaleArray.push({position:m,value:u,unit:"minute",hour:x,minute:u,day:g,year:this._getYear(f,p,0),month:R.monthMod(p)}),m+=h,u++}},{key:"generateSecondScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,s=e.currentMinute,a=e.currentHour,r=e.currentDate,n=e.currentMonth,l=e.currentYear,h=e.secondsWidthOnXAxis,d=e.numberOfSeconds,c=i+1,u=s,g=r,p=n,f=l,x=a,m=(1e3-t)/1e3*h,b=0;b=60&&(c=0,++u>=60&&(u=0,++x===24&&(x=0))),this.timeScaleArray.push({position:m,value:c,unit:"second",hour:x,minute:u,second:c,day:g,year:this._getYear(f,p,0),month:R.monthMod(p)}),m+=h,c++}},{key:"createRawDateString",value:function(e,t){var i=e.year;return e.month===0&&(e.month=1),i+="-"+("0"+e.month.toString()).slice(-2),e.unit==="day"?i+=e.unit==="day"?"-"+("0"+t).slice(-2):"-01":i+="-"+("0"+(e.day?e.day:"1")).slice(-2),e.unit==="hour"?i+=e.unit==="hour"?"T"+("0"+t).slice(-2):"T00":i+="T"+("0"+(e.hour?e.hour:"0")).slice(-2),e.unit==="minute"?i+=":"+("0"+t).slice(-2):i+=":"+(e.minute?("0"+e.minute).slice(-2):"00"),e.unit==="second"?i+=":"+("0"+t).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(e){var t=this,i=this.w;return e.map(function(s){var a=s.value.toString(),r=new Ie(t.ctx),n=t.createRawDateString(s,a),l=r.getDate(r.parseDate(n));if(t.utc||(l=r.getDate(r.parseDateWithTimezone(n))),i.config.xaxis.labels.format===void 0){var h="dd MMM",d=i.config.xaxis.labels.datetimeFormatter;s.unit==="year"&&(h=d.year),s.unit==="month"&&(h=d.month),s.unit==="day"&&(h=d.day),s.unit==="hour"&&(h=d.hour),s.unit==="minute"&&(h=d.minute),s.unit==="second"&&(h=d.second),a=r.formatDate(l,h)}else a=r.formatDate(l,i.config.xaxis.labels.format);return{dateString:n,position:s.position,value:a,unit:s.unit,year:s.year,month:s.month}})}},{key:"removeOverlappingTS",value:function(e){var t,i=this,s=new W(this.ctx),a=!1;e.length>0&&e[0].value&&e.every(function(l){return l.value.length===e[0].value.length})&&(a=!0,t=s.getTextRects(e[0].value).width);var r=0,n=e.map(function(l,h){if(h>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var d=a?t:s.getTextRects(e[r].value).width,c=e[r].position;return l.position>c+d+10?(r=h,l):null}return l});return n=n.filter(function(l){return l!==null})}},{key:"_getYear",value:function(e,t,i){return e+Math.floor(t/12)+i}}]),o}(),Fn=function(){function o(e,t){P(this,o),this.ctx=t,this.w=t.w,this.el=e}return E(o,[{key:"setupElements",value:function(){var e=this.w,t=e.globals,i=e.config,s=i.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].includes(s),t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].includes(s),t.isBarHorizontal=["bar","rangeBar","boxPlot"].includes(s)&&i.plotOptions.bar.horizontal,t.chartClass=".apexcharts".concat(t.chartID),t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),W.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas ".concat(t.chartClass.substring(1))}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=window.SVG().addTo(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(i.chart.offsetX,", ").concat(i.chart.offsetY,")")}),t.dom.Paper.node.style.background=i.theme.mode!=="dark"||i.chart.background?i.theme.mode!=="light"||i.chart.background?i.chart.background:"#fff":"#424242",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),W.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(e,t){var i=this.w,s=this.ctx,a=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},l=a.chart.type||"line",h=null,d=0;r.series.forEach(function(T,k){var M=e[k].type||l;n[M]?(M==="rangeArea"?(n[M].series.push(r.seriesRangeStart[k]),n[M].seriesRangeEnd.push(r.seriesRangeEnd[k])):n[M].series.push(T),n[M].i.push(k),M!=="column"&&M!=="bar"||(i.globals.columnSeries=n.column)):["heatmap","treemap","pie","donut","polarArea","radialBar","radar"].includes(M)?h=M:M==="bar"?(n.column.series.push(T),n.column.i.push(k)):console.warn("You have specified an unrecognized series type (".concat(M,").")),l!==M&&M!=="scatter"&&d++}),d>0&&(h&&console.warn("Chart or series type ".concat(h," cannot appear with other chart or series types.")),n.column.series.length>0&&a.plotOptions.bar.horizontal&&(d-=n.column.series.length,n.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),r.comboCharts||(r.comboCharts=d>0);var c=new us(s,t),u=new cs(s,t);s.pie=new Pa(s);var g=new Pn(s);s.rangeBar=new Tn(s,t);var p=new Mn(s),f=[];if(r.comboCharts){var x,m,b=new Pe(s);if(n.area.series.length>0&&(x=f).push.apply(x,he(b.drawSeriesByGroup(n.area,r.areaGroups,"area",c))),n.column.series.length>0)if(a.chart.stacked){var w=new Ca(s,t);f.push(w.draw(n.column.series,n.column.i))}else s.bar=new Xt(s,t),f.push(s.bar.draw(n.column.series,n.column.i));if(n.rangeArea.series.length>0&&f.push(c.draw(n.rangeArea.series,"rangeArea",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0&&(m=f).push.apply(m,he(b.drawSeriesByGroup(n.line,r.lineGroups,"line",c))),n.candlestick.series.length>0&&f.push(u.draw(n.candlestick.series,"candlestick",n.candlestick.i)),n.boxPlot.series.length>0&&f.push(u.draw(n.boxPlot.series,"boxPlot",n.boxPlot.i)),n.rangeBar.series.length>0&&f.push(s.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var S=new us(s,t,!0);f.push(S.draw(n.scatter.series,"scatter",n.scatter.i))}if(n.bubble.series.length>0){var A=new us(s,t,!0);f.push(A.draw(n.bubble.series,"bubble",n.bubble.i))}}else switch(a.chart.type){case"line":f=c.draw(r.series,"line");break;case"area":f=c.draw(r.series,"area");break;case"bar":a.chart.stacked?f=new Ca(s,t).draw(r.series):(s.bar=new Xt(s,t),f=s.bar.draw(r.series));break;case"candlestick":f=new cs(s,t).draw(r.series,"candlestick");break;case"boxPlot":f=new cs(s,t).draw(r.series,a.chart.type);break;case"rangeBar":f=s.rangeBar.draw(r.series);break;case"rangeArea":f=c.draw(r.seriesRangeStart,"rangeArea",void 0,r.seriesRangeEnd);break;case"heatmap":f=new Ln(s,t).draw(r.series);break;case"treemap":f=new zn(s,t).draw(r.series);break;case"pie":case"donut":case"polarArea":f=s.pie.draw(r.series);break;case"radialBar":f=g.draw(r.series);break;case"radar":f=p.draw(r.series);break;default:f=c.draw(r.series)}return f}},{key:"setSVGDimensions",value:function(){var e=this.w,t=e.globals,i=e.config;i.chart.width=i.chart.width||"100%",i.chart.height=i.chart.height||"auto",t.svgWidth=i.chart.width,t.svgHeight=i.chart.height;var s=R.getDimensions(this.el),a=i.chart.width.toString().split(/[0-9]+/g).pop();a==="%"?R.isNumber(s[0])&&(s[0].width===0&&(s=R.getDimensions(this.el.parentNode)),t.svgWidth=s[0]*parseInt(i.chart.width,10)/100):a!=="px"&&a!==""||(t.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if(t.svgHeight!=="auto"&&t.svgHeight!=="")if(r==="%"){var n=R.getDimensions(this.el.parentNode);t.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else t.svgHeight=parseInt(i.chart.height,10);else t.svgHeight=t.axisCharts?t.svgWidth/1.61:t.svgWidth/1.2;if(t.svgWidth=Math.max(t.svgWidth,0),t.svgHeight=Math.max(t.svgHeight,0),W.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),r!=="%"){var l=i.chart.sparkline.enabled?0:t.axisCharts?i.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(t.svgHeight+l,"px")}t.dom.elWrap.style.width="".concat(t.svgWidth,"px"),t.dom.elWrap.style.height="".concat(t.svgHeight,"px")}},{key:"shiftGraphPosition",value:function(){var e=this.w.globals,t=e.translateY,i=e.translateX;W.setAttrs(e.dom.elGraphical.node,{transform:"translate(".concat(i,", ").concat(t,")")})}},{key:"resizeNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=0,s=e.config.chart.sparkline.enabled?1:15;s+=e.config.grid.padding.bottom,["top","bottom"].includes(e.config.legend.position)&&e.config.legend.show&&!e.config.legend.floating&&(i=new ya(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var a=e.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*e.globals.radialSize;if(a&&!e.config.chart.sparkline.enabled&&e.config.plotOptions.radialBar.startAngle!==0){var n=R.getBoundingClientRect(a);r=n.bottom;var l=n.bottom-n.top;r=Math.max(2.05*e.globals.radialSize,l)}var h=Math.ceil(r+t.translateY+i+s);t.dom.elLegendForeign&&t.dom.elLegendForeign.setAttribute("height",h),e.config.chart.height&&String(e.config.chart.height).includes("%")||(t.dom.elWrap.style.height="".concat(h,"px"),W.setAttrs(t.dom.Paper.node,{height:h}),t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(h,"px"))}},{key:"coreCalculations",value:function(){new os(this.ctx).init()}},{key:"resetGlobals",value:function(){var e=this,t=function(){return e.w.config.series.map(function(){return[]})},i=new xa,s=this.w.globals;i.initGlobalVars(s),s.seriesXvalues=t(),s.seriesYvalues=t()}},{key:"isMultipleY",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:"xySettings",value:function(){var e=this.w,t=null;if(e.globals.axisCharts){if(e.config.xaxis.crosshairs.position==="back"&&new hs(this.ctx).drawXCrosshairs(),e.config.yaxis[0].crosshairs.position==="back"&&new hs(this.ctx).drawYCrosshairs(),e.config.xaxis.type==="datetime"&&e.config.xaxis.labels.formatter===void 0){this.ctx.timeScale=new Hn(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new Pe(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(e){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var e=this,t=this.w;if(t.config.chart.brush.enabled&&typeof t.config.chart.events.selection!="function"){var i=Array.isArray(t.config.chart.brush.targets)?t.config.chart.brush.targets:[t.config.chart.brush.target];i.forEach(function(s){var a=ApexCharts.getChartByID(s);a.w.globals.brushSource=e.ctx,typeof a.w.config.chart.events.zoomed!="function"&&(a.w.config.chart.events.zoomed=function(){return e.updateSourceChart(a)}),typeof a.w.config.chart.events.scrolled!="function"&&(a.w.config.chart.events.scrolled=function(){return e.updateSourceChart(a)})}),t.config.chart.events.selection=function(s,a){i.forEach(function(r){ApexCharts.getChartByID(r).ctx.updateHelpers._updateOptions({xaxis:{min:a.xaxis.min,max:a.xaxis.max}},!1,!1,!1,!1)})}}}}]),o}(),Yn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"_updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],s=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=arguments.length>4&&arguments[4]!==void 0&&arguments[4];return new Promise(function(n){var l=[t.ctx];a&&(l=t.ctx.getSyncedCharts()),t.ctx.w.globals.isExecCalled&&(l=[t.ctx],t.ctx.w.globals.isExecCalled=!1),l.forEach(function(h,d){var c=h.w;if(c.globals.shouldAnimate=s,i||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&h.series.getPreviousPaths()),e&&Ae(e)==="object"&&(h.config=new qt(e),e=Pe.extendArrayProps(h.config,e,c),h.w.globals.chartID!==t.ctx.w.globals.chartID&&delete e.series,c.config=R.extend(c.config,e),r&&(c.globals.lastXAxis=e.xaxis?R.clone(e.xaxis):[],c.globals.lastYAxis=e.yaxis?R.clone(e.yaxis):[],c.globals.initialConfig=R.extend({},c.config),c.globals.initialSeries=R.clone(c.config.series),e.series))){for(var u=0;u2&&arguments[2]!==void 0&&arguments[2];return new Promise(function(a){var r,n=i.w;return n.globals.shouldAnimate=t,n.globals.dataChanged=!0,t&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?((r=e.map(function(l,h){return i._extendSeries(l,h)})).length===0&&(r=[{data:[]}]),n.config.series=r):n.config.series=e.slice(),s&&(n.globals.initialConfig.series=R.clone(n.config.series),n.globals.initialSeries=R.clone(n.config.series)),i.ctx.update().then(function(){a(i.ctx)})})}},{key:"_extendSeries",value:function(e,t){var i=this.w,s=i.config.series[t];return H(H({},i.config.series[t]),{},{name:e.name?e.name:s==null?void 0:s.name,color:e.color?e.color:s==null?void 0:s.color,type:e.type?e.type:s==null?void 0:s.type,group:e.group?e.group:s==null?void 0:s.group,hidden:e.hidden!==void 0?e.hidden:s==null?void 0:s.hidden,data:e.data?e.data:s==null?void 0:s.data,zIndex:e.zIndex!==void 0?e.zIndex:t})}},{key:"toggleDataPointSelection",value:function(e,t){var i=this.w,s=null,a=".apexcharts-series[data\\:realIndex='".concat(e,"']");return i.globals.axisCharts?s=i.globals.dom.Paper.findOne("".concat(a," path[j='").concat(t,"'], ").concat(a," circle[j='").concat(t,"'], ").concat(a," rect[j='").concat(t,"']")):t===void 0&&(s=i.globals.dom.Paper.findOne("".concat(a," path[j='").concat(e,"']")),i.config.chart.type!=="pie"&&i.config.chart.type!=="polarArea"&&i.config.chart.type!=="donut"||this.ctx.pie.pieClicked(e)),s?(new W(this.ctx).pathMouseDown(s,null),s.node?s.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(e){var t=this.w;if(["min","max"].forEach(function(s){e.xaxis[s]!==void 0&&(t.config.xaxis[s]=e.xaxis[s],t.globals.lastXAxis[s]=e.xaxis[s])}),e.xaxis.categories&&e.xaxis.categories.length&&(t.config.xaxis.categories=e.xaxis.categories),t.config.xaxis.convertedCatToNumeric){var i=new Ut(e);e=i.convertCatToNumericXaxis(e,this.ctx)}return e}},{key:"forceYAxisUpdate",value:function(e){return e.chart&&e.chart.stacked&&e.chart.stackType==="100%"&&(Array.isArray(e.yaxis)?e.yaxis.forEach(function(t,i){e.yaxis[i].min=0,e.yaxis[i].max=100}):(e.yaxis.min=0,e.yaxis.max=100)),e}},{key:"revertDefaultAxisMinMax",value:function(e){var t=this,i=this.w,s=i.globals.lastXAxis,a=i.globals.lastYAxis;e&&e.xaxis&&(s=e.xaxis),e&&e.yaxis&&(a=e.yaxis),i.config.xaxis.min=s.min,i.config.xaxis.max=s.max;var r=function(n){a[n]!==void 0&&(i.config.yaxis[n].min=a[n].min,i.config.yaxis[n].max=a[n].max)};i.config.yaxis.map(function(n,l){i.globals.zoomed||a[l]!==void 0?r(l):t.ctx.opts.yaxis[l]!==void 0&&(n.min=t.ctx.opts.yaxis[l].min,n.max=t.ctx.opts.yaxis[l].max)})}}]),o}();(function(){function o(){for(var a=arguments.length>0&&arguments[0]!==c?arguments[0]:[],r=arguments.length>1?arguments[1]:c,n=arguments.length>2?arguments[2]:c,l=arguments.length>3?arguments[3]:c,h=arguments.length>4?arguments[4]:c,d=arguments.length>5?arguments[5]:c,c=arguments.length>6?arguments[6]:c,u=a.slice(r,n||c),g=l.slice(h,d||c),p=0,f={pos:[0,0],start:[0,0]},x={pos:[0,0],start:[0,0]};u[p]=e.call(f,u[p]),g[p]=e.call(x,g[p]),u[p][0]!=g[p][0]||u[p][0]=="M"||u[p][0]=="A"&&(u[p][4]!=g[p][4]||u[p][5]!=g[p][5])?(Array.prototype.splice.apply(u,[p,1].concat(i.call(f,u[p]))),Array.prototype.splice.apply(g,[p,1].concat(i.call(x,g[p])))):(u[p]=t.call(f,u[p]),g[p]=t.call(x,g[p])),!(++p==u.length&&p==g.length);)p==u.length&&u.push(["C",f.pos[0],f.pos[1],f.pos[0],f.pos[1],f.pos[0],f.pos[1]]),p==g.length&&g.push(["C",x.pos[0],x.pos[1],x.pos[0],x.pos[1],x.pos[0],x.pos[1]]);return{start:u,dest:g}}function e(a){switch(a[0]){case"z":case"Z":a[0]="L",a[1]=this.start[0],a[2]=this.start[1];break;case"H":a[0]="L",a[2]=this.pos[1];break;case"V":a[0]="L",a[2]=a[1],a[1]=this.pos[0];break;case"T":a[0]="Q",a[3]=a[1],a[4]=a[2],a[1]=this.reflection[1],a[2]=this.reflection[0];break;case"S":a[0]="C",a[6]=a[4],a[5]=a[3],a[4]=a[2],a[3]=a[1],a[2]=this.reflection[1],a[1]=this.reflection[0]}return a}function t(a){var r=a.length;return this.pos=[a[r-2],a[r-1]],"SCQT".indexOf(a[0])!=-1&&(this.reflection=[2*this.pos[0]-a[r-4],2*this.pos[1]-a[r-3]]),a}function i(a){var r=[a];switch(a[0]){case"M":return this.pos=this.start=[a[1],a[2]],r;case"L":a[5]=a[3]=a[1],a[6]=a[4]=a[2],a[1]=this.pos[0],a[2]=this.pos[1];break;case"Q":a[6]=a[4],a[5]=a[3],a[4]=1*a[4]/3+2*a[2]/3,a[3]=1*a[3]/3+2*a[1]/3,a[2]=1*this.pos[1]/3+2*a[2]/3,a[1]=1*this.pos[0]/3+2*a[1]/3;break;case"A":r=function(n,l){var h,d,c,u,g,p,f,x,m,b,w,S,A,T,k,M,O,I,F,G,N,B,U,q,$,ie,te=Math.abs(l[1]),ae=Math.abs(l[2]),se=l[3]%360,Se=l[4],Ce=l[5],ye=l[6],Oe=l[7],ge=new fe(n),ue=new fe(ye,Oe),me=[];if(te===0||ae===0||ge.x===ue.x&&ge.y===ue.y)return[["C",ge.x,ge.y,ue.x,ue.y,ue.x,ue.y]];for(h=new fe((ge.x-ue.x)/2,(ge.y-ue.y)/2).transform(new K().rotate(se)),d=h.x*h.x/(te*te)+h.y*h.y/(ae*ae),d>1&&(te*=d=Math.sqrt(d),ae*=d),c=new K().rotate(se).scale(1/te,1/ae).rotate(-se),ge=ge.transform(c),ue=ue.transform(c),u=[ue.x-ge.x,ue.y-ge.y],p=u[0]*u[0]+u[1]*u[1],g=Math.sqrt(p),u[0]/=g,u[1]/=g,f=p<4?Math.sqrt(1-p/4):0,Se===Ce&&(f*=-1),x=new fe((ue.x+ge.x)/2+f*-u[1],(ue.y+ge.y)/2+f*u[0]),m=new fe(ge.x-x.x,ge.y-x.y),b=new fe(ue.x-x.x,ue.y-x.y),w=Math.acos(m.x/Math.sqrt(m.x*m.x+m.y*m.y)),m.y<0&&(w*=-1),S=Math.acos(b.x/Math.sqrt(b.x*b.x+b.y*b.y)),b.y<0&&(S*=-1),Ce&&w>S&&(S+=2*Math.PI),!Ce&&w0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;if(r===!1)return!1;for(var n=r,l=a.length;n(o.changedTouches&&(o=o.changedTouches[0]),{x:o.clientX,y:o.clientY});class Dn{constructor(e){e.remember("_draggable",this),this.el=e,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(e){e?(this.el.on("mousedown.drag",this.startDrag),this.el.on("touchstart.drag",this.startDrag,{passive:!1})):(this.el.off("mousedown.drag"),this.el.off("touchstart.drag"))}startDrag(e){const t=!e.type.indexOf("mouse");if(t&&e.which!==1&&e.buttons!==0||this.el.dispatch("beforedrag",{event:e,handler:this}).defaultPrevented)return;e.preventDefault(),e.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point(Ea(e));const i=(t?"mouseup":"touchend")+".drag";rt(window,(t?"mousemove":"touchmove")+".drag",this.drag,this,{passive:!1}),rt(window,i,this.endDrag,this,{passive:!1}),this.el.fire("dragstart",{event:e,handler:this,box:this.box})}drag(e){const{box:t,lastClick:i}=this,s=this.el.point(Ea(e)),a=s.x-i.x,r=s.y-i.y;if(!a&&!r)return t;const n=t.x+a,l=t.y+r;this.box=new Me(n,l,t.w,t.h),this.lastClick=s,this.el.dispatch("dragmove",{event:e,handler:this,box:this.box}).defaultPrevented||this.move(n,l)}move(e,t){this.el.type==="svg"?ct.prototype.move.call(this.el,e,t):this.el.move(e,t)}endDrag(e){this.drag(e),this.el.fire("dragend",{event:e,handler:this,box:this.box}),qe(window,"mousemove.drag"),qe(window,"touchmove.drag"),qe(window,"mouseup.drag"),qe(window,"touchend.drag"),this.init(!0)}}/*! + * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse + * @version 4.0.1 + * https://github.com/svgdotjs/svg.select.js + * + * @copyright Ulrich-Matthias Schäfer + * @license MIT + * + * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) + */function gs(o,e,t,i=null){return function(s){s.preventDefault(),s.stopPropagation();var a=s.pageX||s.touches[0].pageX,r=s.pageY||s.touches[0].pageY;e.fire(o,{x:a,y:r,event:s,index:i,points:t})}}function fs([o,e],{a:t,b:i,c:s,d:a,e:r,f:n}){return[o*t+e*s+r,o*i+e*a+n]}Q(Ee,{draggable(o=!0){return(this.remember("_draggable")||new Dn(this)).init(o),this}});let Ra=class{constructor(o){this.el=o,o.remember("_selectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.createRot=o.createRot||this.createRotFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.updateRot=o.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach((o,e,t)=>{const i=this.order[e];this.createHandle.call(this,this.selection,o,e,t,i),this.selection.get(e+1).addClass("svg_select_handle svg_select_handle_"+i).on("mousedown.selection touchstart.selection",gs(i,this.el,this.handlePoints,e))})}createHandleFn(o){o.polyline()}updateHandleFn(o,e,t,i){const s=i.at(t-1),a=i[(t+1)%i.length],r=e,n=[r[0]-s[0],r[1]-s[1]],l=[r[0]-a[0],r[1]-a[1]],h=Math.sqrt(n[0]*n[0]+n[1]*n[1]),d=Math.sqrt(l[0]*l[0]+l[1]*l[1]),c=[n[0]/h,n[1]/h],u=[l[0]/d,l[1]/d],g=[r[0]-10*c[0],r[1]-10*c[1]],p=[r[0]-10*u[0],r[1]-10*u[1]];o.plot([g,r,p])}updateResizeHandles(){this.handlePoints.forEach((o,e,t)=>{const i=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),o,e,t,i)})}createRotFn(o){o.line(),o.circle(5)}getPoint(o){return this.handlePoints[this.order.indexOf(o)]}getPointHandle(o){return this.selection.get(this.order.indexOf(o)+1)}updateRotFn(o,e){const t=this.getPoint("t");o.get(0).plot(t[0],t[1],e[0],e[1]),o.get(1).center(e[0],e[1])}createRotationHandle(){const o=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",gs("rot",this.el,this.handlePoints));this.createRot.call(this,o)}updateRotationHandle(){const o=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(o,this.rotationPoint,this.handlePoints)}updatePoints(){const o=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(o).map(t=>fs(t,e)),this.rotationPoint=fs(this.getRotationPoint(o),e)}getHandlePoints({x:o,x2:e,y:t,y2:i,cx:s,cy:a}=this.el.bbox()){return[[o,t],[s,t],[e,t],[e,a],[e,i],[s,i],[o,i],[o,a]]}getRotationPoint({y:o,cx:e}=this.el.bbox()){return[e,o-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const Ia=o=>function(e=!0,t={}){typeof e=="object"&&(t=e,e=!0);let i=this.remember("_"+o.name);return i||(e.prototype instanceof Ra?(i=new e(this),e=!0):i=new o(this),this.remember("_"+o.name,i)),i.active(e,t),this};/*! + * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected + * @version 2.0.4 + * https://github.com/svgdotjs/svg.resize.js + * + * @copyright [object Object] + * @license MIT + * + * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time) + *//*! + * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse + * @version 4.0.1 + * https://github.com/svgdotjs/svg.select.js + * + * @copyright Ulrich-Matthias Schäfer + * @license MIT + * + * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) + */function ps(o,e,t,i=null){return function(s){s.preventDefault(),s.stopPropagation();var a=s.pageX||s.touches[0].pageX,r=s.pageY||s.touches[0].pageY;e.fire(o,{x:a,y:r,event:s,index:i,points:t})}}function xs([o,e],{a:t,b:i,c:s,d:a,e:r,f:n}){return[o*t+e*s+r,o*i+e*a+n]}Q(Ee,{select:Ia(Ra)}),Q([yt,wt,mt],{pointSelect:Ia(class{constructor(o){this.el=o,o.remember("_pointSelectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach((o,e,t)=>{this.createHandle.call(this,this.selection,o,e,t),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",gs("point",this.el,this.points,e))})}createHandleFn(o){o.circle(5)}updateHandleFn(o,e){o.center(e[0],e[1])}updatePointHandles(){this.points.forEach((o,e,t)=>{this.updateHandle.call(this,this.selection.get(e+1),o,e,t)})}updatePoints(){const o=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map(e=>fs(e,o))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class Oa{constructor(e){this.el=e,e.remember("_selectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const t=Yt();this.observer=new t.MutationObserver(this.mutationHandler)}init(e){this.createHandle=e.createHandle||this.createHandleFn,this.createRot=e.createRot||this.createRotFn,this.updateHandle=e.updateHandle||this.updateHandleFn,this.updateRot=e.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(e,t){if(!e)return this.selection.clear().remove(),void this.observer.disconnect();this.init(t)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach((e,t,i)=>{const s=this.order[t];this.createHandle.call(this,this.selection,e,t,i,s),this.selection.get(t+1).addClass("svg_select_handle svg_select_handle_"+s).on("mousedown.selection touchstart.selection",ps(s,this.el,this.handlePoints,t))})}createHandleFn(e){e.polyline()}updateHandleFn(e,t,i,s){const a=s.at(i-1),r=s[(i+1)%s.length],n=t,l=[n[0]-a[0],n[1]-a[1]],h=[n[0]-r[0],n[1]-r[1]],d=Math.sqrt(l[0]*l[0]+l[1]*l[1]),c=Math.sqrt(h[0]*h[0]+h[1]*h[1]),u=[l[0]/d,l[1]/d],g=[h[0]/c,h[1]/c],p=[n[0]-10*u[0],n[1]-10*u[1]],f=[n[0]-10*g[0],n[1]-10*g[1]];e.plot([p,n,f])}updateResizeHandles(){this.handlePoints.forEach((e,t,i)=>{const s=this.order[t];this.updateHandle.call(this,this.selection.get(t+1),e,t,i,s)})}createRotFn(e){e.line(),e.circle(5)}getPoint(e){return this.handlePoints[this.order.indexOf(e)]}getPointHandle(e){return this.selection.get(this.order.indexOf(e)+1)}updateRotFn(e,t){const i=this.getPoint("t");e.get(0).plot(i[0],i[1],t[0],t[1]),e.get(1).center(t[0],t[1])}createRotationHandle(){const e=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",ps("rot",this.el,this.handlePoints));this.createRot.call(this,e)}updateRotationHandle(){const e=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(e,this.rotationPoint,this.handlePoints)}updatePoints(){const e=this.el.bbox(),t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(e).map(i=>xs(i,t)),this.rotationPoint=xs(this.getRotationPoint(e),t)}getHandlePoints({x:e,x2:t,y:i,y2:s,cx:a,cy:r}=this.el.bbox()){return[[e,i],[a,i],[t,i],[t,r],[t,s],[a,s],[e,s],[e,r]]}getRotationPoint({y:e,cx:t}=this.el.bbox()){return[t,e-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const za=o=>function(e=!0,t={}){typeof e=="object"&&(t=e,e=!0);let i=this.remember("_"+o.name);return i||(e.prototype instanceof Oa?(i=new e(this),e=!0):i=new o(this),this.remember("_"+o.name,i)),i.active(e,t),this};Q(Ee,{select:za(Oa)}),Q([yt,wt,mt],{pointSelect:za(class{constructor(o){this.el=o,o.remember("_pointSelectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach((o,e,t)=>{this.createHandle.call(this,this.selection,o,e,t),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",ps("point",this.el,this.points,e))})}createHandleFn(o){o.circle(5)}updateHandleFn(o,e){o.center(e[0],e[1])}updatePointHandles(){this.points.forEach((o,e,t)=>{this.updateHandle.call(this,this.selection.get(e+1),o,e,t)})}updatePoints(){const o=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map(e=>xs(e,o))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const gi=o=>(o.changedTouches&&(o=o.changedTouches[0]),{x:o.clientX,y:o.clientY}),Xa=o=>{let e=1/0,t=1/0,i=-1/0,s=-1/0;for(let a=0;a{const T=S-m[0],k=(A-m[1])*b;return[T*b+m[0],k+m[1]]});return Xa(w)}(this.box,p,f)}this.el.dispatch("resize",{box:new Me(h),angle:0,eventType:this.eventType,event:e,handler:this}).defaultPrevented||this.el.size(h.width,h.height).move(h.x,h.y)}movePoint(e){this.lastEvent=e;const{x:t,y:i}=this.snapToGrid(this.el.point(gi(e))),s=this.el.array().slice();s[this.index]=[t,i],this.el.dispatch("resize",{box:Xa(s),angle:0,eventType:this.eventType,event:e,handler:this}).defaultPrevented||this.el.plot(s)}rotate(e){this.lastEvent=e;const t=this.startPoint,i=this.el.point(gi(e)),{cx:s,cy:a}=this.box,r=t.x-s,n=t.y-a,l=i.x-s,h=i.y-a,d=Math.sqrt(r*r+n*n)*Math.sqrt(l*l+h*h);if(d===0)return;let c=Math.acos((r*l+n*h)/d)/Math.PI*180;if(!c)return;i.xdiv { + margin: 4px 0 +} + +.apexcharts-tooltip-box span.value { + font-weight: 700 +} + +.apexcharts-tooltip-rangebar { + padding: 5px 8px +} + +.apexcharts-tooltip-rangebar .category { + font-weight: 600; + color: #777 +} + +.apexcharts-tooltip-rangebar .series-name { + font-weight: 700; + display: block; + margin-bottom: 5px +} + +.apexcharts-xaxistooltip, +.apexcharts-yaxistooltip { + opacity: 0; + pointer-events: none; + color: #373d3f; + font-size: 13px; + text-align: center; + border-radius: 2px; + position: absolute; + z-index: 10; + background: #eceff1; + border: 1px solid #90a4ae +} + +.apexcharts-xaxistooltip { + padding: 9px 10px; + transition: .15s ease all +} + +.apexcharts-xaxistooltip.apexcharts-theme-dark { + background: rgba(0, 0, 0, .7); + border: 1px solid rgba(0, 0, 0, .5); + color: #fff +} + +.apexcharts-xaxistooltip:after, +.apexcharts-xaxistooltip:before { + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-xaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-left: -6px +} + +.apexcharts-xaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-left: -7px +} + +.apexcharts-xaxistooltip-bottom:after, +.apexcharts-xaxistooltip-bottom:before { + bottom: 100% +} + +.apexcharts-xaxistooltip-top:after, +.apexcharts-xaxistooltip-top:before { + top: 100% +} + +.apexcharts-xaxistooltip-bottom:after { + border-bottom-color: #eceff1 +} + +.apexcharts-xaxistooltip-bottom:before { + border-bottom-color: #90a4ae +} + +.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after, +.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before { + border-bottom-color: rgba(0, 0, 0, .5) +} + +.apexcharts-xaxistooltip-top:after { + border-top-color: #eceff1 +} + +.apexcharts-xaxistooltip-top:before { + border-top-color: #90a4ae +} + +.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after, +.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before { + border-top-color: rgba(0, 0, 0, .5) +} + +.apexcharts-xaxistooltip.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-yaxistooltip { + padding: 4px 10px +} + +.apexcharts-yaxistooltip.apexcharts-theme-dark { + background: rgba(0, 0, 0, .7); + border: 1px solid rgba(0, 0, 0, .5); + color: #fff +} + +.apexcharts-yaxistooltip:after, +.apexcharts-yaxistooltip:before { + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-yaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-top: -6px +} + +.apexcharts-yaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-top: -7px +} + +.apexcharts-yaxistooltip-left:after, +.apexcharts-yaxistooltip-left:before { + left: 100% +} + +.apexcharts-yaxistooltip-right:after, +.apexcharts-yaxistooltip-right:before { + right: 100% +} + +.apexcharts-yaxistooltip-left:after { + border-left-color: #eceff1 +} + +.apexcharts-yaxistooltip-left:before { + border-left-color: #90a4ae +} + +.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after, +.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before { + border-left-color: rgba(0, 0, 0, .5) +} + +.apexcharts-yaxistooltip-right:after { + border-right-color: #eceff1 +} + +.apexcharts-yaxistooltip-right:before { + border-right-color: #90a4ae +} + +.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after, +.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before { + border-right-color: rgba(0, 0, 0, .5) +} + +.apexcharts-yaxistooltip.apexcharts-active { + opacity: 1 +} + +.apexcharts-yaxistooltip-hidden { + display: none +} + +.apexcharts-xcrosshairs, +.apexcharts-ycrosshairs { + pointer-events: none; + opacity: 0; + transition: .15s ease all +} + +.apexcharts-xcrosshairs.apexcharts-active, +.apexcharts-ycrosshairs.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-ycrosshairs-hidden { + opacity: 0 +} + +.apexcharts-selection-rect { + cursor: move +} + +.svg_select_shape { + stroke-width: 1; + stroke-dasharray: 10 10; + stroke: black; + stroke-opacity: 0.1; + pointer-events: none; + fill: none; +} + +.svg_select_handle { + stroke-width: 3; + stroke: black; + fill: none; +} + +.svg_select_handle_r { + cursor: e-resize; +} + +.svg_select_handle_l { + cursor: w-resize; +} + +.apexcharts-svg.apexcharts-zoomable.hovering-zoom { + cursor: crosshair +} + +.apexcharts-svg.apexcharts-zoomable.hovering-pan { + cursor: move +} + +.apexcharts-menu-icon, +.apexcharts-pan-icon, +.apexcharts-reset-icon, +.apexcharts-selection-icon, +.apexcharts-toolbar-custom-icon, +.apexcharts-zoom-icon, +.apexcharts-zoomin-icon, +.apexcharts-zoomout-icon { + cursor: pointer; + width: 20px; + height: 20px; + line-height: 24px; + color: #6e8192; + text-align: center +} + +.apexcharts-menu-icon svg, +.apexcharts-reset-icon svg, +.apexcharts-zoom-icon svg, +.apexcharts-zoomin-icon svg, +.apexcharts-zoomout-icon svg { + fill: #6e8192 +} + +.apexcharts-selection-icon svg { + fill: #444; + transform: scale(.76) +} + +.apexcharts-theme-dark .apexcharts-menu-icon svg, +.apexcharts-theme-dark .apexcharts-pan-icon svg, +.apexcharts-theme-dark .apexcharts-reset-icon svg, +.apexcharts-theme-dark .apexcharts-selection-icon svg, +.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg, +.apexcharts-theme-dark .apexcharts-zoom-icon svg, +.apexcharts-theme-dark .apexcharts-zoomin-icon svg, +.apexcharts-theme-dark .apexcharts-zoomout-icon svg { + fill: #f3f4f5 +} + +.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg, +.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg, +.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg { + fill: #008ffb +} + +.apexcharts-theme-light .apexcharts-menu-icon:hover svg, +.apexcharts-theme-light .apexcharts-reset-icon:hover svg, +.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg, +.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg, +.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg, +.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg { + fill: #333 +} + +.apexcharts-menu-icon, +.apexcharts-selection-icon { + position: relative +} + +.apexcharts-reset-icon { + margin-left: 5px +} + +.apexcharts-menu-icon, +.apexcharts-reset-icon, +.apexcharts-zoom-icon { + transform: scale(.85) +} + +.apexcharts-zoomin-icon, +.apexcharts-zoomout-icon { + transform: scale(.7) +} + +.apexcharts-zoomout-icon { + margin-right: 3px +} + +.apexcharts-pan-icon { + transform: scale(.62); + position: relative; + left: 1px; + top: 0 +} + +.apexcharts-pan-icon svg { + fill: #fff; + stroke: #6e8192; + stroke-width: 2 +} + +.apexcharts-pan-icon.apexcharts-selected svg { + stroke: #008ffb +} + +.apexcharts-pan-icon:not(.apexcharts-selected):hover svg { + stroke: #333 +} + +.apexcharts-toolbar { + position: absolute; + z-index: 11; + max-width: 176px; + text-align: right; + border-radius: 3px; + padding: 0 6px 2px; + display: flex; + justify-content: space-between; + align-items: center +} + +.apexcharts-menu { + background: #fff; + position: absolute; + top: 100%; + border: 1px solid #ddd; + border-radius: 3px; + padding: 3px; + right: 10px; + opacity: 0; + min-width: 110px; + transition: .15s ease all; + pointer-events: none +} + +.apexcharts-menu.apexcharts-menu-open { + opacity: 1; + pointer-events: all; + transition: .15s ease all +} + +.apexcharts-menu-item { + padding: 6px 7px; + font-size: 12px; + cursor: pointer +} + +.apexcharts-theme-light .apexcharts-menu-item:hover { + background: #eee +} + +.apexcharts-theme-dark .apexcharts-menu { + background: rgba(0, 0, 0, .7); + color: #fff +} + +@media screen and (min-width:768px) { + .apexcharts-canvas:hover .apexcharts-toolbar { + opacity: 1 + } +} + +.apexcharts-canvas .apexcharts-element-hidden, +.apexcharts-datalabel.apexcharts-element-hidden, +.apexcharts-hide .apexcharts-series-points { + opacity: 0; +} + +.apexcharts-hidden-element-shown { + opacity: 1; + transition: 0.25s ease all; +} + +.apexcharts-datalabel, +.apexcharts-datalabel-label, +.apexcharts-datalabel-value, +.apexcharts-datalabels, +.apexcharts-pie-label { + cursor: default; + pointer-events: none +} + +.apexcharts-pie-label-delay { + opacity: 0; + animation-name: opaque; + animation-duration: .3s; + animation-fill-mode: forwards; + animation-timing-function: ease +} + +.apexcharts-radialbar-label { + cursor: pointer; +} + +.apexcharts-annotation-rect, +.apexcharts-area-series .apexcharts-area, +.apexcharts-gridline, +.apexcharts-line, +.apexcharts-point-annotation-label, +.apexcharts-radar-series path:not(.apexcharts-marker), +.apexcharts-radar-series polygon, +.apexcharts-toolbar svg, +.apexcharts-tooltip .apexcharts-marker, +.apexcharts-xaxis-annotation-label, +.apexcharts-yaxis-annotation-label, +.apexcharts-zoom-rect, +.no-pointer-events { + pointer-events: none +} + +.apexcharts-tooltip-active .apexcharts-marker { + transition: .15s ease all +} + +.resize-triggers { + animation: 1ms resizeanim; + visibility: hidden; + opacity: 0; + height: 100%; + width: 100%; + overflow: hidden +} + +.contract-trigger:before, +.resize-triggers, +.resize-triggers>div { + content: " "; + display: block; + position: absolute; + top: 0; + left: 0 +} + +.resize-triggers>div { + height: 100%; + width: 100%; + background: #eee; + overflow: auto +} + +.contract-trigger:before { + overflow: hidden; + width: 200%; + height: 200% +} + +.apexcharts-bar-goals-markers { + pointer-events: none +} + +.apexcharts-bar-shadows { + pointer-events: none +} + +.apexcharts-rangebar-goals-markers { + pointer-events: none +}`;var d=((h=e.opts.chart)===null||h===void 0?void 0:h.nonce)||e.w.config.chart.nonce;d&&l.setAttribute("nonce",d),r?a.prepend(l):n.head.appendChild(l)}var c=e.create(e.w.config.series,{});if(!c)return t(e);e.mount(c).then(function(){typeof e.w.config.chart.events.mounted=="function"&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent("mounted",[e,e.w]),t(c)}).catch(function(u){i(u)})}else i(new Error("Element not found"))})}},{key:"create",value:function(e,t){var i=this,s=this.w;new Fa(this).initModules();var a=this.w.globals;if(a.noData=!1,a.animationEnded=!1,!R.elementExists(this.el))return a.animationEnded=!0,this.destroy(),null;if(this.responsive.checkResponsiveConfig(t),s.config.xaxis.convertedCatToNumeric&&new Ut(s.config).convertCatToNumericXaxis(s.config,this.ctx),this.core.setupElements(),s.config.chart.type==="treemap"&&(s.config.grid.show=!1,s.config.yaxis[0].show=!1),a.svgWidth===0)return a.animationEnded=!0,null;var r=e;e.forEach(function(u,g){u.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:g}))});var n=Pe.checkComboSeries(r,s.config.chart.type);a.comboCharts=n.comboCharts,a.comboBarCount=n.comboBarCount;var l=r.every(function(u){return u.data&&u.data.length===0});(r.length===0||l&&a.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Ot(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!s.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),s.config.xaxis.type!=="category"&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=s.globals.minX,this.ctx.toolbar.maxX=s.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pe(this).getLargestMarkerSize(),this.dimensions.plotCoords();var h=this.core.xySettings();this.grid.createGridMask();var d=this.core.plotChartType(r,h),c=new zt(this);return c.bringForward(),s.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:d,xyRatios:h,dimensions:{plot:{left:s.globals.translateX,top:s.globals.translateY,width:s.globals.gridWidth,height:s.globals.gridHeight}}}}},{key:"mount",value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=this,s=i.w;return new Promise(function(a,r){if(i.el===null)return r(new Error("Not enough data to display or target element not found"));(t===null||s.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new ba(i);var n,l,h=i.grid.drawGrid();if(i.annotations=new nn(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),s.config.grid.position==="back"&&(h&&s.globals.dom.elGraphical.add(h.el),h!=null&&(n=h.elGridBorders)!==null&&n!==void 0&&n.node&&s.globals.dom.elGraphical.add(h.elGridBorders)),Array.isArray(t.elGraph))for(var d=0;d0&&s.globals.memory.methodsToExec.forEach(function(p){p.method(p.params,!1,p.context)}),s.globals.axisCharts||s.globals.noData||i.core.resizeNonAxisCharts(),a(i)})}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),function(t,i){var s=ms.get(i);s&&(s.disconnect(),ms.delete(i))}(this.el.parentNode,this.parentResizeHandler);var e=this.w.config.chart.id;e&&Apex._chartInstances.forEach(function(t,i){t.id===R.escapeString(e)&&Apex._chartInstances.splice(i,1)}),new Ya(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],s=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],n=this.w;return n.globals.selection=void 0,e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map(function(l,h){return t.updateHelpers._extendSeries(l,h)})),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,i,s,a,r)}},{key:"updateSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,i)}},{key:"appendSeries",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=this.w.config.series.slice();return s.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(s,t,i)}},{key:"appendData",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var s=i.w.config.series.slice(),a=0;a0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];this.series.resetSeries(e,t)}},{key:"addEventListener",value:function(e,t){this.events.addEventListener(e,t)}},{key:"removeEventListener",value:function(e,t){this.events.removeEventListener(e,t)}},{key:"addXaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addXaxisAnnotationExternal(e,t,s)}},{key:"addYaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addYaxisAnnotationExternal(e,t,s)}},{key:"addPointAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addPointAnnotationExternal(e,t,s)}},{key:"clearAnnotations",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:"removeAnnotation",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,i=this;t&&(i=t),i.annotations.removeAnnotation(i,e)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:"getHighestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new os(this.ctx).getMinYMaxY(e).highestY}},{key:"getLowestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new os(this.ctx).getMinYMaxY(e).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:"zoomX",value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:"setLocale",value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:"dataURI",value:function(e){return new di(this.ctx).dataURI(e)}},{key:"exportToCSV",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return new di(this.ctx).exportToCSV(e)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()},150)}},{key:"_windowResizeHandler",value:function(){var e=this.w.config.chart.redrawOnWindowResize;typeof e=="function"&&(e=e()),e&&this._windowResize()}}],[{key:"getChartByID",value:function(e){var t=R.escapeString(e);if(Apex._chartInstances){var i=Apex._chartInstances.filter(function(s){return s.id===t})[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),t=0;t2?a-2:0),n=2;nY_-y|fTkY$4I8J;XR+0!UNQzex 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∨gw&l@@)w>}BUv7S!SooAUQK>jbq2?Tg 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 Ah5!Hn literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js.map b/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js.map new file mode 100644 index 00000000..47492d59 --- /dev/null +++ b/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js.map @@ -0,0 +1 @@ +{"version":3,"file":"vue-apexcharts-BAOY4gp6.js","sources":["../../../../../buildchain/node_modules/axios/lib/helpers/bind.js","../../../../../buildchain/node_modules/axios/lib/utils.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/null.js","../../../../../buildchain/node_modules/axios/lib/helpers/toFormData.js","../../../../../buildchain/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/helpers/buildURL.js","../../../../../buildchain/node_modules/axios/lib/core/InterceptorManager.js","../../../../../buildchain/node_modules/axios/lib/defaults/transitional.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/index.js","../../../../../buildchain/node_modules/axios/lib/platform/common/utils.js","../../../../../buildchain/node_modules/axios/lib/platform/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../buildchain/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../buildchain/node_modules/axios/lib/defaults/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/transformData.js","../../../../../buildchain/node_modules/axios/lib/cancel/isCancel.js","../../../../../buildchain/node_modules/axios/lib/cancel/CanceledError.js","../../../../../buildchain/node_modules/axios/lib/core/settle.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseProtocol.js","../../../../../buildchain/node_modules/axios/lib/helpers/speedometer.js","../../../../../buildchain/node_modules/axios/lib/helpers/throttle.js","../../../../../buildchain/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../buildchain/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../buildchain/node_modules/axios/lib/helpers/cookies.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../buildchain/node_modules/axios/lib/helpers/combineURLs.js","../../../../../buildchain/node_modules/axios/lib/core/buildFullPath.js","../../../../../buildchain/node_modules/axios/lib/core/mergeConfig.js","../../../../../buildchain/node_modules/axios/lib/helpers/resolveConfig.js","../../../../../buildchain/node_modules/axios/lib/adapters/xhr.js","../../../../../buildchain/node_modules/axios/lib/helpers/composeSignals.js","../../../../../buildchain/node_modules/axios/lib/helpers/trackStream.js","../../../../../buildchain/node_modules/axios/lib/adapters/fetch.js","../../../../../buildchain/node_modules/axios/lib/adapters/adapters.js","../../../../../buildchain/node_modules/axios/lib/core/dispatchRequest.js","../../../../../buildchain/node_modules/axios/lib/env/data.js","../../../../../buildchain/node_modules/axios/lib/helpers/validator.js","../../../../../buildchain/node_modules/axios/lib/core/Axios.js","../../../../../buildchain/node_modules/axios/lib/cancel/CancelToken.js","../../../../../buildchain/node_modules/axios/lib/helpers/spread.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../buildchain/node_modules/axios/lib/axios.js","../../../../../buildchain/node_modules/apexcharts/dist/apexcharts.min.js","../../../../../buildchain/node_modules/vue-apexcharts/dist/vue-apexcharts.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.8\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*!\n * ApexCharts v4.1.0\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,n=!0,o=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return n=t.done,t},e:function(t){o=!0,r=t},f:function(){try{n||null==i.return||i.return()}finally{if(o)throw r}}}}function n(t){var i=c();return function(){var a,s=l(t);if(i){var r=l(this).constructor;a=Reflect.construct(s,arguments,r)}else a=s.apply(this,arguments);return function(t,i){if(i&&(\"object\"==typeof i||\"function\"==typeof i))return i;if(void 0!==i)throw new TypeError(\"Derived constructors may only return object or undefined\");return e(t)}(this,a)}}function o(t,e,i){return(e=x(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function h(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&g(t,e)}function c(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(c=function(){return!!t})()}function d(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function u(t){for(var e=1;e>16,n=i>>8&255,o=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===b(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"elementExists\",value:function(t){return!(!t||!t.isConnected)}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"preciseAddition\",value:function(t,e){var i=(String(t).split(\".\")[1]||\"\").length,a=(String(e).split(\".\")[1]||\"\").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isMsEdge\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"Edge/\");return e>0&&parseInt(t.substring(e+5,t.indexOf(\".\",e)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a){t.attr({opacity:0}).animate(e).attr({opacity:1}).after((function(){a()}))}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).after((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,n=t.pathTo,o=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,n,o,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,n,o){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(n=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r.trim()||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(n=1),t.plot(s).animate(1,o).plot(s).animate(n,o).plot(r).after((function(){v.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}();const w={},k=[];function A(t,e){if(Array.isArray(t))for(const i of t)A(i,e);else if(\"object\"!=typeof t)S(Object.getOwnPropertyNames(e)),w[t]=Object.assign(w[t]||{},e);else for(const e in t)A(e,t[e])}function C(t){return w[t]||{}}function S(t){k.push(...t)}function L(t,e){let i;const a=t.length,s=[];for(i=0;iz.has(t.nodeName),R=(t,e,i={})=>{const a={...e};for(const t in a)a[t].valueOf()===i[t]&&delete a[t];Object.keys(a).length?t.node.setAttribute(\"data-svgjs\",JSON.stringify(a)):(t.node.removeAttribute(\"data-svgjs\"),t.node.removeAttribute(\"svgjs:data\"))},E=\"http://www.w3.org/2000/svg\",Y=\"http://www.w3.org/2000/xmlns/\",H=\"http://www.w3.org/1999/xlink\",O={window:\"undefined\"==typeof window?null:window,document:\"undefined\"==typeof document?null:document};function F(){return O.window}let D=class{};const _={},N=\"___SYMBOL___ROOT___\";function W(t,e=E){return O.document.createElementNS(e,t)}function B(t,e=!1){if(t instanceof D)return t;if(\"object\"==typeof t)return U(t);if(null==t)return new _[N];if(\"string\"==typeof t&&\"<\"!==t.charAt(0))return U(O.document.querySelector(t));const i=e?O.document.createElement(\"div\"):W(\"svg\");return i.innerHTML=t,t=U(i.firstChild),i.removeChild(i.firstChild),t}function G(t,e){return e&&(e instanceof O.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:W(t)}function V(t){if(!t)return null;if(t.instance instanceof D)return t.instance;if(\"#document-fragment\"===t.nodeName)return new _.Fragment(t);let e=P(t.nodeName||\"Dom\");return\"LinearGradient\"===e||\"RadialGradient\"===e?e=\"Gradient\":_[e]||(e=\"Dom\"),new _[e](t)}let U=V;function q(t,e=t.name,i=!1){return _[e]=t,i&&(_[N]=t),S(Object.getOwnPropertyNames(t.prototype)),t}let Z=1e3;function $(t){return\"Svgjs\"+P(t)+Z++}function J(t){for(let e=t.children.length-1;e>=0;e--)J(t.children[e]);return t.id?(t.id=$(t.nodeName),t):t}function Q(t,e){let i,a;for(a=(t=Array.isArray(t)?t:[t]).length-1;a>=0;a--)for(i in e)t[a].prototype[i]=e[i]}function K(t){return function(...e){const i=e[e.length-1];return!i||i.constructor!==Object||i instanceof Array?t.apply(this,e):t.apply(this,e.slice(0,-1)).attr(i)}}A(\"Dom\",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const t=this.position();return this.parent().add(this.remove(),t+1),this},backward:function(){const t=this.position();return this.parent().add(this.remove(),t?t-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e),this},after:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e+1),this},insertBefore:function(t){return(t=B(t)).before(this),this},insertAfter:function(t){return(t=B(t)).after(this),this}});const tt=/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,et=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,it=/rgb\\((\\d+),(\\d+),(\\d+)\\)/,at=/(#[a-z_][a-z0-9\\-_]*)/i,st=/\\)\\s*,?\\s*/,rt=/\\s/g,nt=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,ot=/^rgb\\(/,lt=/^(\\s+)?$/,ht=/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,ct=/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,dt=/[\\s,]+/,ut=/[MLHVCSQTAZ]/i;function gt(t){const e=Math.round(t),i=Math.max(0,Math.min(255,e)).toString(16);return 1===i.length?\"0\"+i:i}function pt(t,e){for(let i=e.length;i--;)if(null==t[e[i]])return!1;return!0}function ft(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}A(\"Dom\",{classes:function(){const t=this.attr(\"class\");return null==t?[]:t.trim().split(dt)},hasClass:function(t){return-1!==this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){const e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!==t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)}}),A(\"Dom\",{css:function(t,e){const i={};if(0===arguments.length)return this.node.style.cssText.split(/\\s*;\\s*/).filter((function(t){return!!t.length})).forEach((function(t){const e=t.split(/\\s*:\\s*/);i[e[0]]=e[1]})),i;if(arguments.length<2){if(Array.isArray(t)){for(const e of t){const t=e;i[e]=this.node.style.getPropertyValue(t)}return i}if(\"string\"==typeof t)return this.node.style.getPropertyValue(t);if(\"object\"==typeof t)for(const e in t)this.node.style.setProperty(e,null==t[e]||lt.test(t[e])?\"\":t[e])}return 2===arguments.length&&this.node.style.setProperty(t,null==e||lt.test(e)?\"\":e),this},show:function(){return this.css(\"display\",\"\")},hide:function(){return this.css(\"display\",\"none\")},visible:function(){return\"none\"!==this.css(\"display\")}}),A(\"Dom\",{data:function(t,e,i){if(null==t)return this.data(L(function(t,e){let i;const a=t.length,s=[];for(i=0;i0===t.nodeName.indexOf(\"data-\"))),(t=>t.nodeName.slice(5))));if(t instanceof Array){const e={};for(const i of t)e[i]=this.data(i);return e}if(\"object\"==typeof t)for(e in t)this.data(e,t[e]);else if(arguments.length<2)try{return JSON.parse(this.attr(\"data-\"+t))}catch(e){return this.attr(\"data-\"+t)}else this.attr(\"data-\"+t,null===e?null:!0===i||\"string\"==typeof e||\"number\"==typeof e?e:JSON.stringify(e));return this}}),A(\"Dom\",{remember:function(t,e){if(\"object\"==typeof arguments[0])for(const e in t)this.remember(e,t[e]);else{if(1===arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0===arguments.length)this._memory={};else for(let t=arguments.length-1;t>=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory=this._memory||{}}});class xt{constructor(...t){this.init(...t)}static isColor(t){return t&&(t instanceof xt||this.isRgb(t)||this.test(t))}static isRgb(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b}static random(t=\"vibrant\",e){const{random:i,round:a,sin:s,PI:r}=Math;if(\"vibrant\"===t){const t=24*i()+57,e=38*i()+45,a=360*i();return new xt(t,e,a,\"lch\")}if(\"sine\"===t){const t=a(80*s(2*r*(e=null==e?i():e)/.5+.01)+150),n=a(50*s(2*r*e/.5+4.6)+200),o=a(100*s(2*r*e/.5+2.3)+150);return new xt(t,n,o)}if(\"pastel\"===t){const t=8*i()+86,e=17*i()+9,a=360*i();return new xt(t,e,a,\"lch\")}if(\"dark\"===t){const t=10+10*i(),e=50*i()+86,a=360*i();return new xt(t,e,a,\"lch\")}if(\"rgb\"===t){const t=255*i(),e=255*i(),a=255*i();return new xt(t,e,a)}if(\"lab\"===t){const t=100*i(),e=256*i()-128,a=256*i()-128;return new xt(t,e,a,\"lab\")}if(\"grey\"===t){const t=255*i();return new xt(t,t,t)}throw new Error(\"Unsupported random color mode\")}static test(t){return\"string\"==typeof t&&(nt.test(t)||ot.test(t))}cmyk(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.min(1-a,1-s,1-r);if(1===n)return new xt(0,0,0,1,\"cmyk\");return new xt((1-a-n)/(1-n),(1-s-n)/(1-n),(1-r-n)/(1-n),n,\"cmyk\")}hsl(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.max(a,s,r),o=Math.min(a,s,r),l=(n+o)/2,h=n===o,c=n-o;return new xt(360*(h?0:n===a?((s-r)/c+(s.5?c/(2-n-o):c/(n+o)),100*l,\"hsl\")}init(t=0,e=0,i=0,a=0,s=\"rgb\"){if(t=t||0,this.space)for(const t in this.space)delete this[this.space[t]];if(\"number\"==typeof t)s=\"string\"==typeof a?a:s,a=\"string\"==typeof a?0:a,Object.assign(this,{_a:t,_b:e,_c:i,_d:a,space:s});else if(t instanceof Array)this.space=e||(\"string\"==typeof t[3]?t[3]:t[4])||\"rgb\",Object.assign(this,{_a:t[0],_b:t[1],_c:t[2],_d:t[3]||0});else if(t instanceof Object){const i=function(t,e){const i=pt(t,\"rgb\")?{_a:t.r,_b:t.g,_c:t.b,_d:0,space:\"rgb\"}:pt(t,\"xyz\")?{_a:t.x,_b:t.y,_c:t.z,_d:0,space:\"xyz\"}:pt(t,\"hsl\")?{_a:t.h,_b:t.s,_c:t.l,_d:0,space:\"hsl\"}:pt(t,\"lab\")?{_a:t.l,_b:t.a,_c:t.b,_d:0,space:\"lab\"}:pt(t,\"lch\")?{_a:t.l,_b:t.c,_c:t.h,_d:0,space:\"lch\"}:pt(t,\"cmyk\")?{_a:t.c,_b:t.m,_c:t.y,_d:t.k,space:\"cmyk\"}:{_a:0,_b:0,_c:0,space:\"rgb\"};return i.space=e||i.space,i}(t,e);Object.assign(this,i)}else if(\"string\"==typeof t)if(ot.test(t)){const e=t.replace(rt,\"\"),[i,a,s]=it.exec(e).slice(1,4).map((t=>parseInt(t)));Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:\"rgb\"})}else{if(!nt.test(t))throw Error(\"Unsupported string format, can't construct Color\");{const e=t=>parseInt(t,16),[,i,a,s]=et.exec(function(t){return 4===t.length?[\"#\",t.substring(1,2),t.substring(1,2),t.substring(2,3),t.substring(2,3),t.substring(3,4),t.substring(3,4)].join(\"\"):t}(t)).map(e);Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:\"rgb\"})}}const{_a:r,_b:n,_c:o,_d:l}=this,h=\"rgb\"===this.space?{r:r,g:n,b:o}:\"xyz\"===this.space?{x:r,y:n,z:o}:\"hsl\"===this.space?{h:r,s:n,l:o}:\"lab\"===this.space?{l:r,a:n,b:o}:\"lch\"===this.space?{l:r,c:n,h:o}:\"cmyk\"===this.space?{c:r,m:n,y:o,k:l}:{};Object.assign(this,h)}lab(){const{x:t,y:e,z:i}=this.xyz();return new xt(116*e-16,500*(t-e),200*(e-i),\"lab\")}lch(){const{l:t,a:e,b:i}=this.lab(),a=Math.sqrt(e**2+i**2);let s=180*Math.atan2(i,e)/Math.PI;s<0&&(s*=-1,s=360-s);return new xt(t,a,s,\"lch\")}rgb(){if(\"rgb\"===this.space)return this;if(\"lab\"===(t=this.space)||\"xyz\"===t||\"lch\"===t){let{x:t,y:e,z:i}=this;if(\"lab\"===this.space||\"lch\"===this.space){let{l:a,a:s,b:r}=this;if(\"lch\"===this.space){const{c:t,h:e}=this,i=Math.PI/180;s=t*Math.cos(i*e),r=t*Math.sin(i*e)}const n=(a+16)/116,o=s/500+n,l=n-r/200,h=16/116,c=.008856,d=7.787;t=.95047*(o**3>c?o**3:(o-h)/d),e=1*(n**3>c?n**3:(n-h)/d),i=1.08883*(l**3>c?l**3:(l-h)/d)}const a=3.2406*t+-1.5372*e+-.4986*i,s=-.9689*t+1.8758*e+.0415*i,r=.0557*t+-.204*e+1.057*i,n=Math.pow,o=.0031308,l=a>o?1.055*n(a,1/2.4)-.055:12.92*a,h=s>o?1.055*n(s,1/2.4)-.055:12.92*s,c=r>o?1.055*n(r,1/2.4)-.055:12.92*r;return new xt(255*l,255*h,255*c)}if(\"hsl\"===this.space){let{h:t,s:e,l:i}=this;if(t/=360,e/=100,i/=100,0===e){i*=255;return new xt(i,i,i)}const a=i<.5?i*(1+e):i+e-i*e,s=2*i-a,r=255*ft(s,a,t+1/3),n=255*ft(s,a,t),o=255*ft(s,a,t-1/3);return new xt(r,n,o)}if(\"cmyk\"===this.space){const{c:t,m:e,y:i,k:a}=this,s=255*(1-Math.min(1,t*(1-a)+a)),r=255*(1-Math.min(1,e*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a));return new xt(s,r,n)}return this;var t}toArray(){const{_a:t,_b:e,_c:i,_d:a,space:s}=this;return[t,e,i,a,s]}toHex(){const[t,e,i]=this._clamped().map(gt);return`#${t}${e}${i}`}toRgb(){const[t,e,i]=this._clamped();return`rgb(${t},${e},${i})`}toString(){return this.toHex()}xyz(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,o=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,h=(.4124*n+.3576*o+.1805*l)/.95047,c=(.2126*n+.7152*o+.0722*l)/1,d=(.0193*n+.1192*o+.9505*l)/1.08883,u=h>.008856?Math.pow(h,1/3):7.787*h+16/116,g=c>.008856?Math.pow(c,1/3):7.787*c+16/116,p=d>.008856?Math.pow(d,1/3):7.787*d+16/116;return new xt(u,g,p,\"xyz\")}_clamped(){const{_a:t,_b:e,_c:i}=this.rgb(),{max:a,min:s,round:r}=Math;return[t,e,i].map((t=>a(0,s(r(t),255))))}}class bt{constructor(...t){this.init(...t)}clone(){return new bt(this)}init(t,e){const i=0,a=0,s=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"==typeof t?{x:t.x,y:t.y}:{x:t,y:e};return this.x=null==s.x?i:s.x,this.y=null==s.y?a:s.y,this}toArray(){return[this.x,this.y]}transform(t){return this.clone().transformO(t)}transformO(t){vt.isMatrixLike(t)||(t=new vt(t));const{x:e,y:i}=this;return this.x=t.a*e+t.c*i+t.e,this.y=t.b*e+t.d*i+t.f,this}}function mt(t,e,i){return Math.abs(e-t)<(i||1e-6)}class vt{constructor(...t){this.init(...t)}static formatTransforms(t){const e=\"both\"===t.flip||!0===t.flip,i=t.flip&&(e||\"x\"===t.flip)?-1:1,a=t.flip&&(e||\"y\"===t.flip)?-1:1,s=t.skew&&t.skew.length?t.skew[0]:isFinite(t.skew)?t.skew:isFinite(t.skewX)?t.skewX:0,r=t.skew&&t.skew.length?t.skew[1]:isFinite(t.skew)?t.skew:isFinite(t.skewY)?t.skewY:0,n=t.scale&&t.scale.length?t.scale[0]*i:isFinite(t.scale)?t.scale*i:isFinite(t.scaleX)?t.scaleX*i:i,o=t.scale&&t.scale.length?t.scale[1]*a:isFinite(t.scale)?t.scale*a:isFinite(t.scaleY)?t.scaleY*a:a,l=t.shear||0,h=t.rotate||t.theta||0,c=new bt(t.origin||t.around||t.ox||t.originX,t.oy||t.originY),d=c.x,u=c.y,g=new bt(t.position||t.px||t.positionX||NaN,t.py||t.positionY||NaN),p=g.x,f=g.y,x=new bt(t.translate||t.tx||t.translateX,t.ty||t.translateY),b=x.x,m=x.y,v=new bt(t.relative||t.rx||t.relativeX,t.ry||t.relativeY);return{scaleX:n,scaleY:o,skewX:s,skewY:r,shear:l,theta:h,rx:v.x,ry:v.y,tx:b,ty:m,ox:d,oy:u,px:p,py:f}}static fromArray(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}static isMatrixLike(t){return null!=t.a||null!=t.b||null!=t.c||null!=t.d||null!=t.e||null!=t.f}static matrixMultiply(t,e,i){const a=t.a*e.a+t.c*e.b,s=t.b*e.a+t.d*e.b,r=t.a*e.c+t.c*e.d,n=t.b*e.c+t.d*e.d,o=t.e+t.a*e.e+t.c*e.f,l=t.f+t.b*e.e+t.d*e.f;return i.a=a,i.b=s,i.c=r,i.d=n,i.e=o,i.f=l,i}around(t,e,i){return this.clone().aroundO(t,e,i)}aroundO(t,e,i){const a=t||0,s=e||0;return this.translateO(-a,-s).lmultiplyO(i).translateO(a,s)}clone(){return new vt(this)}decompose(t=0,e=0){const i=this.a,a=this.b,s=this.c,r=this.d,n=this.e,o=this.f,l=i*r-a*s,h=l>0?1:-1,c=h*Math.sqrt(i*i+a*a),d=Math.atan2(h*a,h*i),u=180/Math.PI*d,g=Math.cos(d),p=Math.sin(d),f=(i*s+a*r)/l,x=s*c/(f*i-a)||r*c/(f*a+i);return{scaleX:c,scaleY:x,shear:f,rotate:u,translateX:n-t+t*g*c+e*(f*g*c-p*x),translateY:o-e+t*p*c+e*(f*p*c+g*x),originX:t,originY:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(t){if(t===this)return!0;const e=new vt(t);return mt(this.a,e.a)&&mt(this.b,e.b)&&mt(this.c,e.c)&&mt(this.d,e.d)&&mt(this.e,e.e)&&mt(this.f,e.f)}flip(t,e){return this.clone().flipO(t,e)}flipO(t,e){return\"x\"===t?this.scaleO(-1,1,e,0):\"y\"===t?this.scaleO(1,-1,0,e):this.scaleO(-1,-1,t,e||t)}init(t){const e=vt.fromArray([1,0,0,1,0,0]);return t=t instanceof Gt?t.matrixify():\"string\"==typeof t?vt.fromArray(t.split(dt).map(parseFloat)):Array.isArray(t)?vt.fromArray(t):\"object\"==typeof t&&vt.isMatrixLike(t)?t:\"object\"==typeof t?(new vt).transform(t):6===arguments.length?vt.fromArray([].slice.call(arguments)):e,this.a=null!=t.a?t.a:e.a,this.b=null!=t.b?t.b:e.b,this.c=null!=t.c?t.c:e.c,this.d=null!=t.d?t.d:e.d,this.e=null!=t.e?t.e:e.e,this.f=null!=t.f?t.f:e.f,this}inverse(){return this.clone().inverseO()}inverseO(){const t=this.a,e=this.b,i=this.c,a=this.d,s=this.e,r=this.f,n=t*a-e*i;if(!n)throw new Error(\"Cannot invert \"+this);const o=a/n,l=-e/n,h=-i/n,c=t/n,d=-(o*s+h*r),u=-(l*s+c*r);return this.a=o,this.b=l,this.c=h,this.d=c,this.e=d,this.f=u,this}lmultiply(t){return this.clone().lmultiplyO(t)}lmultiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(e,this,this)}multiply(t){return this.clone().multiplyO(t)}multiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(this,e,this)}rotate(t,e,i){return this.clone().rotateO(t,e,i)}rotateO(t,e=0,i=0){t=M(t);const a=Math.cos(t),s=Math.sin(t),{a:r,b:n,c:o,d:l,e:h,f:c}=this;return this.a=r*a-n*s,this.b=n*a+r*s,this.c=o*a-l*s,this.d=l*a+o*s,this.e=h*a-c*s+i*s-e*a+e,this.f=c*a+h*s-e*s-i*a+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t);const{a:s,b:r,c:n,d:o,e:l,f:h}=this;return this.a=s*t,this.b=r*e,this.c=n*t,this.d=o*e,this.e=l*t-i*t+i,this.f=h*e-a*e+a,this}shear(t,e,i){return this.clone().shearO(t,e,i)}shearO(t,e=0,i=0){const{a:a,b:s,c:r,d:n,e:o,f:l}=this;return this.a=a+s*t,this.c=r+n*t,this.e=o+l*t-i*t,this}skew(){return this.clone().skewO(...arguments)}skewO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t),t=M(t),e=M(e);const s=Math.tan(t),r=Math.tan(e),{a:n,b:o,c:l,d:h,e:c,f:d}=this;return this.a=n+o*s,this.b=o+n*r,this.c=l+h*s,this.d=h+l*r,this.e=c+d*s-a*s,this.f=d+c*r-i*r,this}skewX(t,e,i){return this.skew(t,0,e,i)}skewY(t,e,i){return this.skew(0,t,e,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return\"matrix(\"+this.a+\",\"+this.b+\",\"+this.c+\",\"+this.d+\",\"+this.e+\",\"+this.f+\")\"}transform(t){if(vt.isMatrixLike(t)){return new vt(t).multiplyO(this)}const e=vt.formatTransforms(t),{x:i,y:a}=new bt(e.ox,e.oy).transform(this),s=(new vt).translateO(e.rx,e.ry).lmultiplyO(this).translateO(-i,-a).scaleO(e.scaleX,e.scaleY).skewO(e.skewX,e.skewY).shearO(e.shear).rotateO(e.theta).translateO(i,a);if(isFinite(e.px)||isFinite(e.py)){const t=new bt(i,a).transform(s),r=isFinite(e.px)?e.px-t.x:0,n=isFinite(e.py)?e.py-t.y:0;s.translateO(r,n)}return s.translateO(e.tx,e.ty),s}translate(t,e){return this.clone().translateO(t,e)}translateO(t,e){return this.e+=t||0,this.f+=e||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function yt(){if(!yt.nodes){const t=B().size(2,0);t.node.style.cssText=[\"opacity: 0\",\"position: absolute\",\"left: -100%\",\"top: -100%\",\"overflow: hidden\"].join(\";\"),t.attr(\"focusable\",\"false\"),t.attr(\"aria-hidden\",\"true\");const e=t.path().node;yt.nodes={svg:t,path:e}}if(!yt.nodes.svg.node.parentNode){const t=O.document.body||O.document.documentElement;yt.nodes.svg.addTo(t)}return yt.nodes}function wt(t){return!(t.width||t.height||t.x||t.y)}q(vt,\"Matrix\");class kt{constructor(...t){this.init(...t)}addOffset(){return this.x+=O.window.pageXOffset,this.y+=O.window.pageYOffset,new kt(this)}init(t){return t=\"string\"==typeof t?t.split(dt).map(parseFloat):Array.isArray(t)?t:\"object\"==typeof t?[null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height]:4===arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0]||0,this.y=t[1]||0,this.width=this.w=t[2]||0,this.height=this.h=t[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return wt(this)}merge(t){const e=Math.min(this.x,t.x),i=Math.min(this.y,t.y),a=Math.max(this.x+this.width,t.x+t.width)-e,s=Math.max(this.y+this.height,t.y+t.height)-i;return new kt(e,i,a,s)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+\" \"+this.y+\" \"+this.width+\" \"+this.height}transform(t){t instanceof vt||(t=new vt(t));let e=1/0,i=-1/0,a=1/0,s=-1/0;return[new bt(this.x,this.y),new bt(this.x2,this.y),new bt(this.x,this.y2),new bt(this.x2,this.y2)].forEach((function(r){r=r.transform(t),e=Math.min(e,r.x),i=Math.max(i,r.x),a=Math.min(a,r.y),s=Math.max(s,r.y)})),new kt(e,a,i-e,s-a)}}function At(t,e,i){let a;try{if(a=e(t.node),wt(a)&&((s=t.node)!==O.document&&!(O.document.documentElement.contains||function(t){for(;t.parentNode;)t=t.parentNode;return t===O.document}).call(O.document.documentElement,s)))throw new Error(\"Element not in the dom\")}catch(e){a=i(t)}var s;return a}A({viewbox:{viewbox(t,e,i,a){return null==t?new kt(this.attr(\"viewBox\")):this.attr(\"viewBox\",new kt(t,e,i,a))},zoom(t,e){let{width:i,height:a}=this.attr([\"width\",\"height\"]);if((i||a)&&\"string\"!=typeof i&&\"string\"!=typeof a||(i=this.node.clientWidth,a=this.node.clientHeight),!i||!a)throw new Error(\"Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element\");const s=this.viewbox(),r=i/s.width,n=a/s.height,o=Math.min(r,n);if(null==t)return o;let l=o/t;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new bt(i/2/r+s.x,a/2/n+s.y);const h=new kt(s).transform(new vt({scale:l,origin:e}));return this.viewbox(h)}}}),q(kt,\"Box\");class Ct extends Array{constructor(t=[],...e){if(super(t,...e),\"number\"==typeof t)return this;this.length=0,this.push(...t)}}Q([Ct],{each(t,...e){return\"function\"==typeof t?this.map(((e,i,a)=>t.call(e,e,i,a))):this.map((i=>i[t](...e)))},toArray(){return Array.prototype.concat.apply([],this)}});const St=[\"toArray\",\"constructor\",\"each\"];function Lt(t,e){return new Ct(L((e||O.document).querySelectorAll(t),(function(t){return V(t)})))}Ct.extend=function(t){t=t.reduce(((t,e)=>(St.includes(e)||\"_\"===e[0]||(e in Array.prototype&&(t[\"$\"+e]=Array.prototype[e]),t[e]=function(...t){return this.each(e,...t)}),t)),{}),Q([Ct],t)};let Mt=0;const Pt={};function It(t){let e=t.getEventHolder();return e===O.window&&(e=Pt),e.events||(e.events={}),e.events}function Tt(t){return t.getEventTarget()}function zt(t,e,i,a,s){const r=i.bind(a||t),n=B(t),o=It(n),l=Tt(n);e=Array.isArray(e)?e:e.split(dt),i._svgjsListenerId||(i._svgjsListenerId=++Mt),e.forEach((function(t){const e=t.split(\".\")[0],a=t.split(\".\")[1]||\"*\";o[e]=o[e]||{},o[e][a]=o[e][a]||{},o[e][a][i._svgjsListenerId]=r,l.addEventListener(e,r,s||!1)}))}function Xt(t,e,i,a){const s=B(t),r=It(s),n=Tt(s);(\"function\"!=typeof i||(i=i._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||\"\").split(dt)).forEach((function(t){const e=t&&t.split(\".\")[0],o=t&&t.split(\".\")[1];let l,h;if(i)r[e]&&r[e][o||\"*\"]&&(n.removeEventListener(e,r[e][o||\"*\"][i],a||!1),delete r[e][o||\"*\"][i]);else if(e&&o){if(r[e]&&r[e][o]){for(h in r[e][o])Xt(n,[e,o].join(\".\"),h);delete r[e][o]}}else if(o)for(t in r)for(l in r[t])o===l&&Xt(n,[t,o].join(\".\"));else if(e){if(r[e]){for(l in r[e])Xt(n,[e,l].join(\".\"));delete r[e]}}else{for(t in r)Xt(n,t);!function(t){let e=t.getEventHolder();e===O.window&&(e=Pt),e.events&&(e.events={})}(s)}}))}class Rt extends D{addEventListener(){}dispatch(t,e,i){return function(t,e,i,a){const s=Tt(t);return e instanceof O.window.Event||(e=new O.window.CustomEvent(e,{detail:i,cancelable:!0,...a})),s.dispatchEvent(e),e}(this,t,e,i)}dispatchEvent(t){const e=this.getEventHolder().events;if(!e)return!0;const i=e[t.type];for(const e in i)for(const a in i[e])i[e][a](t);return!t.defaultPrevented}fire(t,e,i){return this.dispatch(t,e,i),this}getEventHolder(){return this}getEventTarget(){return this}off(t,e,i){return Xt(this,t,e,i),this}on(t,e,i,a){return zt(this,t,e,i,a),this}removeEventListener(){}}function Et(){}q(Rt,\"EventTarget\");const Yt=400,Ht=\">\",Ot=0,Ft={\"fill-opacity\":1,\"stroke-opacity\":1,\"stroke-width\":0,\"stroke-linejoin\":\"miter\",\"stroke-linecap\":\"butt\",fill:\"#000000\",stroke:\"#000000\",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,\"stop-opacity\":1,\"stop-color\":\"#000000\",\"text-anchor\":\"start\"};class Dt extends Array{constructor(...t){super(...t),this.init(...t)}clone(){return new this.constructor(this)}init(t){return\"number\"==typeof t||(this.length=0,this.push(...this.parse(t))),this}parse(t=[]){return t instanceof Array?t:t.trim().split(dt).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(\" \")}valueOf(){const t=[];return t.push(...this),t}}class _t{constructor(...t){this.init(...t)}convert(t){return new _t(this.value,t)}divide(t){return t=new _t(t),new _t(this/t,this.unit||t.unit)}init(t,e){return e=Array.isArray(t)?t[1]:e,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(tt))&&(this.value=parseFloat(e[1]),\"%\"===e[5]?this.value/=100:\"s\"===e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof _t&&(this.value=t.valueOf(),this.unit=t.unit),this}minus(t){return t=new _t(t),new _t(this-t,this.unit||t.unit)}plus(t){return t=new _t(t),new _t(this+t,this.unit||t.unit)}times(t){return t=new _t(t),new _t(this*t,this.unit||t.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}toString(){return(\"%\"===this.unit?~~(1e8*this.value)/1e6:\"s\"===this.unit?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nt=new Set([\"fill\",\"stroke\",\"color\",\"bgcolor\",\"stop-color\",\"flood-color\",\"lighting-color\"]),Wt=[];class Bt extends Rt{constructor(t,e){super(),this.node=t,this.type=t.nodeName,e&&t!==e&&this.attr(e)}add(t,e){return(t=B(t)).removeNamespace&&this.node instanceof O.window.SVGElement&&t.removeNamespace(),null==e?this.node.appendChild(t.node):t.node!==this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this}addTo(t,e){return B(t).put(this,e)}children(){return new Ct(L(this.node.children,(function(t){return V(t)})))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(t=!0,e=!0){this.writeDataToDom();let i=this.node.cloneNode(t);return e&&(i=J(i)),new this.constructor(i)}each(t,e){const i=this.children();let a,s;for(a=0,s=i.length;a=0}html(t,e){return this.xml(t,e,\"http://www.w3.org/1999/xhtml\")}id(t){return void 0!==t||this.node.id||(this.node.id=$(this.type)),this.attr(\"id\",t)}index(t){return[].slice.call(this.node.childNodes).indexOf(t.node)}last(){return V(this.node.lastChild)}matches(t){const e=this.node,i=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector||null;return i&&i.call(e,t)}parent(t){let e=this;if(!e.node.parentNode)return null;if(e=V(e.node.parentNode),!t)return e;do{if(\"string\"==typeof t?e.matches(t):e instanceof t)return e}while(e=V(e.node.parentNode));return e}put(t,e){return t=B(t),this.add(t,e),t}putIn(t,e){return B(t).add(this,e)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(t){return this.node.removeChild(t.node),this}replace(t){return t=B(t),this.node.parentNode&&this.node.parentNode.replaceChild(t.node,this.node),t}round(t=2,e=null){const i=10**t,a=this.attr(e);for(const t in a)\"number\"==typeof a[t]&&(a[t]=Math.round(a[t]*i)/i);return this.attr(a),this}svg(t,e){return this.xml(t,e,E)}toString(){return this.id()}words(t){return this.node.textContent=t,this}wrap(t){const e=this.parent();if(!e)return this.addTo(t);const i=e.index(this);return e.put(t,i).put(this)}writeDataToDom(){return this.each((function(){this.writeDataToDom()})),this}xml(t,e,i){if(\"boolean\"==typeof t&&(i=e,e=t,t=null),null==t||\"function\"==typeof t){e=null==e||e,this.writeDataToDom();let i=this;if(null!=t){if(i=V(i.node.cloneNode(!0)),e){const e=t(i);if(i=e||i,!1===e)return\"\"}i.each((function(){const e=t(this),i=e||this;!1===e?this.remove():e&&this!==i&&this.replace(i)}),!0)}return e?i.node.outerHTML:i.node.innerHTML}e=null!=e&&e;const a=W(\"wrapper\",i),s=O.document.createDocumentFragment();a.innerHTML=t;for(let t=a.children.length;t--;)s.appendChild(a.firstElementChild);const r=this.parent();return e?this.replace(s)&&r:this.add(s)}}Q(Bt,{attr:function(t,e,i){if(null==t){t={},e=this.node.attributes;for(const i of e)t[i.nodeName]=ht.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return t}if(t instanceof Array)return t.reduce(((t,e)=>(t[e]=this.attr(e),t)),{});if(\"object\"==typeof t&&t.constructor===Object)for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?Ft[t]:ht.test(e)?parseFloat(e):e;\"number\"==typeof(e=Wt.reduce(((e,i)=>i(t,e,this)),e))?e=new _t(e):Nt.has(t)&&xt.isColor(e)?e=new xt(e):e.constructor===Array&&(e=new Dt(e)),\"leading\"===t?this.leading&&this.leading(e):\"string\"==typeof i?this.node.setAttributeNS(i,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!==t&&\"x\"!==t||this.rebuild()}return this},find:function(t){return Lt(t,this.node)},findOne:function(t){return V(this.node.querySelector(t))}}),q(Bt,\"Dom\");class Gt extends Bt{constructor(t,e){super(t,e),this.dom={},this.node.instance=this,(t.hasAttribute(\"data-svgjs\")||t.hasAttribute(\"svgjs:data\"))&&this.setData(JSON.parse(t.getAttribute(\"data-svgjs\"))??JSON.parse(t.getAttribute(\"svgjs:data\"))??{})}center(t,e){return this.cx(t).cy(e)}cx(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)}cy(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)}defs(){const t=this.root();return t&&t.defs()}dmove(t,e){return this.dx(t).dy(e)}dx(t=0){return this.x(new _t(t).plus(this.x()))}dy(t=0){return this.y(new _t(t).plus(this.y()))}getEventHolder(){return this}height(t){return this.attr(\"height\",t)}move(t,e){return this.x(t).y(e)}parents(t=this.root()){const e=\"string\"==typeof t;e||(t=B(t));const i=new Ct;let a=this;for(;(a=a.parent())&&a.node!==O.document&&\"#document-fragment\"!==a.nodeName&&(i.push(a),e||a.node!==t.node)&&(!e||!a.matches(t));)if(a.node===this.root().node)return null;return i}reference(t){if(!(t=this.attr(t)))return null;const e=(t+\"\").match(at);return e?B(e[1]):null}root(){const t=this.parent(function(t){return _[t]}(N));return t&&t.root()}setData(t){return this.dom=t,this}size(t,e){const i=I(this,t,e);return this.width(new _t(i.width)).height(new _t(i.height))}width(t){return this.attr(\"width\",t)}writeDataToDom(){return R(this,this.dom),super.writeDataToDom()}x(t){return this.attr(\"x\",t)}y(t){return this.attr(\"y\",t)}}Q(Gt,{bbox:function(){const t=At(this,(t=>t.getBBox()),(t=>{try{const e=t.clone().addTo(yt().svg).show(),i=e.node.getBBox();return e.remove(),i}catch(e){throw new Error(`Getting bbox of element \"${t.node.nodeName}\" is not possible: ${e.toString()}`)}}));return new kt(t)},rbox:function(t){const e=At(this,(t=>t.getBoundingClientRect()),(t=>{throw new Error(`Getting rbox of element \"${t.node.nodeName}\" is not possible`)})),i=new kt(e);return t?i.transform(t.screenCTM().inverseO()):i.addOffset()},inside:function(t,e){const i=this.bbox();return t>i.x&&e>i.y&&t=0;i--)null!=e[jt[t][i]]&&this.attr(jt.prefix(t,jt[t][i]),e[jt[t][i]]);return this},A([\"Element\",\"Runner\"],e)})),A([\"Element\",\"Runner\"],{matrix:function(t,e,i,a,s,r){return null==t?new vt(this):this.attr(\"transform\",new vt(t,e,i,a,s,r))},rotate:function(t,e,i){return this.transform({rotate:t,ox:e,oy:i},!0)},skew:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({skew:t,ox:e,oy:i},!0):this.transform({skew:[t,e],ox:i,oy:a},!0)},shear:function(t,e,i){return this.transform({shear:t,ox:e,oy:i},!0)},scale:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({scale:t,ox:e,oy:i},!0):this.transform({scale:[t,e],ox:i,oy:a},!0)},translate:function(t,e){return this.transform({translate:[t,e]},!0)},relative:function(t,e){return this.transform({relative:[t,e]},!0)},flip:function(t=\"both\",e=\"center\"){return-1===\"xybothtrue\".indexOf(t)&&(e=t,t=\"both\"),this.transform({flip:t,origin:e},!0)},opacity:function(t){return this.attr(\"opacity\",t)}}),A(\"radius\",{radius:function(t,e=t){return\"radialGradient\"===(this._element||this).type?this.attr(\"r\",new _t(t)):this.rx(t).ry(e)}}),A(\"Path\",{length:function(){return this.node.getTotalLength()},pointAt:function(t){return new bt(this.node.getPointAtLength(t))}}),A([\"Element\",\"Runner\"],{font:function(t,e){if(\"object\"==typeof t){for(e in t)this.font(e,t[e]);return this}return\"leading\"===t?this.leading(e):\"anchor\"===t?this.attr(\"text-anchor\",e):\"size\"===t||\"family\"===t||\"weight\"===t||\"stretch\"===t||\"variant\"===t||\"style\"===t?this.attr(\"font-\"+t,e):this.attr(t,e)}});A(\"Element\",[\"click\",\"dblclick\",\"mousedown\",\"mouseup\",\"mouseover\",\"mouseout\",\"mousemove\",\"mouseenter\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"touchend\",\"touchcancel\",\"contextmenu\",\"wheel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\"].reduce((function(t,e){return t[e]=function(t){return null===t?this.off(e):this.on(e,t),this},t}),{})),A(\"Element\",{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){const t=(this.attr(\"transform\")||\"\").split(st).slice(0,-1).map((function(t){const e=t.trim().split(\"(\");return[e[0],e[1].split(dt).map((function(t){return parseFloat(t)}))]})).reverse().reduce((function(t,e){return\"matrix\"===e[0]?t.lmultiply(vt.fromArray(e[1])):t[e[0]].apply(t,e[1])}),new vt);return t},toParent:function(t,e){if(this===t)return this;if(X(this.node))return this.addTo(t,e);const i=this.screenCTM(),a=t.screenCTM().inverse();return this.addTo(t,e).untransform().transform(a.multiply(i)),this},toRoot:function(t){return this.toParent(this.root(),t)},transform:function(t,e){if(null==t||\"string\"==typeof t){const e=new vt(this).decompose();return null==t?e:e[t]}vt.isMatrixLike(t)||(t={...t,origin:T(t,this)});const i=new vt(!0===e?this:e||!1).transform(t);return this.attr(\"transform\",i)}});class Vt extends Gt{flatten(){return this.each((function(){if(this instanceof Vt)return this.flatten().ungroup()})),this}ungroup(t=this.parent(),e=t.index(this)){return e=-1===e?t.children().length:e,this.each((function(i,a){return a[a.length-i-1].toParent(t,e)})),this.remove()}}q(Vt,\"Container\");class Ut extends Vt{constructor(t,e=t){super(G(\"defs\",t),e)}flatten(){return this}ungroup(){return this}}q(Ut,\"Defs\");class qt extends Gt{}function Zt(t){return this.attr(\"rx\",t)}function $t(t){return this.attr(\"ry\",t)}function Jt(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())}function Qt(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())}function Kt(t){return this.attr(\"cx\",t)}function te(t){return this.attr(\"cy\",t)}function ee(t){return null==t?2*this.rx():this.rx(new _t(t).divide(2))}function ie(t){return null==t?2*this.ry():this.ry(new _t(t).divide(2))}q(qt,\"Shape\");var ae=Object.freeze({__proto__:null,cx:Kt,cy:te,height:ie,rx:Zt,ry:$t,width:ee,x:Jt,y:Qt});class se extends qt{constructor(t,e=t){super(G(\"ellipse\",t),e)}size(t,e){const i=I(this,t,e);return this.rx(new _t(i.width).divide(2)).ry(new _t(i.height).divide(2))}}Q(se,ae),A(\"Container\",{ellipse:K((function(t=0,e=t){return this.put(new se).size(t,e).move(0,0)}))}),q(se,\"Ellipse\");class re extends Bt{constructor(t=O.document.createDocumentFragment()){super(t)}xml(t,e,i){if(\"boolean\"==typeof t&&(i=e,e=t,t=null),null==t||\"function\"==typeof t){const t=new Bt(W(\"wrapper\",i));return t.add(this.node.cloneNode(!0)),t.xml(!1,i)}return super.xml(t,!1,i)}}function ne(t,e){return\"radialGradient\"===(this._element||this).type?this.attr({fx:new _t(t),fy:new _t(e)}):this.attr({x1:new _t(t),y1:new _t(e)})}function oe(t,e){return\"radialGradient\"===(this._element||this).type?this.attr({cx:new _t(t),cy:new _t(e)}):this.attr({x2:new _t(t),y2:new _t(e)})}q(re,\"Fragment\");var le=Object.freeze({__proto__:null,from:ne,to:oe});class he extends Vt{constructor(t,e){super(G(t+\"Gradient\",\"string\"==typeof t?null:t),e)}attr(t,e,i){return\"transform\"===t&&(t=\"gradientTransform\"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt(\"svg [fill*=\"+this.id()+\"]\")}toString(){return this.url()}update(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this}url(){return\"url(#\"+this.id()+\")\"}}Q(he,le),A({Container:{gradient(...t){return this.defs().gradient(...t)}},Defs:{gradient:K((function(t,e){return this.put(new he(t)).update(e)}))}}),q(he,\"Gradient\");class ce extends Vt{constructor(t,e=t){super(G(\"pattern\",t),e)}attr(t,e,i){return\"transform\"===t&&(t=\"patternTransform\"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt(\"svg [fill*=\"+this.id()+\"]\")}toString(){return this.url()}update(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this}url(){return\"url(#\"+this.id()+\")\"}}A({Container:{pattern(...t){return this.defs().pattern(...t)}},Defs:{pattern:K((function(t,e,i){return this.put(new ce).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:\"userSpaceOnUse\"})}))}}),q(ce,\"Pattern\");let de=class extends qt{constructor(t,e=t){super(G(\"image\",t),e)}load(t,e){if(!t)return this;const i=new O.window.Image;return zt(i,\"load\",(function(t){const a=this.parent(ce);0===this.width()&&0===this.height()&&this.size(i.width,i.height),a instanceof ce&&0===a.width()&&0===a.height()&&a.size(this.width(),this.height()),\"function\"==typeof e&&e.call(this,t)}),this),zt(i,\"load error\",(function(){Xt(i)})),this.attr(\"href\",i.src=t,H)}};var ue;ue=function(t,e,i){return\"fill\"!==t&&\"stroke\"!==t||ct.test(e)&&(e=i.root().defs().image(e)),e instanceof de&&(e=i.root().defs().pattern(0,0,(t=>{t.add(e)}))),e},Wt.push(ue),A({Container:{image:K((function(t,e){return this.put(new de).size(0,0).load(t,e)}))}}),q(de,\"Image\");class ge extends Dt{bbox(){let t=-1/0,e=-1/0,i=1/0,a=1/0;return this.forEach((function(s){t=Math.max(s[0],t),e=Math.max(s[1],e),i=Math.min(s[0],i),a=Math.min(s[1],a)})),new kt(i,a,t-i,e-a)}move(t,e){const i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(let i=this.length-1;i>=0;i--)this[i]=[this[i][0]+t,this[i][1]+e];return this}parse(t=[0,0]){const e=[];(t=t instanceof Array?Array.prototype.concat.apply([],t):t.trim().split(dt).map(parseFloat)).length%2!=0&&t.pop();for(let i=0,a=t.length;i=0;i--)a.width&&(this[i][0]=(this[i][0]-a.x)*t/a.width+a.x),a.height&&(this[i][1]=(this[i][1]-a.y)*e/a.height+a.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const t=[];for(let e=0,i=this.length;e\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)},bezier:function(t,e,i,a){return function(s){return s<0?t>0?e/t*s:i>0?a/i*s:0:s>1?i<1?(1-a)/(1-i)*s+(a-i)/(1-i):t<1?(1-e)/(1-t)*s+(e-t)/(1-t):1:3*s*(1-s)**2*e+3*s**2*(1-s)*a+s**3}},steps:function(t,e=\"end\"){e=e.split(\"-\").reverse()[0];let i=t;return\"none\"===e?--i:\"both\"===e&&++i,(a,s=!1)=>{let r=Math.floor(a*t);const n=a*r%1==0;return\"start\"!==e&&\"both\"!==e||++r,s&&n&&--r,a>=0&&r<0&&(r=0),a<=1&&r>i&&(r=i),r/i}}};class ye{done(){return!1}}class we extends ye{constructor(t=Ht){super(),this.ease=ve[t]||t}step(t,e,i){return\"number\"!=typeof t?i<1?t:e:t+(e-t)*this.ease(i)}}class ke extends ye{constructor(t){super(),this.stepper=t}done(t){return t.done}step(t,e,i,a){return this.stepper(t,e,i,a)}}function Ae(){const t=(this._duration||500)/1e3,e=this._overshoot||0,i=Math.PI,a=Math.log(e/100+1e-10),s=-a/Math.sqrt(i*i+a*a),r=3.9/(s*t);this.d=2*s*r,this.k=r*r}Q(class extends ke{constructor(t=500,e=0){super(),this.duration(t).overshoot(e)}step(t,e,i,a){if(\"string\"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;i>100&&(i=16),i/=1e3;const s=a.velocity||0,r=-this.d*s-this.k*(t-e),n=t+s*i+r*i*i/2;return a.velocity=s+r*i,a.done=Math.abs(e-n)+Math.abs(s)<.002,a.done?e:n}},{duration:me(\"_duration\",Ae),overshoot:me(\"_overshoot\",Ae)});Q(class extends ke{constructor(t=.1,e=.01,i=0,a=1e3){super(),this.p(t).i(e).d(i).windup(a)}step(t,e,i,a){if(\"string\"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;const s=e-t;let r=(a.integral||0)+s*i;const n=(s-(a.error||0))/i,o=this._windup;return!1!==o&&(r=Math.max(-o,Math.min(r,o))),a.error=s,a.integral=r,a.done=Math.abs(s)<.001,a.done?e:t+(this.P*s+this.I*r+this.D*n)}},{windup:me(\"_windup\"),p:me(\"P\"),i:me(\"I\"),d:me(\"D\")});const Ce={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Se={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],[\"T\",t[0],t[1]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]},A:function(t,e){return e.x=t[5],e.y=t[6],[\"A\",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},Le=\"mlhvqtcsaz\".split(\"\");for(let t=0,e=Le.length;t=0;a--)i=this[a][0],\"M\"===i||\"L\"===i||\"T\"===i?(this[a][1]+=t,this[a][2]+=e):\"H\"===i?this[a][1]+=t:\"V\"===i?this[a][1]+=e:\"C\"===i||\"S\"===i||\"Q\"===i?(this[a][1]+=t,this[a][2]+=e,this[a][3]+=t,this[a][4]+=e,\"C\"===i&&(this[a][5]+=t,this[a][6]+=e)):\"A\"===i&&(this[a][6]+=t,this[a][7]+=e);return this}parse(t=\"M0 0\"){return Array.isArray(t)&&(t=Array.prototype.concat.apply([],t).toString()),function(t,e=!0){let i=0,a=\"\";const s={segment:[],inNumber:!1,number:\"\",lastToken:\"\",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:e,p0:new bt,p:new bt};for(;s.lastToken=a,a=t.charAt(i++);)if(s.inSegment||!Pe(s,a))if(\".\"!==a)if(isNaN(parseInt(a)))if(Re.has(a))s.inNumber&&Ie(s,!1);else if(\"-\"!==a&&\"+\"!==a)if(\"E\"!==a.toUpperCase()){if(ut.test(a)){if(s.inNumber)Ie(s,!1);else{if(!Me(s))throw new Error(\"parser Error\");Te(s)}--i}}else s.number+=a,s.hasExponent=!0;else{if(s.inNumber&&!Xe(s)){Ie(s,!1),--i;continue}s.number+=a,s.inNumber=!0}else{if(\"0\"===s.number||ze(s)){s.inNumber=!0,s.number=a,Ie(s,!0);continue}s.inNumber=!0,s.number+=a}else{if(s.pointSeen||s.hasExponent){Ie(s,!1),--i;continue}s.inNumber=!0,s.pointSeen=!0,s.number+=a}return s.inNumber&&Ie(s,!1),s.inSegment&&Me(s)&&Te(s),s.segments}(t)}size(t,e){const i=this.bbox();let a,s;for(i.width=0===i.width?1:i.width,i.height=0===i.height?1:i.height,a=this.length-1;a>=0;a--)s=this[a][0],\"M\"===s||\"L\"===s||\"T\"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y):\"H\"===s?this[a][1]=(this[a][1]-i.x)*t/i.width+i.x:\"V\"===s?this[a][1]=(this[a][1]-i.y)*e/i.height+i.y:\"C\"===s||\"S\"===s||\"Q\"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y,this[a][3]=(this[a][3]-i.x)*t/i.width+i.x,this[a][4]=(this[a][4]-i.y)*e/i.height+i.y,\"C\"===s&&(this[a][5]=(this[a][5]-i.x)*t/i.width+i.x,this[a][6]=(this[a][6]-i.y)*e/i.height+i.y)):\"A\"===s&&(this[a][1]=this[a][1]*t/i.width,this[a][2]=this[a][2]*e/i.height,this[a][6]=(this[a][6]-i.x)*t/i.width+i.x,this[a][7]=(this[a][7]-i.y)*e/i.height+i.y);return this}toString(){return function(t){let e=\"\";for(let i=0,a=t.length;i{const e=typeof t;return\"number\"===e?_t:\"string\"===e?xt.isColor(t)?xt:dt.test(t)?ut.test(t)?Ee:Dt:tt.test(t)?_t:Oe:Ne.indexOf(t.constructor)>-1?t.constructor:Array.isArray(t)?Dt:\"object\"===e?_e:Oe};class He{constructor(t){this._stepper=t||new we(\"-\"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(t){return this._morphObj.morph(this._from,this._to,t,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce((function(t,e){return t&&e}),!0)}from(t){return null==t?this._from:(this._from=this._set(t),this)}stepper(t){return null==t?this._stepper:(this._stepper=t,this)}to(t){return null==t?this._to:(this._to=this._set(t),this)}type(t){return null==t?this._type:(this._type=t,this)}_set(t){this._type||this.type(Ye(t));let e=new this._type(t);return this._type===xt&&(e=this._to?e[this._to[4]]():this._from?e[this._from[4]]():e),this._type===_e&&(e=this._to?e.align(this._to):this._from?e.align(this._from):e),e=e.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(e.length)).map(Object).map((function(t){return t.done=!0,t})),e}}class Oe{constructor(...t){this.init(...t)}init(t){return t=Array.isArray(t)?t[0]:t,this.value=t,this}toArray(){return[this.value]}valueOf(){return this.value}}class Fe{constructor(...t){this.init(...t)}init(t){return Array.isArray(t)&&(t={scaleX:t[0],scaleY:t[1],shear:t[2],rotate:t[3],translateX:t[4],translateY:t[5],originX:t[6],originY:t[7]}),Object.assign(this,Fe.defaults,t),this}toArray(){const t=this;return[t.scaleX,t.scaleY,t.shear,t.rotate,t.translateX,t.translateY,t.originX,t.originY]}}Fe.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const De=(t,e)=>t[0]e[0]?1:0;class _e{constructor(...t){this.init(...t)}align(t){const e=this.values;for(let i=0,a=e.length;it.concat(e)),[]),this}toArray(){return this.values}valueOf(){const t={},e=this.values;for(;e.length;){const i=e.shift(),a=e.shift(),s=e.shift(),r=e.splice(0,s);t[i]=new a(r)}return t}}const Ne=[Oe,Fe,_e];class We extends qt{constructor(t,e=t){super(G(\"path\",t),e)}array(){return this._array||(this._array=new Ee(this.attr(\"d\")))}clear(){return delete this._array,this}height(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}move(t,e){return this.attr(\"d\",this.array().move(t,e))}plot(t){return null==t?this.array():this.clear().attr(\"d\",\"string\"==typeof t?t:this._array=new Ee(t))}size(t,e){const i=I(this,t,e);return this.attr(\"d\",this.array().size(i.width,i.height))}width(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)}x(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)}y(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}}We.prototype.MorphArray=Ee,A({Container:{path:K((function(t){return this.put(new We).plot(t||new Ee)}))}}),q(We,\"Path\");var Be=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ge(this.attr(\"points\")))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr(\"points\",this.array().move(t,e))},plot:function(t){return null==t?this.array():this.clear().attr(\"points\",\"string\"==typeof t?t:this._array=new ge(t))},size:function(t,e){const i=I(this,t,e);return this.attr(\"points\",this.array().size(i.width,i.height))}});class Ge extends qt{constructor(t,e=t){super(G(\"polygon\",t),e)}}A({Container:{polygon:K((function(t){return this.put(new Ge).plot(t||new ge)}))}}),Q(Ge,fe),Q(Ge,Be),q(Ge,\"Polygon\");class je extends qt{constructor(t,e=t){super(G(\"polyline\",t),e)}}A({Container:{polyline:K((function(t){return this.put(new je).plot(t||new ge)}))}}),Q(je,fe),Q(je,Be),q(je,\"Polyline\");class Ve extends qt{constructor(t,e=t){super(G(\"rect\",t),e)}}Q(Ve,{rx:Zt,ry:$t}),A({Container:{rect:K((function(t,e){return this.put(new Ve).size(t,e)}))}}),q(Ve,\"Rect\");class Ue{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(t){const e=void 0!==t.next?t:{value:t,next:null,prev:null};return this._last?(e.prev=this._last,this._last.next=e,this._last=e):(this._last=e,this._first=e),e}remove(t){t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t===this._last&&(this._last=t.prev),t===this._first&&(this._first=t.next),t.prev=null,t.next=null}shift(){const t=this._first;return t?(this._first=t.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,t.value):null}}const qe={nextDraw:null,frames:new Ue,timeouts:new Ue,immediates:new Ue,timer:()=>O.window.performance||O.window.Date,transforms:[],frame(t){const e=qe.frames.push({run:t});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},timeout(t,e){e=e||0;const i=qe.timer().now()+e,a=qe.timeouts.push({run:t,time:i});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),a},immediate(t){const e=qe.immediates.push(t);return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},cancelFrame(t){null!=t&&qe.frames.remove(t)},clearTimeout(t){null!=t&&qe.timeouts.remove(t)},cancelImmediate(t){null!=t&&qe.immediates.remove(t)},_draw(t){let e=null;const i=qe.timeouts.last();for(;(e=qe.timeouts.shift())&&(t>=e.time?e.run():qe.timeouts.push(e),e!==i););let a=null;const s=qe.frames.last();for(;a!==s&&(a=qe.frames.shift());)a.run(t);let r=null;for(;r=qe.immediates.shift();)r();qe.nextDraw=qe.timeouts.first()||qe.frames.first()?O.window.requestAnimationFrame(qe._draw):null}},Ze=function(t){const e=t.start,i=t.runner.duration();return{start:e,duration:i,end:e+i,runner:t.runner}},$e=function(){const t=O.window;return(t.performance||t.Date).now()};class Je extends Rt{constructor(t=$e){super(),this._timeSource=t,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const t=this.getLastRunnerInfo(),e=t?t.runner.duration():0;return(t?t.start:this._time)+e}getEndTimeOfTimeline(){const t=this._runners.map((t=>t.start+t.runner.duration()));return Math.max(0,...t)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(t){return this._runners[this._runnerIds.indexOf(t)]||null}pause(){return this._paused=!0,this._continue()}persist(t){return null==t?this._persist:(this._persist=t,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(t){const e=this.speed();if(null==t)return this.speed(-e);const i=Math.abs(e);return this.speed(t?-i:i)}schedule(t,e,i){if(null==t)return this._runners.map(Ze);let a=0;const s=this.getEndTime();if(e=e||0,null==i||\"last\"===i||\"after\"===i)a=s;else if(\"absolute\"===i||\"start\"===i)a=e,e=0;else if(\"now\"===i)a=this._time;else if(\"relative\"===i){const i=this.getRunnerInfoById(t.id);i&&(a=i.start+e,e=0)}else{if(\"with-last\"!==i)throw new Error('Invalid value for the \"when\" parameter');{const t=this.getLastRunnerInfo();a=t?t.start:this._time}}t.unschedule(),t.timeline(this);const r=t.persist(),n={persist:null===r?this._persist:r,start:a+e,runner:t};return this._lastRunnerId=t.id,this._runners.push(n),this._runners.sort(((t,e)=>t.start-e.start)),this._runnerIds=this._runners.map((t=>t.runner.id)),this.updateTime()._continue(),this}seek(t){return this.time(this._time+t)}source(t){return null==t?this._timeSource:(this._timeSource=t,this)}speed(t){return null==t?this._speed:(this._speed=t,this)}stop(){return this.time(0),this.pause()}time(t){return null==t?this._time:(this._time=t,this._continue(!0))}unschedule(t){const e=this._runnerIds.indexOf(t.id);return e<0||(this._runners.splice(e,1),this._runnerIds.splice(e,1),t.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(t=!1){return qe.cancelFrame(this._nextFrame),this._nextFrame=null,t?this._stepImmediate():(this._paused||(this._nextFrame=qe.frame(this._step)),this)}_stepFn(t=!1){const e=this._timeSource();let i=e-this._lastSourceTime;t&&(i=0);const a=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=e,t||(this._time+=a,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire(\"time\",this._time);for(let t=this._runners.length;t--;){const e=this._runners[t],i=e.runner;this._time-e.start<=0&&i.reset()}let s=!1;for(let t=0,e=this._runners.length;t0?this._continue():(this.pause(),this.fire(\"finished\")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}A({Element:{timeline:function(t){return null==t?(this._timeline=this._timeline||new Je,this._timeline):(this._timeline=t,this)}}});class Qe extends Rt{constructor(t){super(),this.id=Qe.id++,t=\"function\"==typeof(t=null==t?Yt:t)?new ke(t):t,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration=\"number\"==typeof t&&t,this._isDeclarative=t instanceof ke,this._stepper=this._isDeclarative?t:new we,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new vt,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(t,e,i){let a=1,s=!1,r=0;return e=e??Ot,i=i||\"last\",\"object\"!=typeof(t=t??Yt)||t instanceof ye||(e=t.delay??e,i=t.when??i,s=t.swing||s,a=t.times??a,r=t.wait??r,t=t.duration??Yt),{duration:t,delay:e,swing:s,times:a,wait:r,when:i}}active(t){return null==t?this.enabled:(this.enabled=t,this)}addTransform(t){return this.transforms.lmultiplyO(t),this}after(t){return this.on(\"finished\",t)}animate(t,e,i){const a=Qe.sanitise(t,e,i),s=new Qe(a.duration);return this._timeline&&s.timeline(this._timeline),this._element&&s.element(this._element),s.loop(a).schedule(a.delay,a.when)}clearTransform(){return this.transforms=new vt,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter((t=>!t.isTransform)))}delay(t){return this.animate(0,t)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(t){return this.queue(null,t)}ease(t){return this._stepper=new we(t),this}element(t){return null==t?this._element:(this._element=t,t._prepareRunner(),this)}finish(){return this.step(1/0)}loop(t,e,i){return\"object\"==typeof t&&(e=t.swing,i=t.wait,t=t.times),this._times=t||1/0,this._swing=e||!1,this._wait=i||0,!0===this._times&&(this._times=1/0),this}loops(t){const e=this._duration+this._wait;if(null==t){const t=Math.floor(this._time/e),i=(this._time-t*e)/this._duration;return Math.min(t+i,this._times)}const i=t%1,a=e*Math.floor(t)+this._duration*i;return this.time(a)}persist(t){return null==t?this._persist:(this._persist=t,this)}position(t){const e=this._time,i=this._duration,a=this._wait,s=this._times,r=this._swing,n=this._reverse;let o;if(null==t){const t=function(t){const e=r*Math.floor(t%(2*(a+i))/(a+i)),s=e&&!n||!e&&n,o=Math.pow(-1,s)*(t%(a+i))/i+s;return Math.max(Math.min(o,1),0)},l=s*(a+i)-a;return o=e<=0?Math.round(t(1e-5)):e=0;this._lastPosition=e;const a=this.duration(),s=this._lastTime<=0&&this._time>0,r=this._lastTime=a;this._lastTime=this._time,s&&this.fire(\"start\",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=a,this._reseted=!1;let o=!1;return(i||n)&&(this._initialise(i),this.transforms=new vt,o=this._run(n?t:e),this.fire(\"step\",this)),this.done=this.done||o&&n,r&&this.fire(\"finished\",this),this}time(t){if(null==t)return this._time;const e=t-this._time;return this.step(e),this}timeline(t){return void 0===t?this._timeline:(this._timeline=t,this)}unschedule(){const t=this.timeline();return t&&t.unschedule(this),this}_initialise(t){if(t||this._isDeclarative)for(let e=0,i=this._queue.length;et.lmultiplyO(e),ei=t=>t.transforms;function ii(){const t=this._transformationRunners.runners.map(ei).reduce(ti,new vt);this.transform(t),this._transformationRunners.merge(),1===this._transformationRunners.length()&&(this._frameId=null)}class ai{constructor(){this.runners=[],this.ids=[]}add(t){if(this.runners.includes(t))return;const e=t.id+1;return this.runners.push(t),this.ids.push(e),this}clearBefore(t){const e=this.ids.indexOf(t+1)||1;return this.ids.splice(0,e,0),this.runners.splice(0,e,new Ke).forEach((t=>t.clearTransformsFromQueue())),this}edit(t,e){const i=this.ids.indexOf(t+1);return this.ids.splice(i,1,t+1),this.runners.splice(i,1,e),this}getByID(t){return this.runners[this.ids.indexOf(t+1)]}length(){return this.ids.length}merge(){let t=null;for(let e=0;ee.id<=t.id)).map(ei).reduce(ti,new vt)},_addRunner(t){this._transformationRunners.add(t),qe.cancelImmediate(this._frameId),this._frameId=qe.immediate(ii.bind(this))},_prepareRunner(){null==this._frameId&&(this._transformationRunners=(new ai).add(new Ke(new vt(this))))}}});Q(Qe,{attr(t,e){return this.styleAttr(\"attr\",t,e)},css(t,e){return this.styleAttr(\"css\",t,e)},styleAttr(t,e,i){if(\"string\"==typeof e)return this.styleAttr(t,{[e]:i});let a=e;if(this._tryRetarget(t,a))return this;let s=new He(this._stepper).to(a),r=Object.keys(a);return this.queue((function(){s=s.from(this.element()[t](r))}),(function(e){return this.element()[t](s.at(e).valueOf()),s.done()}),(function(e){const i=Object.keys(e),n=(o=r,i.filter((t=>!o.includes(t))));var o;if(n.length){const e=this.element()[t](n),i=new _e(s.from()).valueOf();Object.assign(i,e),s.from(i)}const l=new _e(s.to()).valueOf();Object.assign(l,e),s.to(l),r=i,a=e})),this._rememberMorpher(t,s),this},zoom(t,e){if(this._tryRetarget(\"zoom\",t,e))return this;let i=new He(this._stepper).to(new _t(t));return this.queue((function(){i=i.from(this.element().zoom())}),(function(t){return this.element().zoom(i.at(t),e),i.done()}),(function(t,a){e=a,i.to(t)})),this._rememberMorpher(\"zoom\",i),this},transform(t,e,i){if(e=t.relative||e,this._isDeclarative&&!e&&this._tryRetarget(\"transform\",t))return this;const a=vt.isMatrixLike(t);i=null!=t.affine?t.affine:null!=i?i:!a;const s=new He(this._stepper).type(i?Fe:vt);let r,n,o,l,h;return this.queue((function(){n=n||this.element(),r=r||T(t,n),h=new vt(e?void 0:n),n._addRunner(this),e||n._clearTransformRunnersBefore(this)}),(function(c){e||this.clearTransform();const{x:d,y:u}=new bt(r).transform(n._currentTransform(this));let g=new vt({...t,origin:[d,u]}),p=this._isDeclarative&&o?o:h;if(i){g=g.decompose(d,u),p=p.decompose(d,u);const t=g.rotate,e=p.rotate,i=[t-360,t,t+360],a=i.map((t=>Math.abs(t-e))),s=Math.min(...a),r=a.indexOf(s);g.rotate=i[r]}e&&(a||(g.rotate=t.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(c);return l=f.rotate,o=new vt(f),this.addTransform(o),n._addRunner(this),s.done()}),(function(e){(e.origin||\"center\").toString()!==(t.origin||\"center\").toString()&&(r=T(e,n)),t={...e,origin:r}}),!0),this._isDeclarative&&this._rememberMorpher(\"transform\",s),this},x(t){return this._queueNumber(\"x\",t)},y(t){return this._queueNumber(\"y\",t)},ax(t){return this._queueNumber(\"ax\",t)},ay(t){return this._queueNumber(\"ay\",t)},dx(t=0){return this._queueNumberDelta(\"x\",t)},dy(t=0){return this._queueNumberDelta(\"y\",t)},dmove(t,e){return this.dx(t).dy(e)},_queueNumberDelta(t,e){if(e=new _t(e),this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);let a=null;return this.queue((function(){a=this.element()[t](),i.from(a),i.to(a+e)}),(function(e){return this.element()[t](i.at(e)),i.done()}),(function(t){i.to(a+new _t(t))})),this._rememberMorpher(t,i),this},_queueObject(t,e){if(this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);return this.queue((function(){i.from(this.element()[t]())}),(function(e){return this.element()[t](i.at(e)),i.done()})),this._rememberMorpher(t,i),this},_queueNumber(t,e){return this._queueObject(t,new _t(e))},cx(t){return this._queueNumber(\"cx\",t)},cy(t){return this._queueNumber(\"cy\",t)},move(t,e){return this.x(t).y(e)},amove(t,e){return this.ax(t).ay(e)},center(t,e){return this.cx(t).cy(e)},size(t,e){let i;return t&&e||(i=this._element.bbox()),t||(t=i.width/i.height*e),e||(e=i.height/i.width*t),this.width(t).height(e)},width(t){return this._queueNumber(\"width\",t)},height(t){return this._queueNumber(\"height\",t)},plot(t,e,i,a){if(4===arguments.length)return this.plot([t,e,i,a]);if(this._tryRetarget(\"plot\",t))return this;const s=new He(this._stepper).type(this._element.MorphArray).to(t);return this.queue((function(){s.from(this._element.array())}),(function(t){return this._element.plot(s.at(t)),s.done()})),this._rememberMorpher(\"plot\",s),this},leading(t){return this._queueNumber(\"leading\",t)},viewbox(t,e,i,a){return this._queueObject(\"viewbox\",new kt(t,e,i,a))},update(t){return\"object\"!=typeof t?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",t.offset),this)}}),Q(Qe,{rx:Zt,ry:$t,from:ne,to:oe}),q(Qe,\"Runner\");class si extends Vt{constructor(t,e=t){super(G(\"svg\",t),e),this.namespace()}defs(){return this.isRoot()?V(this.node.querySelector(\"defs\"))||this.put(new Ut):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof O.window.SVGElement)&&\"#document-fragment\"!==this.node.parentNode.nodeName}namespace(){return this.isRoot()?this.attr({xmlns:E,version:\"1.1\"}).attr(\"xmlns:xlink\",H,Y):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr(\"xmlns:xlink\",null,Y).attr(\"xmlns:svgjs\",null,Y)}root(){return this.isRoot()?this:super.root()}}A({Container:{nested:K((function(){return this.put(new si)}))}}),q(si,\"Svg\",!0);let ri=class extends Vt{constructor(t,e=t){super(G(\"symbol\",t),e)}};A({Container:{symbol:K((function(){return this.put(new ri)}))}}),q(ri,\"Symbol\");var ni=Object.freeze({__proto__:null,amove:function(t,e){return this.ax(t).ay(e)},ax:function(t){return this.attr(\"x\",t)},ay:function(t){return this.attr(\"y\",t)},build:function(t){return this._build=!!t,this},center:function(t,e,i=this.bbox()){return this.cx(t,i).cy(e,i)},cx:function(t,e=this.bbox()){return null==t?e.cx:this.attr(\"x\",this.attr(\"x\")+t-e.cx)},cy:function(t,e=this.bbox()){return null==t?e.cy:this.attr(\"y\",this.attr(\"y\")+t-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(t,e,i=this.bbox()){return this.x(t,i).y(e,i)},plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(O.document.createTextNode(t)),this},x:function(t,e=this.bbox()){return null==t?e.x:this.attr(\"x\",this.attr(\"x\")+t-e.x)},y:function(t,e=this.bbox()){return null==t?e.y:this.attr(\"y\",this.attr(\"y\")+t-e.y)}});class oi extends qt{constructor(t,e=t){super(G(\"text\",t),e),this.dom.leading=this.dom.leading??new _t(1.3),this._rebuild=!0,this._build=!1}leading(t){return null==t?this.dom.leading:(this.dom.leading=new _t(t),this.rebuild())}rebuild(t){if(\"boolean\"==typeof t&&(this._rebuild=t),this._rebuild){const t=this;let e=0;const i=this.dom.leading;this.each((function(a){if(X(this.node))return;const s=O.window.getComputedStyle(this.node).getPropertyValue(\"font-size\"),r=i*new _t(s);this.dom.newLined&&(this.attr(\"x\",t.attr(\"x\")),\"\\n\"===this.text()?e+=r:(this.attr(\"dy\",a?r+e:0),e=0))})),this.fire(\"rebuild\")}return this}setData(t){return this.dom=t,this.dom.leading=new _t(t.leading||1.3),this}writeDataToDom(){return R(this,this.dom,{leading:1.3}),this}text(t){if(void 0===t){const e=this.node.childNodes;let i=0;t=\"\";for(let a=0,s=e.length;a{let a;try{a=i.node instanceof F().SVGSVGElement?new kt(i.attr([\"x\",\"y\",\"width\",\"height\"])):i.bbox()}catch(t){return}const s=new vt(i),r=s.translate(t,e).transform(s.inverse()),n=new bt(a.x,a.y).transform(r);i.move(n.x,n.y)})),this},dx:function(t){return this.dmove(t,0)},dy:function(t){return this.dmove(0,t)},height:function(t,e=this.bbox()){return null==t?e.height:this.size(e.width,t,e)},move:function(t=0,e=0,i=this.bbox()){const a=t-i.x,s=e-i.y;return this.dmove(a,s)},size:function(t,e,i=this.bbox()){const a=I(this,t,e,i),s=a.width/i.width,r=a.height/i.height;return this.children().forEach((t=>{const e=new bt(i).transform(new vt(t).inverse());t.scale(s,r,e.x,e.y)})),this},width:function(t,e=this.bbox()){return null==t?e.width:this.size(t,e.height,e)},x:function(t,e=this.bbox()){return null==t?e.x:this.move(t,e.y,e)},y:function(t,e=this.bbox()){return null==t?e.y:this.move(e.x,t,e)}});class gi extends Vt{constructor(t,e=t){super(G(\"g\",t),e)}}Q(gi,ui),A({Container:{group:K((function(){return this.put(new gi)}))}}),q(gi,\"G\");class pi extends Vt{constructor(t,e=t){super(G(\"a\",t),e)}target(t){return this.attr(\"target\",t)}to(t){return this.attr(\"href\",t,H)}}Q(pi,ui),A({Container:{link:K((function(t){return this.put(new pi).to(t)}))},Element:{unlink(){const t=this.linker();if(!t)return this;const e=t.parent();if(!e)return this.remove();const i=e.index(t);return e.add(this,i),t.remove(),this},linkTo(t){let e=this.linker();return e||(e=new pi,this.wrap(e)),\"function\"==typeof t?t.call(e,e):e.to(t),this},linker(){const t=this.parent();return t&&\"a\"===t.node.nodeName.toLowerCase()?t:null}}}),q(pi,\"A\");class fi extends Vt{constructor(t,e=t){super(G(\"mask\",t),e)}remove(){return this.targets().forEach((function(t){t.unmask()})),super.remove()}targets(){return Lt(\"svg [mask*=\"+this.id()+\"]\")}}A({Container:{mask:K((function(){return this.defs().put(new fi)}))},Element:{masker(){return this.reference(\"mask\")},maskWith(t){const e=t instanceof fi?t:this.parent().mask().add(t);return this.attr(\"mask\",\"url(#\"+e.id()+\")\")},unmask(){return this.attr(\"mask\",null)}}}),q(fi,\"Mask\");class xi extends Gt{constructor(t,e=t){super(G(\"stop\",t),e)}update(t){return(\"number\"==typeof t||t instanceof _t)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",new _t(t.offset)),this}}A({Gradient:{stop:function(t,e,i){return this.put(new xi).update(t,e,i)}}}),q(xi,\"Stop\");class bi extends Gt{constructor(t,e=t){super(G(\"style\",t),e)}addText(t=\"\"){return this.node.textContent+=t,this}font(t,e,i={}){return this.rule(\"@font-face\",{fontFamily:t,src:e,...i})}rule(t,e){return this.addText(function(t,e){if(!t)return\"\";if(!e)return t;let i=t+\"{\";for(const t in e)i+=t.replace(/([A-Z])/g,(function(t,e){return\"-\"+e.toLowerCase()}))+\":\"+e[t]+\";\";return i+=\"}\",i}(t,e))}}A(\"Dom\",{style(t,e){return this.put(new bi).rule(t,e)},fontface(t,e,i){return this.put(new bi).font(t,e,i)}}),q(bi,\"Style\");class mi extends oi{constructor(t,e=t){super(G(\"textPath\",t),e)}array(){const t=this.track();return t?t.array():null}plot(t){const e=this.track();let i=null;return e&&(i=e.plot(t)),null==t?i:this}track(){return this.reference(\"href\")}}A({Container:{textPath:K((function(t,e){return t instanceof oi||(t=this.text(t)),t.path(e)}))},Text:{path:K((function(t,e=!0){const i=new mi;let a;if(t instanceof We||(t=this.defs().path(t)),i.attr(\"href\",\"#\"+t,H),e)for(;a=this.node.firstChild;)i.node.appendChild(a);return this.put(i)})),textPath(){return this.findOne(\"textPath\")}},Path:{text:K((function(t){return t instanceof oi||(t=(new oi).addTo(this.parent()).text(t)),t.path(this)})),targets(){return Lt(\"svg textPath\").filter((t=>(t.attr(\"href\")||\"\").includes(this.id())))}}}),mi.prototype.MorphArray=Ee,q(mi,\"TextPath\");class vi extends qt{constructor(t,e=t){super(G(\"use\",t),e)}use(t,e){return this.attr(\"href\",(e||\"\")+\"#\"+t,H)}}A({Container:{use:K((function(t,e){return this.put(new vi).use(t,e)}))}}),q(vi,\"Use\");const yi=B;Q([si,ri,de,ce,be],C(\"viewbox\")),Q([xe,je,Ge,We],C(\"marker\")),Q(oi,C(\"Text\")),Q(We,C(\"Path\")),Q(Ut,C(\"Defs\")),Q([oi,li],C(\"Tspan\")),Q([Ve,se,he,Qe],C(\"radius\")),Q(Rt,C(\"EventTarget\")),Q(Bt,C(\"Dom\")),Q(Gt,C(\"Element\")),Q(qt,C(\"Shape\")),Q([Vt,re],C(\"Container\")),Q(he,C(\"Gradient\")),Q(Qe,C(\"Runner\")),Ct.extend([...new Set(k)]),function(t=[]){Ne.push(...[].concat(t))}([_t,xt,kt,vt,Dt,ge,Ee,bt]),Q(Ne,{to(t){return(new He).type(this.constructor).from(this.toArray()).to(t)},fromArray(t){return this.init(t),this},toConsumable(){return this.toArray()},morph(t,e,i,a,s){return this.fromArray(t.map((function(t,r){return a.step(t,e[r],i,s[r],s)})))}});class wi extends Gt{constructor(t){super(G(\"filter\",t),t),this.$source=\"SourceGraphic\",this.$sourceAlpha=\"SourceAlpha\",this.$background=\"BackgroundImage\",this.$backgroundAlpha=\"BackgroundAlpha\",this.$fill=\"FillPaint\",this.$stroke=\"StrokePaint\",this.$autoSetIn=!0}put(t,e){return!(t=super.put(t,e)).attr(\"in\")&&this.$autoSetIn&&t.attr(\"in\",this.$source),t.attr(\"result\")||t.attr(\"result\",t.id()),t}remove(){return this.targets().each(\"unfilter\"),super.remove()}targets(){return Lt('svg [filter*=\"'+this.id()+'\"]')}toString(){return\"url(#\"+this.id()+\")\"}}class ki extends Gt{constructor(t,e){super(t,e),this.result(this.id())}in(t){if(null==t){const t=this.attr(\"in\");return this.parent()&&this.parent().find(`[result=\"${t}\"]`)[0]||t}return this.attr(\"in\",t)}result(t){return this.attr(\"result\",t)}toString(){return this.result()}}const Ai=t=>function(...e){for(let i=t.length;i--;)null!=e[i]&&this.attr(t[i],e[i])},Ci={blend:Ai([\"in\",\"in2\",\"mode\"]),colorMatrix:Ai([\"type\",\"values\"]),composite:Ai([\"in\",\"in2\",\"operator\"]),convolveMatrix:function(t){t=new Dt(t).toString(),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},diffuseLighting:Ai([\"surfaceScale\",\"lightingColor\",\"diffuseConstant\",\"kernelUnitLength\"]),displacementMap:Ai([\"in\",\"in2\",\"scale\",\"xChannelSelector\",\"yChannelSelector\"]),dropShadow:Ai([\"in\",\"dx\",\"dy\",\"stdDeviation\"]),flood:Ai([\"flood-color\",\"flood-opacity\"]),gaussianBlur:function(t=0,e=t){this.attr(\"stdDeviation\",t+\" \"+e)},image:function(t){this.attr(\"href\",t,H)},morphology:Ai([\"operator\",\"radius\"]),offset:Ai([\"dx\",\"dy\"]),specularLighting:Ai([\"surfaceScale\",\"lightingColor\",\"diffuseConstant\",\"specularExponent\",\"kernelUnitLength\"]),tile:Ai([]),turbulence:Ai([\"baseFrequency\",\"numOctaves\",\"seed\",\"stitchTiles\",\"type\"])};[\"blend\",\"colorMatrix\",\"componentTransfer\",\"composite\",\"convolveMatrix\",\"diffuseLighting\",\"displacementMap\",\"dropShadow\",\"flood\",\"gaussianBlur\",\"image\",\"merge\",\"morphology\",\"offset\",\"specularLighting\",\"tile\",\"turbulence\"].forEach((t=>{const e=P(t),i=Ci[t];wi[e+\"Effect\"]=class extends ki{constructor(t){super(G(\"fe\"+e,t),t)}update(t){return i.apply(this,t),this}},wi.prototype[t]=K((function(t,...i){const a=new wi[e+\"Effect\"];return null==t?this.put(a):(\"function\"==typeof t?t.call(a,a):i.unshift(t),this.put(a).update(i))}))})),Q(wi,{merge(t){const e=this.put(new wi.MergeEffect);if(\"function\"==typeof t)return t.call(e,e),e;return(t instanceof Array?t:[...arguments]).forEach((t=>{t instanceof wi.MergeNode?e.put(t):e.mergeNode(t)})),e},componentTransfer(t={}){const e=this.put(new wi.ComponentTransferEffect);if(\"function\"==typeof t)return t.call(e,e),e;if(!(t.r||t.g||t.b||t.a)){t={r:t,g:t,b:t,a:t}}for(const i in t)e.add(new(wi[\"Func\"+i.toUpperCase()])(t[i]));return e}});[\"distantLight\",\"pointLight\",\"spotLight\",\"mergeNode\",\"FuncR\",\"FuncG\",\"FuncB\",\"FuncA\"].forEach((t=>{const e=P(t);wi[e]=class extends ki{constructor(t){super(G(\"fe\"+e,t),t)}}}));[\"funcR\",\"funcG\",\"funcB\",\"funcA\"].forEach((function(t){const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.ComponentTransferEffect.prototype[t]=i}));[\"distantLight\",\"pointLight\",\"spotLight\"].forEach((t=>{const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.DiffuseLightingEffect.prototype[t]=i,wi.SpecularLightingEffect.prototype[t]=i})),Q(wi.MergeEffect,{mergeNode(t){return this.put(new wi.MergeNode).attr(\"in\",t)}}),Q(Ut,{filter:function(t){const e=this.put(new wi);return\"function\"==typeof t&&t.call(e,e),e}}),Q(Vt,{filter:function(t){return this.defs().filter(t)}}),Q(Gt,{filterWith:function(t){const e=t instanceof wi?t:this.defs().filter(t);return this.attr(\"filter\",e)},unfilter:function(t){return this.attr(\"filter\",null)},filterer(){return this.reference(\"filter\")}});const Si={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},diffuseLighting:function(t,e,i,a){return this.parent()&&this.parent().diffuseLighting(t,i,a).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},dropShadow:function(t,e,i){return this.parent()&&this.parent().dropShadow(this,t,e,i).in(this)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(t){return t=t instanceof Array?t:[...t],this.parent()&&this.parent().merge(this,...t)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},specularLighting:function(t,e,i,a,s){return this.parent()&&this.parent().specularLighting(t,i,a,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};Q(ki,Si),Q(wi.MergeEffect,{in:function(t){return t instanceof wi.MergeNode?this.add(t,0):this.add((new wi.MergeNode).in(t),0),this}}),Q([wi.CompositeEffect,wi.BlendEffect,wi.DisplacementMapEffect],{in2:function(t){if(null==t){const t=this.attr(\"in2\");return this.parent()&&this.parent().find(`[result=\"${t}\"]`)[0]||t}return this.attr(\"in2\",t)}}),wi.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Li=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new wi).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"applyFilter\",value:function(t,e,i){var a,s=this,r=this.w;if(t.unfilter(!0),\"none\"!==i){var n,o,l=r.config.chart.dropShadow,h=\"lighten\"===i?2:.3;if(t.filterWith((function(t){t.colorMatrix({type:\"matrix\",values:\"\\n \".concat(h,\" 0 0 0 0\\n 0 \").concat(h,\" 0 0 0\\n 0 0 \").concat(h,\" 0 0\\n 0 0 0 1 0\\n \"),in:\"SourceGraphic\",result:\"brightness\"}),l.enabled&&s.addShadow(t,e,l,\"brightness\")})),!l.noUserSpaceOnUse)null===(n=t.filterer())||void 0===n||null===(o=n.node)||void 0===o||o.setAttribute(\"filterUnits\",\"userSpaceOnUse\");this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node)}else this.getDefaultFilter(t,e)}},{key:\"addShadow\",value:function(t,e,i,a){var s,r=this.w,n=i.blur,o=i.top,l=i.left,h=i.color,c=i.opacity;if(h=Array.isArray(h)?h[e]:h,(null===(s=r.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.length)>0&&-1===r.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;t.offset({in:a,dx:l,dy:o,result:\"offset\"}),t.gaussianBlur({in:\"offset\",stdDeviation:n,result:\"blur\"}),t.flood({\"flood-color\":h,\"flood-opacity\":c,result:\"flood\"}),t.composite({in:\"flood\",in2:\"blur\",operator:\"in\",result:\"shadow\"}),t.merge([\"shadow\",a])}},{key:\"dropShadow\",value:function(t,e){var i,a,s,r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=this.w;if(t.unfilter(!0),v.isMsEdge()&&\"radialBar\"===o.config.chart.type)return t;if((null===(i=o.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(s=o.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.indexOf(n)))return t;return t.filterWith((function(t){r.addShadow(t,n,e,\"SourceGraphic\")})),e.noUserSpaceOnUse||t.filterer().node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type)}}},{key:\"_scaleFilterSize\",value:function(t){if(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}}]),t}(),Mi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,n=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/n))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var n=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),o=[];if(n.length>1){var l=r(n[0]),h=null;\"Z\"==n[n.length-1][0]&&n[0].length>2&&(h=[\"L\",l.x,l.y],n[n.length-1]=h),o.push(n[0]);for(var c=1;c2&&\"L\"==u[0]&&g.length>2&&\"L\"==g[0]){var p,f,x=r(d),b=r(u),m=r(g);p=i(b,x,e),f=i(b,m,e),s(u,p),u.origPoint=b,o.push(u);var v=a(p,b,.5),y=a(b,f,.5),w=[\"C\",v.x,v.y,y.x,y.y,f.x,f.y];w.origPoint=b,o.push(w)}else o.push(u)}if(h){var k=r(o[o.length-1]);o.push([\"Z\"]),s(o[0],k)}}else o=n;return o.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":n,\"stroke-linecap\":o})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,\"stroke-width\":null!==o?o:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,n=void 0===r?1:r,o=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,u=t.classes,g=t.strokeLinecap,p=void 0===g?null:g,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":p,\"stroke-width\":n,\"stroke-dasharray\":x,class:u})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var n=[\"C\",t,e,i,a,s,r].join(\" \");return n}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,n){var o=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(o=\"a\");var l=[o,t,e,i,a,s,r,n].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,n=t.stroke,o=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,d=t.initialSpeed,g=t.dataChangeSpeed,p=t.className,f=t.chartType,x=t.shouldClipToGrid,b=void 0===x||x,m=t.bindEventsOnPaths,v=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,C=new Li(this.ctx),S=new y(this.ctx),L=this.w.config.chart.animations.enabled,M=L&&this.w.config.chart.animations.dynamicAnimation.enabled,P=!!(L&&!A.globals.resized||M&&A.globals.dataChanged&&A.globals.shouldAnimate);P?e=s:(e=r,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[a]:A.config.stroke.dashArray;var z=this.drawPath({d:e,stroke:n,strokeWidth:o,fill:h,fillOpacity:1,classes:p,strokeLinecap:l,strokeDashArray:T});z.attr(\"index\",a),b&&(\"bar\"===f&&!A.globals.isHorizontal||A.globals.comboCharts?z.attr({\"clip-path\":\"url(#gridRectBarMask\".concat(A.globals.cuid,\")\")}):z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")})),A.config.chart.dropShadow.enabled&&k&&C.dropShadow(z,A.config.chart.dropShadow,a),v&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:r,pathFrom:s});var X={el:z,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:o,delay:c};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||S.showDelayedElements():S.animatePathsGradually(u(u({},X),{},{speed:d})),A.globals.dataChanged&&M&&P&&S.animatePathsGradually(u(u({},X),{},{speed:g})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=v.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=v.hexToRgba(i,s));var d=0,u=1,g=1,p=null;null!==o&&(d=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,g=void 0!==o[2]?o[2]/100:1,p=void 0!==o[3]?o[3]/100:null);var f=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=l&&0!==l.length?c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.stop(e.offset/100,e.color,e.opacity)}))})):c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){t.stop(d,e,a),t.stop(u,i,s),t.stop(g,i,s),null!==p&&t.stop(p,e,a)})),f){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:x,cy:b,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),n=r.width/e.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.find(\".apexcharts-series path:not(.apexcharts-decoration-element)\"),h=i.globals.dom.Paper.find(\".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)\"),c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),n=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===n){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&n.attr(\"transform\",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),Pi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var n=[];e.yaxis.forEach((function(t,a){var o=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,n){if(e.name===t){var l=n;a===n||r?!r||s.indexOf(n)>-1?i[a].push([a,n]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[n].push([n,a]),l=a),o=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}o||n.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var o=e.yaxis.length-1,l=0;l0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(t.config.markers.hover.size>0?e=t.config.markers.hover.size:e+=t.config.markers.hover.sizeOffset),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][n]0){var g=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/n[e]};if(r.isMultipleYAxis){l=[];for(var p=0;p0&&e.forEach((function(e){var n=[],o=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(n.push(t.series[a]),o.push(i))})),n.length>0&&r.push(a.draw(n,i,o))})),r}}],[{key:\"checkComboSeries\",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e=\"line\"),t.length&&void 0!==t[0].type&&t.forEach((function(t){\"bar\"!==t.type&&\"column\"!==t.type&&\"candlestick\"!==t.type&&\"boxPlot\"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,n,o,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(n=r.annotations)&&void 0!==n&&n.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(o=e)&&void 0!==o&&null!==(l=o.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),Ii=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4);var n=\"top\"===t.label.position?r.width:-r.width;s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+n);var o=this.annoCtx.graphics.rotateAroundCenter(s),l=o.x,h=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(l,\" \").concat(h,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||!e.label.text||!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding,n=r.left,o=r.right,l=r.top,h=r.bottom;if(\"vertical\"===e.label.orientation){var c=[n,o,l,h];l=c[0],h=c[1],n=c[2],o=c[3]}var d=s.left-a.left-n,u=s.top-a.top-l,g=this.annoCtx.graphics.drawRect(d-i.globals.barPadForNumericAxis,u,s.width+n+o,s.height+l+h,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&g.node.classList.add(e.id),g}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var n=r.parentNode,o=t.addBackgroundToAnno(r,i);o&&(n.insertBefore(o.node,r),i.label.mouseEnter&&o.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&o.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&o.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.forEach((function(t,e){return i(t,e,\"xaxis\")})),e.config.annotations.yaxis.forEach((function(t,e){return i(t,e,\"yaxis\")})),e.config.annotations.points.forEach((function(t,e){return i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=this.w,s=\"y1\"===t?e.y:e.y2,r=!1;if(this.annoCtx.invertAxis){var n=a.config.xaxis.convertedCatToNumeric?a.globals.categoryLabels:a.globals.labels,o=n.indexOf(s),l=a.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\".concat(o+1,\")\"));i=l?parseFloat(l.getAttribute(\"y\")):(a.globals.gridHeight/n.length-1)*(o+1)-a.globals.barHeight,void 0!==e.seriesIndex&&a.globals.barHeight&&(i-=a.globals.barHeight/2*(a.globals.series.length-1)-a.globals.barHeight*e.seriesIndex)}else{var h,c=a.globals.seriesYAxisMap[e.yAxisIndex][0],d=a.config.yaxis[e.yAxisIndex].logarithmic?new Pi(this.annoCtx.ctx).getLogVal(a.config.yaxis[e.yAxisIndex].logBase,s,c)/a.globals.yLogRatio[c]:(s-a.globals.minYArr[c])/(a.globals.yRange[c]/a.globals.gridHeight);i=a.globals.gridHeight-Math.min(Math.max(d,0),a.globals.gridHeight),r=d>a.globals.gridHeight||d<0,!e.marker||void 0!==e.y&&null!==e.y||(i=0),null!==(h=a.config.yaxis[e.yAxisIndex])&&void 0!==h&&h.reversed&&(i=d)}return\"string\"==typeof s&&s.includes(\"px\")&&(i=parseFloat(s)),{yP:i,clipped:r}}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=\"x1\"===t?e.x:e.x2,s=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=!1,l=this.annoCtx.inversedReversedAxis?(r-a)/(n/i.globals.gridWidth):(a-s)/(n/i.globals.gridWidth);return\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(l=this.getStringX(a)),\"string\"==typeof a&&a.includes(\"px\")&&(l=parseFloat(a)),null==a&&e.marker&&(l=i.globals.gridWidth),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(l-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*e.seriesIndex),l>i.globals.gridWidth?(l=i.globals.gridWidth,o=!0):l<0&&(l=0,o=!0),{x:l,clipped:o}}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.map((function(t){return Array.isArray(t)?t.join(\" \"):t})).indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\".concat(a+1,\")\"));return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),Ti=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),n=r.x,o=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(v.isNumber(n)){if(null===t.x2||void 0===t.x2){if(!o){var d=this.annoCtx.graphics.drawLine(n+t.offsetX,0+t.offsetY,n+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var u=this.helpers.getX1X2(\"x2\",t);if(a=u.x,l=u.clipped,!o||!l){if(a12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(u))).replace(/(^|[^\\\\])H/g,\"$1\"+u)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])h/g,\"$1\"+g);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])m/g,\"$1\"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var m=u<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+m)).replace(/(^|[^\\\\])T/g,\"$1\"+m.charAt(0));var v=m.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+v)).replace(/(^|[^\\\\])t/g,\"$1\"+v.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),n=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),o=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=v.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),Xi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return s(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new zi(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;if(v.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(v.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(v.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),Ri=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=o.globals.xLabelFormatter,d=o.config.xaxis.labels.formatter,u=!1,g=new Xi(this.ctx),p=l;n&&(h=g.xLabelFormat(c,l,p,{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),u=x===f,i=e[a].position,h=e[a].value):\"datetime\"===o.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new Mi(this.ctx),m={};m=o.globals.rotateXLabels&&n?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(o.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var v=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&v)&&(h=\"\"),{x:i,text:h,textRect:m,isBold:u}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];e.xa.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:\"isYAxisHidden\",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new Pi(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:\"getYAxisForeColor\",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:\"drawYAxisTicks\",value:function(t,e,i,a,s,r,n){var o=this.w,l=new Mi(this.ctx),h=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?h=0:\"heatmap\"===o.config.chart.type&&(h+=r/2),a.show&&e>0){!0===o.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);n.add(d),h+=r}}}}]),t}(),Ei=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx),this.axesUtils=new Ri(this.annoCtx)}return s(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,n=this.helpers.getY1Y2(\"y1\",t),o=n.yP,l=n.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var u=this.annoCtx.graphics.drawLine(0+t.offsetX,o+t.offsetY,this._getYAxisAnnotationWidth(t),o+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(u.node),t.id&&u.node.classList.add(t.id)}}else{if(a=(n=this.helpers.getY1Y2(\"y2\",t)).yP,h=n.clipped,a>o){var g=o;o=a,a=g}if(!l||!h){c=!0;var p=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);p.node.classList.add(\"apexcharts-annotation-rect\"),p.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(c){var f=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:f+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),Yi=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:\"addPointAnnotation\",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2(\"x1\",t),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2(\"y1\",t)).yP,o=a.clipped;if(v.isNumber(s)&&!o&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,n+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:\"\",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:n+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var u=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});u.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(n+t.customSVG.offsetY,\")\")}),u.node.innerHTML=t.customSVG.SVG,e.appendChild(u.node)}if(t.image.path){var g=t.image.width?t.image.width:20,p=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-g/2,y:n+t.image.offsetY-p/2,width:g,height:p,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&h.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener(\"click\",t.click.bind(this,t))}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var Hi={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},Oi=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"\",locales:[Hi],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.8}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:\"lighten\"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\"}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),Fi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new Mi(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new Ii(this),this.xAxisAnnotations=new Ti(this),this.yAxisAnnotations=new Ei(this),this.pointsAnnotations=new Yi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts&&t.globals.dataPoints){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],n=[i.node,e.node,a.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(r[o]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&n[o].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,u=t.borderWidth,g=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,m=t.paddingLeft,v=void 0===m?4:m,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,C=t.paddingTop,S=void 0===C?2:C,L=this.w,M=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:o||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:n||L.config.chart.foreColor,cssClass:c}),P=L.globals.dom.baseEl.querySelector(b);P&&P.appendChild(M.node);var I=M.bbox();if(s){var T=this.graphics.drawRect(I.x-v,I.y-S,I.width+v+w,I.height+A+S,p,d||\"transparent\",1,u,f,g);P.insertBefore(T.node,M.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,n=t.y,o=void 0===n?0:n,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,u=t.appendTo,g=void 0===u?\".apexcharts-svg\":u,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,o);var f=i.globals.dom.baseEl.querySelector(g);return f&&f.appendChild(p.node),p}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,n=a,o=n.w,l=o.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new Oi,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),u=v.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(u,l,h);break;case\"yaxis\":this.addYaxisAnnotation(u,l,h);break;case\"point\":this.addPointAnnotation(u,l,h)}var g=o.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),p=this.helpers.addBackgroundToAnno(g,u);return p&&l.insertBefore(p.node,g),i&&o.globals.memory.methodsToExec.push({context:n,id:u.id?u.id:v.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)\"addText\"!==e.globals.memory.methodsToExec[a].label&&\"addAnnotation\"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=v.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),Di=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,n=t.y1,o=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],u=l.config.series[s].name?l.config.series[s].name:\"\",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof p&&(u=p(u,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new Xi(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(a).formatDate,w:l}));\"function\"==typeof g&&(d=g(d,f)),Number.isFinite(n)&&Number.isFinite(o)&&(h=n,c=o);var x=\"\",b=\"\",m=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var v=new zi(a);x=v.formatDate(v.getDate(h),l.config.tooltip.x.format),b=v.formatDate(v.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:m,seriesName:u}},_i=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,n=t.seriesIndex,o=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(n);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[n][o]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'
'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[n].type||\"rangeBar\"===t.w.config.series[n].type?c:\"\".concat(h,\"\"):c)+\"
\"},Ni=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return v.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"slope\",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+\": \"+t:\"\"},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:\"top\",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:\"straight\"}}}},{key:\"bar\",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),u(u({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:7,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=Di(u(u({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,n=e.endVal;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t):function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}}}}},{key:\"brush\",value:function(t){return v.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return u(u({},t),{},{plotOptions:u(u({},t.plotOptions),{},{bar:u(u({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return v.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return v.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\"}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],n=t.globals.seriesCandleH[e][i],o=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+n+\"
\"+(o?\"
\".concat(a[2],': ')+o+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),Wi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new Oi,s=new Ni(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&\"object\"===b(i)){var o,l,h,c,d,u,g,p,f,x,m={};m=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(o=i.plotOptions)&&void 0!==o&&null!==(l=o.bar)&&void 0!==l&&l.isFunnel&&(m=s.funnel()),i.chart.stacked&&\"bar\"===i.chart.type&&(m=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(m=s.brush(m)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(m=s.slope()),i.chart.stacked&&\"100%\"===i.chart.stackType&&(i=s.stacked100(i)),null!==(u=i.plotOptions)&&void 0!==u&&null!==(g=u.bar)&&void 0!==g&&g.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(p=(i=this.checkForCatToNumericXAxis(this.chartType,m,i)).chart.sparkline)&&void 0!==p&&p.enabled||null!==(f=window.Apex.chart)&&void 0!==f&&null!==(x=f.sparkline)&&void 0!==x&&x.enabled)&&(m=s.sparkline(m)),n=v.extend(r,m)}var y=v.extend(n,window.Apex);return r=v.extend(y,i),r=this.handleUserInputErrors(r)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new Ni(i),n=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),o=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return n||o||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new Oi;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=v.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[v.extend(i.yAxis,t.yaxis)]:t.yaxis=v.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=v.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new Oi;return t.annotations.yaxis=v.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new Oi;return t.annotations.xaxis=v.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new Oi;return t.annotations.points=v.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),Bi=function(){function t(){i(this,t)}return s(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=v.extend({},t),e.initialSeries=v.clone(t.series),e.lastXAxis=v.clone(e.initialConfig.xaxis),e.lastYAxis=v.clone(e.initialConfig.yaxis),e}}]),t}(),Gi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(){var t=new Wi(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Bi).init(t)}}}]),t}(),ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=r+1,l=r):(o=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");Mi.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:o+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",n),Mi.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:o+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"computeColorStops\",value:function(t,e){var i,a=this.w,s=null,n=null,o=r(t);try{for(o.s();!(i=o.n()).done;){var l=i.value;l>=e.threshold?(null===s||l>s)&&(s=l):(null===n||l-1?x=v.getOpacityFromRGBA(c):m=v.hexToRgba(v.rgb2hex(c),x),t.opacity&&(x=t.opacity),\"pattern\"===p&&(n=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:m})),b){var y=f(l.fill.gradient.colorStops)||[],w=l.fill.gradient.type;h&&(y[this.seriesIndex]=this.computeColorStops(s.globals.series[this.seriesIndex],l.plotOptions.line.colors),w=\"vertical\"),o=this.handleGradientFill({type:w,fillConfig:t.fillConfig,fillColor:c,fillOpacity:x,colorStops:y,i:this.seriesIndex})}if(\"image\"===p){var k=l.fill.image.src,A=t.patternID?t.patternID:\"\",C=\"pattern\".concat(s.globals.cuid).concat(t.seriesNumber+1).concat(A);-1===this.patternIDs.indexOf(C)&&(this.clippedImgArea({opacity:x,image:Array.isArray(k)?t.seriesNumber-1&&(p=v.getOpacityFromRGBA(g));var f=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[n]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)d=\"dark\"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?v.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?v.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var x=o.gradient.gradientToColors[l.seriesNumber];d=x,x.indexOf(\"rgba\")>-1&&(f=v.getOpacityFromRGBA(x))}else d=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(d=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=d,d=b}return g.indexOf(\"rgb\")>-1&&(g=v.rgb2hex(g)),d.indexOf(\"rgb\")>-1&&(d=v.rgb2hex(d)),h.drawGradient(e,g,d,p,f,l.size,o.gradient.stops,r,n)}}]),t}(),Vi=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],r=this.w,n=e,o=t,l=null,h=new Mi(this.ctx),c=r.config.markers.discrete&&r.config.markers.discrete.length;if(Array.isArray(o.x))for(var d=0;d0:r.config.markers.size>0)||s||c){p||(f+=\" w\".concat(v.randomId()));var x=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:g});if(r.config.series[n].data[g]&&(r.config.series[n].data[g].fillColor&&(x.pointFillColor=r.config.series[n].data[g].fillColor),r.config.series[n].data[g].strokeColor&&(x.pointStrokeColor=r.config.series[n].data[g].strokeColor)),void 0!==a&&(x.pSize=a),(o.x[d]<-r.globals.markers.largestSize||o.x[d]>r.globals.gridWidth+r.globals.markers.largestSize||o.y[d]<-r.globals.markers.largestSize||o.y[d]>r.globals.gridHeight+r.globals.markers.largestSize)&&(x.pSize=0),!p)(r.globals.markers.size[e]>0||s||c)&&!l&&(l=h.group({class:s||c?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(r.globals.cuid,\")\")),(u=h.drawMarker(o.x[d],o.y[d],x)).attr(\"rel\",g),u.attr(\"j\",g),u.attr(\"index\",e),u.node.setAttribute(\"default-marker-size\",x.pSize),new Li(this.ctx).setSelectionFilter(u,e,g),this.addEvents(u),l&&l.add(u)}else void 0===r.globals.pointsArray[e]&&(r.globals.pointsArray[e]=[]),r.globals.pointsArray[e].push([o.x[d],o.y[d]])}return l}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,n=void 0===r?null:r,o=t.size,l=void 0===o?null:o,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,u=this.getMarkerStyle(i),g=null===l?d.globals.markers.size[i]:l,p=d.config.markers;return null!==s&&p.discrete.length&&p.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(u.pointStrokeColor=t.strokeColor,u.pointFillColor=t.fillColor,g=t.size,u.pointShape=t.shape)})),{pSize:null===n?g:n,pRadius:null!==n?n:p.radius,pointStrokeWidth:null!==c?c:Array.isArray(p.strokeWidth)?p.strokeWidth[i]:p.strokeWidth,pointStrokeColor:u.pointStrokeColor,pointFillColor:u.pointFillColor,shape:u.pointShape||(Array.isArray(p.shape)?p.shape[i]:p.shape),class:e,pointStrokeOpacity:Array.isArray(p.strokeOpacity)?p.strokeOpacity[i]:p.strokeOpacity,pointStrokeDashArray:Array.isArray(p.strokeDashArray)?p.strokeDashArray[i]:p.strokeDashArray,pointFillOpacity:Array.isArray(p.fillOpacity)?p.fillOpacity[i]:p.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new Mi(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),Ui=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(n.x))for(var c=0;cp.maxBubbleRadius&&(g=p.maxBubbleRadius)}var f=n.x[c],x=n.y[c];if(g=g||0,null!==x&&void 0!==a.globals.series[r][d]||(u=!1),u){var b=this.drawPoint(f,x,g,r,d,e);h.add(b)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r){var n=this.w,o=a,l=new y(this.ctx),h=new Li(this.ctx),c=new ji(this.ctx),d=new Vi(this.ctx),u=new Mi(this.ctx),g=d.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:o,dataPointIndex:s,radius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[a]&&\"bubble\"===n.config.series[a].type?i:null}),p=c.fillPath({seriesNumber:a,dataPointIndex:s,color:g.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[a][r]}),f=u.drawMarker(t,e,g);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(p=n.config.series[o].data[s].fillColor),f.attr({fill:p}),n.config.chart.dropShadow.enabled){var x=n.config.chart.dropShadow;h.dropShadow(f,x,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var b=n.config.chart.animations.speed;l.animateMarker(f,b,n.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(f)}),100)}))}return f.attr({rel:s,j:s,index:a,\"default-marker-size\":g.pSize}),h.setSelectionFilter(f,a,s),d.addEvents(f),f.node.classList.add(\"apexcharts-marker\"),f}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),qi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"dataLabelsCorrection\",value:function(t,e,i,a,s,r,n){var o=this.w,l=!1,h=new Mi(this.ctx).getTextRects(i,n),c=h.width,d=h.height;e<0&&(e=0),e>o.globals.gridHeight+d&&(e=o.globals.gridHeight+d/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var u=o.globals.dataLabelsRects[a].length-2,g=void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==o.globals.dataLabelsRects[a][u]){var p=o.globals.dataLabelsRects[a][g];(t>p.x+p.width||e>p.y+p.height||e+de.globals.gridWidth+b.textRects.width+30)&&(o=\"\");var m=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(m=e.globals.dataLabels.style.colors[n]),\"function\"==typeof m&&(m=m({series:e.globals.series,seriesIndex:r,dataPointIndex:n,w:e})),u&&(m=u);var v=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(v=0,y=0),e.globals.isSlopeChart&&(0!==n&&(v=-2*d.offsetX+5),0!==n&&n!==e.config.series[r].data.length-1&&(v=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+v,y:s+y,foreColor:m,textAnchor:l||d.textAnchor,text:o,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"})).attr({class:f||\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var w=d.dropShadow;new Li(this.ctx).dropShadow(x,w)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(n)}return x}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=e.width,o=e.height,l=new Mi(this.ctx).drawRect(e.x-s,e.y-r/2,n+2*s,o+r,a.borderRadius,\"transparent\"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:\"#fff\",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new Li(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=v.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"highlightSeries\",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(null==i?void 0:i.getAttribute(\"data:realIndex\"),10),s=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"),r=null,n=null,o=null;if(e.globals.axisCharts||\"radialBar\"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(a,\"']\")),n=e.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(a,\"']\"));var l=e.globals.seriesYAxisReverseMap[a];o=e.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(l,\"']\"))}else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"']\"));else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"'] path\"));for(var h=0;h=t.from&&(r0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},n=0;n0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0?t:[]}));return t}}]),t}(),$i=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pi(this.ctx)}return s(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(v.parseNumber(t[e].data[r][4])):this.twoDSeries.push(v.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var n=new Date(t[e].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var o=0;o-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new zi(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push(\"series-\"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var o=[],l=f(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);o[i]||(o[i]=[]),o[i].push(s.seriesNames[e])})),s.seriesGroups=o;for(var h=function(){for(var t=0;t0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return v.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new Ni(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),n=0;n0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),Ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"getSvgString\",value:function(){var t=this;return new Promise((function(e){var i=t.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=t.w.globals.dom.Paper.svg(),n=t.w.globals.dom.Paper.node.cloneNode(!0);1!==s&&t.scaleSvgNode(n,s),t.convertImagesToBase64(n).then((function(){r=(new XMLSerializer).serializeToString(n),e(r.replace(/ /g,\" \"))}))}))}},{key:\"convertImagesToBase64\",value:function(t){var e=this,i=t.getElementsByTagName(\"image\"),a=Array.from(i).map((function(t){var i=t.getAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\");return i&&!i.startsWith(\"data:\")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",e)})).catch((function(t){console.error(\"Error converting image to base64:\",t)})):Promise.resolve()}));return Promise.all(a)}},{key:\"getBase64FromUrl\",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin=\"Anonymous\",a.onload=function(){var t=document.createElement(\"canvas\");t.width=a.width,t.height=a.height,t.getContext(\"2d\").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){var t=this;return new Promise((function(e){t.cleanup(),t.getSvgString().then((function(t){var i=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});e(URL.createObjectURL(i))}))}))}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n=\"transparent\"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:\"#fff\",o=r.getContext(\"2d\");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s),e.getSvgString().then((function(t){var e=\"data:image/svg+xml,\"+encodeURIComponent(t),a=new Image;a.crossOrigin=\"anonymous\",a.onload=function(){if(o.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},a.src=e}))}))}},{key:\"exportToSVG\",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,\".svg\")}))}},{key:\"exportToPng\",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,n=t.lineDelimiter,o=void 0===n?\"\\n\":n,l=this.w;i||(i=l.config.series);var h=[],c=[],d=\"\",u=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),g=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):\"datetime\"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():v.isNumber(t)?t:t.split(r).join(\"\")},p=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},x=Math.max.apply(Math,f(i.map((function(t){return t.data?t.data.length:0})))),b=new $i(this.ctx),m=new Ri(this.ctx),y=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new Zi(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=m.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?\"nullvalue\":(Array.isArray(i)&&(i=i.join(\" \")),v.isNumber(i)?i:i.split(r).join(\"\"))},w=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||f(Array(x)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new Mi(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,u=l.xaxisFontSize||this.xaxisFontSize,g=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,m=a.length,v=\"category\"===d.config.xaxis.type?d.globals.dataPoints:m;if(0===v&&m>v&&(v=m),s){var y=v>1?v-1:v;n=d.globals.gridWidth/Math.min(y,m-1),b=b+r(0,n)/2+d.config.xaxis.labels.offsetX}else n=d.globals.gridWidth/v,b=b+r(0,n)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,n)/2+d.config.xaxis.labels.offsetX;0===s&&1===m&&n/2===b&&1===v&&(l=d.globals.gridWidth/2);var y=o.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,u,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(u)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(s,y,m):o.axesUtils.checkForOverflowingLabels(s,y,m,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:o.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:f,fontSize:u,fontFamily:g,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,o.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new Mi(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new Mi(this.ctx);t||(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){if(this.w.globals.axisCharts){var t=this.renderGrid();return this.drawGridArea(t.el),t}return null}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new Mi(this.ctx),a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,f(t.config.stroke.width)):t.config.stroke.width,s=function(t){var i=document.createElementNS(e.SVGNS,\"clipPath\");return i.setAttribute(\"id\",t),i};e.dom.elGridRectMask=s(\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectBarMask=s(\"gridRectBarMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=s(\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=s(\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=s(\"nonForecastMask\".concat(e.cuid));var r=0,n=0;([\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t.config.chart.type)||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(r=Math.max(t.config.grid.padding.left,e.barPadForNumericAxis),n=Math.max(t.config.grid.padding.right,e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(0,0,e.gridWidth,e.gridHeight,0,\"#fff\"),e.dom.elGridRectBar=i.drawRect(-a/2-r-2,-a/2-2,e.gridWidth+a+n+r+4,e.gridHeight+a+4,0,\"#fff\");var o=t.globals.markers.largestSize;e.dom.elGridRectMarker=i.drawRect(-o,-o,e.gridWidth+2*o,e.gridHeight+2*o,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectBarMask.appendChild(e.dom.elGridRectBar.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var l=e.dom.baseEl.querySelector(\"defs\");l.appendChild(e.dom.elGridRectMask),l.appendChild(e.dom.elGridRectBarMask),l.appendChild(e.dom.elGridRectMarkerMask),l.appendChild(e.dom.elForecastMask),l.appendChild(e.dom.elNonForecastMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,u=0;d0&&\"datetime\"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e){var i,a,s=this,r=this.w;if((null===(i=r.config.grid.row.colors)||void 0===i?void 0:i.length)>0&&function(t,i,a,n,o,l){for(var h=0,c=0;h=r.config.grid[t].colors.length&&(c=0),s._drawGridBandRect({c:c,x1:a,y1:n,x2:o,y2:l,type:t}),n+=r.globals.gridHeight/e}(\"row\",e,0,0,r.globals.gridWidth,r.globals.gridHeight/e),(null===(a=r.config.grid.column.colors)||void 0===a?void 0:a.length)>0){var n=r.globals.isBarHorizontal||\"on\"!==r.config.xaxis.tickPlacement||\"category\"!==r.config.xaxis.type&&!r.config.xaxis.convertedCatToNumeric?t:t-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var o=r.globals.padHorizontal,l=r.globals.padHorizontal+r.globals.gridWidth/n,h=r.globals.gridHeight,c=0,d=0;c=r.config.grid.column.colors.length&&(d=0),\"datetime\"===r.config.xaxis.type)o=this.xaxisLabels[c].position,l=((null===(u=this.xaxisLabels[c+1])||void 0===u?void 0:u.position)||r.globals.gridWidth)-this.xaxisLabels[c].position;this._drawGridBandRect({c:d,x1:o,y1:0,x2:l,y2:h,type:\"column\"}),o+=r.globals.gridWidth/n}}}}]),t}(),ta=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.coreUtils=new Pi(this.ctx)}return s(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[n],a=Math.max((h.svgHeight-100)/15,2)),v.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,u=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(u=h.multiAxisTickAmount,d=!0),u=\"dataPoints\"===u?h.dataPoints-1:Math.abs(Math.round(u)),(t===Number.MIN_VALUE&&0===e||!v.isNumber(t)&&!v.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=v.isNumber(i.min)?i.min:0,e=v.isNumber(i.max)?i.max:t+u,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var g=e;e=t,t=g}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];u<1&&(u=1);var f=u,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/f,m=b,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(b=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var C=x/f;if(d)if(c)if(0!=v.mod(x,b)){var S=v.getGCD(b,C);b=C/S<10?S:C}else 0==v.mod(b,C)?b=C:(C=b,d=!1);else b=C;else if(c)0==v.mod(x,b)?C=b:b=C;else if(0==v.mod(x,b))C=b;else{C=x/(f=Math.ceil(x/b));var L=v.getGCD(x,b);x/La&&(t=e-b*u,t+=b*Math.floor((M-t)/b))}else if(s)if(d)e=t+b*f;else{var P=e;e=b*Math.ceil(e/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(e=t+b*u,e+=b*Math.ceil((P-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*f;T0&&t16&&v.getPrimeFactors(f).length<2&&f++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&f>x&&(f=x,b=Math.round(x/f)),f>a&&(!d&&!c||i.forceNiceScale)){var z=v.getPrimeFactors(f),X=z.length-1,R=f;t:for(var E=0;EN);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),n=[];if(t===e)return{result:n=[t],niceMin:n[0],niceMax:n[n.length-1]};\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=t;i>=0;)n.push(o),o=v.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&v.isNumber(i)&&e!==Number.MAX_VALUE&&v.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(t,e,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:\"scaleMultipleYAxes\",value:function(){var t=this,e=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var a=i.seriesYAxisMap,s=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach((function(a,n){var o=[];a.forEach((function(t){var i=e.series[t].group;o.indexOf(i)<0&&o.push(i)})),a.length>0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,u=c,g=d;if(e.chart.stacked)!function(){var t=new Array(i.dataPoints).fill(0),s=[],r=[],p=[];o.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),p.push(t.map((function(){return Number.MIN_VALUE})))}));for(var f=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:\"axis-\".concat(n),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,o.forEach((function(t,a){if(e.series[c].group===t)for(var n=0;n=0?r[a][n]+=o:p[a][n]+=o,s[a][n]+=o,u=Math.min(u,o),g=Math.max(g,o)}}))),\"bar\"!==l&&\"column\"!==l||i.barGroups.push(h)},x=0;x1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var u,g=null===(u=r.brushSource)||void 0===u?void 0:u.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=g&&g.enabled&&null!=g&&g.autoScaleYaxis)&&(d=!0)}for(var p=t;px&&r.seriesX[p][b]>s.xaxis.max;b--);}for(var m=x;m<=b&&mh[p][m]&&h[p][m]<0&&(o=h[p][m])}else r.hasNullValues=!0}\"bar\"!==f&&\"column\"!==f||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(o=e),\"bar\"===s.chart.type&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if(\"dataPoints\"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=t.maxX-t.minX;s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],n=t.minX-1;n0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var n=0;n0?a[i][n]+=parseFloat(e.series[r][n])+1e-4:s[i][n]+=parseFloat(e.series[r][n]))}}))})),Object.entries(a).forEach((function(t){var i=p(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),ia=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=\"bottom\"===s.config.xaxis.position?s.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new Ri(e)}return s(t,[{key:\"drawYaxis\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.yaxis[t].labels.style,s=a.fontSize,r=a.fontFamily,n=a.fontWeight,o=i.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\".concat(e.globals.translateYAxisX[t],\", 0)\")});if(this.axesUtils.isYAxisHidden(t))return o;var l=i.group({class:\"apexcharts-yaxis-texts-g\"});o.add(l);var h=e.globals.yAxisScale[t].result.length-1,c=e.globals.gridHeight/h,d=e.globals.yLabelFormatters[t],u=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice());if(e.config.yaxis[t].labels.show){var g=e.globals.translateY+e.config.yaxis[t].labels.offsetY;e.globals.isBarHorizontal?g=0:\"heatmap\"===e.config.chart.type&&(g-=c/2),g+=parseInt(s,10)/3;for(var p=h;p>=0;p--){var f=d(u[p],p,e),x=e.config.yaxis[t].labels.padding;e.config.yaxis[t].opposite&&0!==e.config.yaxis.length&&(x*=-1);var b=this.getTextAnchor(e.config.yaxis[t].labels.align,e.config.yaxis[t].opposite),m=this.axesUtils.getYAxisForeColor(a.colors,t),y=Array.isArray(m)?m[p]:m,w=v.listToArray(e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-label tspan\"))).map((function(t){return t.textContent})),k=i.drawText({x:x,y:g,text:w.includes(f)&&!e.config.yaxis[t].labels.showDuplicates?\"\":f,textAnchor:b,fontSize:s,fontFamily:r,fontWeight:n,maxWidth:e.config.yaxis[t].labels.maxWidth,foreColor:y,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \".concat(a.cssClass)});l.add(k),this.addTooltip(k,f),0!==e.config.yaxis[t].labels.rotate&&this.rotateLabel(i,k,firstLabel,e.config.yaxis[t].labels.rotate),g+=c}}return this.addYAxisTitle(i,o,t),this.addAxisBorder(i,o,t,h,c),o}},{key:\"getTextAnchor\",value:function(t,e){return\"left\"===t?\"start\":\"center\"===t?\"middle\":\"right\"===t?\"end\":e?\"start\":\"end\"}},{key:\"addTooltip\",value:function(t,e){var i=document.createElementNS(this.w.globals.SVGNS,\"title\");i.textContent=Array.isArray(e)?e.join(\" \"):e,t.node.appendChild(i)}},{key:\"rotateLabel\",value:function(t,e,i,a){var s=t.rotateAroundCenter(i.node),r=t.rotateAroundCenter(e.node);e.node.setAttribute(\"transform\",\"rotate(\".concat(a,\" \").concat(s.x,\" \").concat(r.y,\")\"))}},{key:\"addYAxisTitle\",value:function(t,e,i){var a=this.w;if(void 0!==a.config.yaxis[i].title.text){var s=t.group({class:\"apexcharts-yaxis-title\"}),r=a.config.yaxis[i].opposite?a.globals.translateYAxisX[i]:0,n=t.drawText({x:r,y:a.globals.gridHeight/2+a.globals.translateY+a.config.yaxis[i].title.offsetY,text:a.config.yaxis[i].title.text,textAnchor:\"end\",foreColor:a.config.yaxis[i].title.style.color,fontSize:a.config.yaxis[i].title.style.fontSize,fontWeight:a.config.yaxis[i].title.style.fontWeight,fontFamily:a.config.yaxis[i].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \".concat(a.config.yaxis[i].title.style.cssClass)});s.add(n),e.add(s)}}},{key:\"addAxisBorder\",value:function(t,e,i,a,s){var r=this.w,n=r.config.yaxis[i].axisBorder,o=31+n.offsetX;if(r.config.yaxis[i].opposite&&(o=-31-n.offsetX),n.show){var l=t.drawLine(o,r.globals.translateY+n.offsetY-2,o,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);e.add(l)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(o,a,n,r.config.yaxis[i].axisTicks,i,s,e)}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/r+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice()),c=e.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),e.config.xaxis.labels.show)for(var d=c.length?0:r;c.length?d=0;c.length?d++:d--){var u=l(h[d],d,e),g=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,g,d,this.drawnLabels,this.xaxisFontSize);g=p.x,u=p.text,this.drawnLabels.push(p.text),0===d&&e.globals.skipFirstTimelinelabel&&(u=\"\"),d===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var f=i.drawText({x:g,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \".concat(e.config.xaxis.labels.style.cssClass)});s.add(f),f.tspan(u),this.addTooltip(f,u),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new Mi(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \".concat(e.config.xaxis.title.style.cssClass)});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\")),r=s?s.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\")),o=n?n.getBoundingClientRect():{width:0,height:0};if(n){var l=this.xPaddingForYAxisTitle(t,r,o,e);n.setAttribute(\"x\",l.xPos-(e?10:0));var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:r,padd:0}:(a?r=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2:(r=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,r=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:r,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach((function(o,l){var h=i.globals.ignoreYAxisIndexes.includes(l)||!o.show||o.floating||0===t[l].width,c=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,h||(n+=c+20),i.globals.translateYAxisX[l]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,h||(r+=c+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w;v.listToArray(t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\")).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=v.listToArray(t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"))),n=s.getBoundingClientRect();r.forEach((function(t){t.setAttribute(\"text-anchor\",a.labels.align)})),\"left\"!==a.labels.align||a.opposite?\"center\"===a.labels.align?s.setAttribute(\"transform\",\"translate(\".concat(n.width/2*(a.opposite?1:-1),\", 0)\")):\"right\"===a.labels.align&&a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(n.width,\", 0)\")):s.setAttribute(\"transform\",\"translate(-\".concat(n.width,\", 0)\"))}}))}}]),t}(),aa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=v.bind(this.documentEvent,this)}return s(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=v.extend(Hi,i);this.w.globals.locale=a.options}}]),t}(),ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new Qi(this.ctx,e),l=new ia(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),na=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Li(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,u=s.left,g=s.top,p=s.blur,f=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(b=e.drawGradient(\"vertical\",n,o,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine());var y=t.globals.gridHeight;(!v.isNumber(y)||y<0)&&(y=0);var w=t.config.xaxis.crosshairs.width;(!v.isNumber(w)||w<0)&&(w=0),m.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:y,width:w,height:y,fill:b,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:u,top:g,blur:p,color:f,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new Mi(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),oa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Wi({}),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,n=window.innerWidth>0?window.innerWidth:screen.width;if(n>a){var o=v.clone(i.globals.initialConfig);o.series=v.clone(i.config.series);var l=Pi.extendArrayProps(r,o,i);t=v.extend(l,t),t=v.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h0&&\"function\"==typeof t[0]?(this.isColorFn=!0,i.config.series.map((function(a,s){var r=t[s]||t[0];return\"function\"==typeof r?r({value:i.globals.axisCharts?i.globals.series[s][0]||0:i.globals.series[s],seriesIndex:s,dataPointIndex:s,w:e.w}):r}))):t:this.predefined()}},{key:\"applySeriesColors\",value:function(t,e){t.forEach((function(t,i){t&&(e[i]=t)}))}},{key:\"getMonochromeColors\",value:function(t,e,i){var a=t.color,s=t.shadeIntensity,r=t.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?e[0].length*e.length:e.length,o=1/(n/s),l=0;return Array.from({length:n},(function(){var t=\"dark\"===r?i.shadeColor(-1*l,a):i.shadeColor(l,a);return l+=o,t}))}},{key:\"applyColorTypes\",value:function(t,e){var i=this,a=this.w;t.forEach((function(t){a.globals[t].colors=void 0===a.config[t].colors?i.isColorFn?a.config.colors:e:a.config[t].colors.slice(),i.pushExtraColors(a.globals[t].colors)}))}},{key:\"applyDataLabelsColors\",value:function(t){var e=this.w;e.globals.dataLabels.style.colors=void 0===e.config.dataLabels.style.colors?t:e.config.dataLabels.style.colors.slice(),this.pushExtraColors(e.globals.dataLabels.style.colors,50)}},{key:\"applyRadarPolygonsColors\",value:function(){var t=this.w;t.globals.radarPolygons.fill.colors=void 0===t.config.plotOptions.radar.polygons.fill.colors?[\"dark\"===t.config.theme.mode?\"#424242\":\"none\"]:t.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(t.globals.radarPolygons.fill.colors,20)}},{key:\"applyMarkersColors\",value:function(t){var e=this.w;e.globals.markers.colors=void 0===e.config.markers.colors?t:e.config.markers.colors.slice(),this.pushExtraColors(e.globals.markers.colors)}},{key:\"pushExtraColors\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getDatalabelsRect\",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,n){var o;o=e.globals.series[r][n],a=e.config.dataLabels.formatter(o,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:n,w:e}),i.push(a)}))}));var a=v.getLargestStringFromArr(i),s=new Mi(this.dCtx.ctx),r=e.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,f(a));i=e[a.indexOf(s)]}return i}}]),t}(),da=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=v.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(n=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var o=new Xi(this.dCtx.ctx),l=r;r=o.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),n=o.xLabelFormat(s,n,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(n=r=\"1\");var h=new Mi(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==n&&(d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var u=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=u(r),r!==n&&(d=u(n)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=v.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new Mi(this.dCtx.ctx),l=o.getTextRects(r,a),h=l;return r!==n&&(h=o.getTextRects(n,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new Mi(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new Mi(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,o){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(o)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var o=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+n/1.75-e.dCtx.yAxisWidthRight,h=o.position-n/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,o)))||void 0===a?void 0:a.length)?t:e}),d),g=u=c(u,o);if(void 0!==u&&0!==u.length||(u=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();u=v.getLargestStringFromArr(p),u=c(u,{seriesIndex:n,dataPointIndex:-1,w:e}),g=t.dCtx.dimHelpers.getLargestStringFromMultiArr(u,p)}var f=new Mi(t.dCtx.ctx),x=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),b=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=b;u!==g&&(m=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>b.width?h:m.width>b.width?m.width:b.width)+a,height:m.height>b.height?m.height:b.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new Mi(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),n=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:n.width,height:n.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new Ri(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,h=0;n.width>0&&!l?(h=n.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(h=h-n.width-s)):h=l||r.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),ga=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return[\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t)},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(o-=1)})),i.chart.stacked&&(o=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&0!==h){h<=3&&(h=a.dataPoints);var c=h/t,d=a.minXDiff&&a.minXDiff/c>0?a.minXDiff/c:0;d>t/2&&(d/=2),(n=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!i.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(s){void 0!==e.config[s].text?a+=e.config[s].margin:a+=t.dCtx.isSparkline||!i.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||i.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight-=s.height+r.height+a,i.translateY+=s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new Ri(this.dCtx.ctx);i.config.yaxis.forEach((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX-=e[r].width+t[r].width+parseInt(s.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),pa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new ca(this),this.dimYAxis=new ua(this),this.dimXAxis=new da(this),this.dimGrid=new ga(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,f(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=p(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||\"treemap\"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case\"right\":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new ia(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight;var o=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(o,e.gridHeight),e.translateY=r,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*n+s*o+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),fa=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-flip-y {\\n transform: scaleY(-1) translateY(-100%);\\n transform-origin: top;\\n transform-box: fill-box;\\n }\\n .apexcharts-flip-x {\\n transform: scaleX(-1);\\n transform-origin: center;\\n transform-box: fill-box;\\n }\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n margin-right: 1px;\\n }\\n\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\\n\\n \");return a.appendChild(r),a}},{key:\"getLegendDimensions\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.findOne(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),o=a.config.chart.type;if(\"pie\"===o||\"polarArea\"===o||\"donut\"===o){var l=a.config.plotOptions.pie.donut.labels;new Mi(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,l)}n.fire(\"click\")}}},{key:\"getSeriesAfterCollapsing\",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=v.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],n={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(e);var o=a.risingSeries.indexOf(e);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:\"hideSeries\",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,n=0;n0){for(var r=0;r1;if(this.legendHelpers.appendToForeignObject(),(a||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"createLegendMarker\",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement(\"span\");s.classList.add(\"apexcharts-legend-marker\");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[e]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),d=s.style;if(d.height=2*(o+c)+\"px\",d.width=2*(o+c)+\"px\",d.left=l+\"px\",d.top=h+\"px\",a.config.legend.markers.customHTML)d.background=\"transparent\",d.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var g=new Vi(this.ctx).getMarkerConfig({cssClass:\"apexcharts-legend-marker apexcharts-marker apexcharts-marker-\".concat(n),seriesIndex:e,strokeWidth:c,size:o}),p=window.SVG().addTo(s).size(\"100%\",\"100%\"),f=new Mi(this.ctx).drawMarker(0,0,u(u({},g),{},{pointFillColor:Array.isArray(i)?i[e]:g.pointFillColor,shape:n}));a.globals.dom.Paper.find(\".apexcharts-legend-marker.apexcharts-marker\").forEach((function(t){t.node.classList.contains(\"apexcharts-marker-triangle\")?t.node.style.transform=\"translate(50%, 45%)\":t.node.style.transform=\"translate(50%, 50%)\"})),p.add(f)}return s}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.config.legend.markers.fillColors?e.config.legend.markers.fillColors.slice():e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var n=e.globals.legendFormatter,o=e.config.legend.inverseOrder,l=o?a.length-1:0;o?l>=0:l<=a.length-1;o?l--:l++){var h,c=n(a[l],{seriesIndex:l,w:e}),d=!1,u=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var p=0;p0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=n+\"px\",\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=new pa(this.ctx),i=e.dimHelpers.getTitleSubtitleCoords(\"title\"),a=e.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),s=0;\"top\"===t.config.legend.position&&(s=i.height+a.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,s)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new Zi(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new Zi(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ba=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),n(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var o=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};o(\"zoom\"),o(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),n(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;lthis.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:\"executeMouseWheelZoom\",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,n,o=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+o*c;r=d-(s=.5*c)/2,n=d+s/2}else r=l-(s=1.5*c)/2,n=h+s/2;if(!i.globals.isRangeBar){r=Math.max(r,i.globals.initialMinX),n=Math.min(n,i.globals.initialMaxX);var u=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(n-r0&&t.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(t,e,i,a,s){return\"l\"===s||\"r\"===s?t.circle(8).css({\"stroke-width\":1,stroke:\"#333\",fill:\"#fff\"}):t.circle(0)},updateHandle:function(t,e){return t.center(e[0],e[1])}}).resize().on(\"resizing\",this.selectionDragging.bind(this,\"resizing\")))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(u(u({},t.globals.selection),{},{translateX:t.globals.translateX,translateY:t.globals.translateY}));else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:t.globals.translateX,translateY:t.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,n=void 0===r?0:r,o=t.translateY,l=void 0===o?0:o,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var u={transform:\"translate(\"+n+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),Mi.setAttrs(c.node,u)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),Mi.setAttrs(d.node,u))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),n=s.startX-1,o=s.startY,l=!1,h=!1,c=s.clientX-r.left-n,d=s.clientY-r.top-o,g={translateX:a.globals.translateX,translateY:a.globals.translateY};return Math.abs(c+n)>a.globals.gridWidth?c=a.globals.gridWidth-n:s.clientX-r.left<0&&(c=n),n>s.clientX-r.left&&(l=!0,c=Math.abs(c)),o>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=u(u({},g=\"x\"===i?{x:l?n-c:n,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?o-d:o,width:a.globals.gridWidth,height:d}:{x:l?n-c:n,y:h?o-d:o,width:c,height:d}),{},{translateX:a.globals.translateX,translateY:a.globals.translateY}),s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w;if(e){e.preventDefault();var s=e.detail,r=s.handler,n=s.box,o=n.x,l=n.y;othis.constraints.x2&&(o=this.constraints.x2-n.w),n.y2>this.constraints.y2&&(l=this.constraints.y2-n.h),r.move(o,l);var h=this.xyRatios,c=this.selectionRect,d=0;\"resizing\"===t&&(d=30);var u=function(t){return parseFloat(c.node.getAttribute(t))},g={x:u(\"x\"),y:u(\"y\"),width:u(\"width\"),height:u(\"height\")};a.globals.selection=g,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,s,r,n=i.gridRect.getBoundingClientRect(),o=c.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(o.left-n.left)*h.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(o.right-n.left)*h.invertedYRatio,s=0,r=1):(t=a.globals.xAxisScale.niceMin+(o.left-n.left)*h.xRatio,e=a.globals.xAxisScale.niceMin+(o.right-n.left)*h.xRatio,s=a.globals.yAxisScale[0].niceMin+(n.bottom-o.bottom)*h.yRatio[0],r=a.globals.yAxisScale[0].niceMax-(o.top-n.top)*h.yRatio[0]);var l={xaxis:{min:t,max:e},yaxis:{min:s,max:r}};a.config.chart.events.selection(i.ctx,l),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,l)}),d))}}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,n=this.ctx.toolbar;if(s.startX>s.endX){var o=s.startX;s.startX=s.endX,s.endX=o}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],u=[];if(a.config.yaxis.forEach((function(t,e){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),u.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var g=v.clone(a.globals.initialConfig.yaxis),p=v.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(p={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||g.forEach((function(t,e){g[e].min=u[e],g[e].max=d[e]})),n){var f=n.getBeforeZoomRange(p,g);f&&(p=f.xaxis?f.xaxis:p,g=f.yaxis?f.yaxis:g)}var x={xaxis:p};a.config.chart.group||(x.yaxis=g),s.ctx.updateHelpers._updateOptions(x,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&n.zoomCallback(p,g)}else if(a.globals.selectionEnabled){var b,m=null;b={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(m=v.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=u[e],m[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:b,yaxis:m})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.isRangeBar?i.globals.minY:i.globals.minX,o=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(n,o)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=v.clone(i.globals.initialConfig.yaxis),r=a.xRatio,n=i.globals.minX,o=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,n=i.globals.minY,o=i.globals.maxY),\"left\"===this.moveDirection?(t=n+i.globals.gridWidth/15*r,e=o+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=n-i.globals.gridWidth/15*r,e=o-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=n,e=o);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),a}(ba),va=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,l=n.height,h=o/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=o/r.globals.dataPoints);var u=a-n.left-r.globals.barPadForNumericAxis,g=s-n.top;u<0||g<0||u>o||g>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var p=Math.round(u/h),f=Math.floor(g/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(u/h),p-=1);var x=null,b=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=u*(w.width/o),A=g*(w.height/l);x=(b=this.closestInMultiArray(k,A,m,y)).index,p=b.j,null!==x&&(m=r.globals.seriesXvalues[x],p=(b=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:x,j:r.globals.isBarHorizontal?f:p,hoverX:u,hoverY:g}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,n=null,o=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,o=i)}))})),-1!==o){var c=a[r][o],d=Math.abs(e-c);n=r,a.forEach((function(t,i){var a=Math.abs(e-t[o]);a<=d&&(d=a,n=i)}))}return{index:n,j:o}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=f(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getPathFromPoint\",value:function(t,e){var i=Number(t.getAttribute(\"cx\")),a=Number(t.getAttribute(\"cy\")),s=t.getAttribute(\"shape\");return new Mi(this.ctx).getMarkerPath(i,a,s,e)}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),m.innerHTML=t+\"
\",v.innerHTML=e+\"\"};n?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(m.innerHTML=\"\",v.innerHTML=\"\"):y()}else m.innerHTML=\"\",v.innerHTML=\"\";null!==p&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==p?p:\"\");if(n&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?f[0].parentNode.style.display=\"none\":f[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(f[0].parentNode.style.display=\"none\")}},{key:\"toggleActiveInactiveSeries\",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var a=i.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group-\".concat(e));a&&(a.classList.add(\"apexcharts-active\"),a.style.display=i.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",n=\"\",o=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=new $i(this.ctx).isFormatXY()?void 0!==a.config.series[e].data[i]?a.config.series[e].data[i].x:\"\":void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new Xi(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(o=c(a.globals.seriesZ[e][i],a)),n=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(n)?n.join(\" \"):n,zVal:o}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),wa=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/n*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&Mi.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&Mi.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new Mi(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,n=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(n-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=n+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,h=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-10),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0){var g=u.getAttribute(\"shape\"),p=l.getMarkerPath(s,r,g,1.5*c);u.setAttribute(\"d\",p)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Zi(this.ctx),l=new Mi(this.ctx);e=o.getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var h=i.tooltipUtil.getHoverMarkerSize(e);n[e]&&(s=n[e][t][0],r=n[e][t][1]);var c=i.tooltipUtil.getAllMarkers();if(null!==c)for(var d=0;d0){var b=l.getMarkerPath(s,g,f,h);c[d].setAttribute(\"d\",b)}else c[d].setAttribute(\"d\",\"\")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Zi(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var n=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));n||\"number\"!=typeof e||(n=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var o=n?parseFloat(n.getAttribute(\"cx\")):0,l=n?parseFloat(n.getAttribute(\"cy\")):0,h=n?parseFloat(n.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=n&&(n.classList.contains(\"apexcharts-candlestick-area\")||n.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(n&&!d&&(o-=s%2!=0?h/2:0),n&&d&&i.globals.comboCharts&&(o-=h/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,l||i.globals.gridHeight)}}]),t}(),ka=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new wa(e)}return s(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Vi(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=f(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),n=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),n=e.config.markers.hover.size,o=0;o0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute(\"d\",a)}else t[e].setAttribute(\"d\",\"M0,0\")}}}]),t}(),Aa=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&\"rangeBar\"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,n=this.ttCtx,o=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),u=this.getAttr(e,\"width\"),g=this.getAttr(e,\"height\");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),o.globals.capturedSeriesIndex=l,o.globals.capturedDataPointIndex=h,a=c+n.tooltipRect.ttWidth/2+u,s=d+n.tooltipRect.ttHeight/2-g/2,n.tooltipPosition.moveXCrosshairs(c+u/2),a>o.globals.gridWidth/2&&(a=c-n.tooltipRect.ttWidth/2+u),n.w.config.tooltip.followCursor){var p=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-p.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-p.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,n=t.y,o=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var u=v.findAncestor(s.paths,\"apexcharts-series\");u&&(e=parseInt(u.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&o.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),o.globals.capturedSeriesIndex=e,o.globals.capturedDataPointIndex=i,r=h,n=c+o.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var g=l.getElGrid().getBoundingClientRect();n=l.e.clientY+o.globals.translateY-g.top}d<0&&(n=c),l.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});if(null!==d.j||0!==d.barHeight||0!==d.barWidth){e=d.i;var u=d.j;if(r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10),h+n.tooltipRect.ttWidth>r.globals.gridWidth?h-=n.tooltipRect.ttWidth:h<0&&(h=0),n.w.config.tooltip.followCursor){var g=n.getElGrid().getBoundingClientRect();c=n.e.clientY-g.top}null===n.tooltip&&(n.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=h+r.globals.translateX+\"px\",o.style.top=c+\"px\")}}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,n=this.ttCtx,o=0,l=0,h=0,c=0,d=0,u=i.target.classList;if(u.contains(\"apexcharts-bar-area\")||u.contains(\"apexcharts-candlestick-area\")||u.contains(\"apexcharts-boxPlot-area\")||u.contains(\"apexcharts-rangebar-area\")){var g=i.target,p=g.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,m=parseInt(g.getAttribute(\"cx\"),10),v=parseInt(g.getAttribute(\"cy\"),10);c=parseFloat(g.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(g.getAttribute(\"j\"),10),o=parseInt(g.parentNode.getAttribute(\"rel\"),10)-1;var w=g.getAttribute(\"data-range-y1\"),k=g.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?m-b/2:e.isVerticalGroupedRangeBar?m+b/2:m-n.dataPointsDividedWidth+b/2},C=function(){return v-n.dataPointsDividedHeight+x/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=C()):(l=A(),h=i.clientY-f.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=m)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&n.length>0){var o=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=n[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],u=r.maxYArr[h]-r.minYArr[h],g=r.minYArr[h]+(u-d);s.config.yaxis[t].reversed&&(g=r.maxYArr[h]-(u-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=o(g),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),Sa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new va(this),this.tooltipLabels=new ya(this),this.tooltipPosition=new wa(this),this.marker=new ka(this),this.intersect=new Aa(this),this.axesTooltip=new Ca(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Qi(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var n=document.createElement(\"div\");n.classList.add(\"apexcharts-tooltip-series-group\",\"apexcharts-tooltip-series-group-\".concat(r)),n.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var o=document.createElement(\"span\");o.classList.add(\"apexcharts-tooltip-marker\"),o.style.backgroundColor=i.globals.colors[r],n.appendChild(o);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),n.appendChild(l),s.appendChild(n),a.push(n)},n=0;n0&&this.addPathsEventListeners(g,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),o.indexOf(\"bottom\")>-1&&(n=n+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=n+\"px\",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=20?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),20-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,n=this.getElTooltip(e);if(n){if(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new Zi(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,ln.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),u=[];r.config.chart.group&&(u=this.ctx.getSyncedCharts());var g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var p=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&p.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect||u.length>1)this.handleStickyTooltip(a,o,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;xl.width)this.handleMouseOut(a);else if(null!==o)this.handleStickyCapturedSeries(t,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,n,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new Mi(this.ctx),i=t.globals.dom.Paper.find(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,A=this.w,C=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===k&&(k=this.tConfig.shared);var S=this.tooltipUtil.hasMarkers(i),L=this.tooltipUtil.getElBars();if(A.config.legend.tooltipHoverFormatter){var M=A.config.legend.tooltipHoverFormatter,P=Array.from(this.legendLabels);P.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var I=0;I0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(L),this.barSeriesHeight>0)){var Y=new Mi(this.ctx),H=A.globals.dom.Paper.find(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var O=0;O0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=h*k)),w){u=u+d.height/2-b/2-2}var C=e.globals.series[i][a]<0,S=o;switch(this.barCtx.isReversed&&(S=o+(C?c:-c)),f.position){case\"center\":g=w?C?S-c/2+v:S+c/2-v:C?S-c/2+d.height/2+v:S+c/2+d.height/2-v;break;case\"bottom\":g=w?C?S-c+v:S+c-v:C?S-c+d.height+b+v:S+c-d.height/2+b-v;break;case\"top\":g=w?C?S+v:S-v:C?S-d.height/2-v:S+d.height+v}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var L=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),p.fontSize);r=C?S-L.height/2-v-x.offsetY+18:S+L.height+v+x.offsetY-18;var M=A;n=y+(e.globals.isXNumeric?-h*e.globals.barGroups.length/2:e.globals.barGroups.length*h/2-(e.globals.barGroups.length-1)*h-M)+x.offsetX}return e.config.chart.stacked||(g<0?g=0+b:g+d.height/3>e.globals.gridHeight&&(g=e.globals.gridHeight-b)),{bcx:l,bcy:o,dataLabelsX:u,dataLabelsY:g,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,n=t.bcy,o=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,u=t.dataLabelsConfig,g=t.barDataLabelsConfig,p=t.barTotalDataLabelsConfig,f=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var m,v,y=n-(this.barCtx.isRangeBar?0:b)+o/2+h.height/2+x-3,w=\"start\",k=e.globals.series[a][s]<0,A=i;switch(this.barCtx.isReversed&&(A=i+(k?-l:l),w=k?\"start\":\"end\"),g.position){case\"center\":c=k?A+l/2-f:Math.max(h.width/2,A-l/2)+f;break;case\"bottom\":c=k?A+l-d-f:A-l+d+f;break;case\"top\":c=k?A-d-f:A-d+f}if(this.barCtx.lastActiveBarSerieIndex===r&&p.enabled){var C=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);k?(m=A-d-f-p.offsetX,w=\"end\"):m=A+f+p.offsetX+(this.barCtx.isReversed?-(l+d):d),v=y-h.height/2+C.height/2+p.offsetY+d}return e.config.chart.stacked||(\"start\"===u.textAnchor?c-h.width<0?c=k?h.width+d:d:c+h.width>e.globals.gridWidth&&(c=k?e.globals.gridWidth-d:e.globals.gridWidth-h.width-d):\"middle\"===u.textAnchor?c-h.width/2<0?c=h.width/2+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width/2-d):\"end\"===u.textAnchor&&(c<1?c=h.width+d:c+1>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d))),{bcx:i,bcy:n,dataLabelsX:c,dataLabelsY:y,totalDataLabelsX:m,totalDataLabelsY:v,totalDataLabelsAnchor:w}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,n=t.textRects,o=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,d=\"rotate(0)\";\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(d=\"rotate(-90, \".concat(e,\", \").concat(i,\")\"));var g=new qi(this.barCtx.ctx),p=new Mi(this.barCtx.ctx),f=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=p.group({class:\"apexcharts-data-labels\",transform:d});var m=\"\";void 0!==a&&(m=f(a,u(u({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(m=\"\");var v=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===y&&(h.textAnchor=v?\"end\":\"start\"),\"center\"===y&&(h.textAnchor=\"middle\"),\"bottom\"===y&&(h.textAnchor=v?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)lMath.abs(l)&&(m=\"\"):n.height/1.6>Math.abs(o)&&(m=\"\"));var w=u({},h);this.barCtx.isHorizontal&&a<0&&(\"start\"===h.textAnchor?w.textAnchor=\"end\":\"end\"===h.textAnchor&&(w.textAnchor=\"start\")),g.plotDataLabelsText({x:e,y:i,text:m,i:s,j:r,parent:x,dataLabelsConfig:w,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,n=t.barTotalDataLabelsConfig;this.w;var o,l=new Mi(this.barCtx.ctx);return n.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(o=l.drawText({x:e,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),t}(),Ma=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:\"initializeStackedPrevVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:\"initializeStackedXYVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,n,o,l=this.w,h=this.barCtx.ctx.fill,c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(n=r.fill)&&void 0!==n&&n.type?null===(o=l.config.series[e].data[i])||void 0===o?void 0:o.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[a]:l.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"createBorderRadiusArr\",value:function(t){var e,i=this.w,a=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,s=t.length,n=0|(null===(e=t[0])||void 0===e?void 0:e.length),o=Array.from({length:s},(function(){return Array(n).fill(a?\"top\":\"none\")}));if(a)return o;for(var l=0;l0?(h.push(u),d++):g<0&&(c.push(u),d++)}if(h.length>0&&0===c.length)if(1===h.length)o[h[0]][l]=\"both\";else{var p,f=h[0],x=h[h.length-1],b=r(h);try{for(b.s();!(p=b.n()).done;){var m=p.value;o[m][l]=m===f?\"bottom\":m===x?\"top\":\"none\"}}catch(t){b.e(t)}finally{b.f()}}else if(c.length>0&&0===h.length)if(1===c.length)o[c[0]][l]=\"both\";else{var v,y=Math.max.apply(Math,c),w=Math.min.apply(Math,c),k=r(c);try{for(k.s();!(v=k.n()).done;){var A=v.value;o[A][l]=A===y?\"bottom\":A===w?\"top\":\"none\"}}catch(t){k.e(t)}finally{k.f()}}else if(h.length>0&&c.length>0){var C,S=h[h.length-1],L=r(h);try{for(L.s();!(C=L.n()).done;){var M=C.value;o[M][l]=M===S?\"top\":\"none\"}}catch(t){L.e(t)}finally{L.f()}var P,I=Math.max.apply(Math,c),T=r(c);try{for(T.s();!(P=T.n()).done;){var z=P.value;o[z][l]=z===I?\"bottom\":\"none\"}}catch(t){T.e(t)}finally{T.f()}}else if(1===d){o[h[0]||c[0]][l]=\"both\"}}return o}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,n=t.y2,o=t.elSeries,l=this.w,h=new Mi(this.barCtx.ctx),c=new Zi(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],u=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(u),u.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.columnWidthOffset&&(x=a-g.config.series[c].data[u].columnWidthOffset/2,f=i+g.config.series[c].data[u].columnWidthOffset);var b=n/2,m=x+b,v=x+f-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001-b*y,r+=.001+b*y;var w=p.move(m,s),k=p.move(m,s),A=p.line(v,s);if(g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1)),w=w+p.line(m,r)+p.line(v,r)+A+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),k=k+p.line(m,s)+A+A+A+A+A+p.line(m,s)+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).yArrj.push(r-b*y),C.yArrjF.push(Math.abs(s-r+n*y)),C.yArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.barHeightOffset&&(f=i-g.config.series[c].data[u].barHeightOffset/2,x=a+g.config.series[c].data[u].barHeightOffset);var b=n/2,m=f+b,v=f+x-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001+b*y,r+=.001-b*y;var w=p.move(s,m),k=p.move(s,m);g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1));var A=p.line(s,v);if(w=w+p.line(r,m)+p.line(r,v)+A+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),k=k+p.line(s,m)+A+A+A+A+A+p.line(s,m)+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).xArrj.push(r+b*y),C.xArrjF.push(Math.abs(s-r-n*y)),C.xArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s,r){var n=this,l=this.w,h=[],c=function(a,s){var l;h.push((o(l={},t,\"x\"===t?n.getXForValue(a,e,!1):n.getYForValue(a,i,r,!1)),o(l,\"attrs\",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:\"x\"===t?0:l.globals.markers.size[a],strokeWidth:\"x\"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(l.globals.seriesRangeStart[a][s],g),c(l.globals.seriesRangeEnd[a][s],u(u({},g),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,n=t.barHeight,o=new Mi(this.barCtx.ctx),l=o.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=o.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:n/2,a=i+e+n/2;h=o.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=o.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=o.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,n=e.x1,o=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=o+i.barHeight,u=new Mi(this.barCtx.ctx),g=new v,p=u.move(n,d)+u.line(r,d)+u.line(l,c)+u.line(h,c)+u.line(n,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[realIndex][j]?\" Z\":\" z\");return u.drawPath({d:p,fill:g.shadeColor(.5,v.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadow apexcharts-decoration-element\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),Pa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new Zi(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]),this.columnGroupIndices=[];var n=r.getBarSeriesIndices(),o=new Pi(this.ctx);this.stackedSeriesTotals=o.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===n.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new Ma(this)}return s(t,[{key:\"draw\",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=new Pi(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var n=0,o=0;n0&&(this.visibleI=this.visibleI+1);var w=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var A=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var C=this.barHelpers.initialPositions();p=C.y,w=C.barHeight,h=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,l=C.xDivision,c=C.zeroH,this.isHorizontal||x.push(g+k/2);var S=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b});i.globals.delayedElements.push({el:S.node}),S.node.classList.add(\"apexcharts-element-hidden\");var L=a.group({class:\"apexcharts-bar-goals-markers\"}),M=a.group({class:\"apexcharts-bar-shadows\"});i.globals.delayedElements.push({el:M.node}),M.node.classList.add(\"apexcharts-element-hidden\");for(var P=0;P0){var R=this.barHelpers.drawBarShadow({color:\"string\"==typeof X&&-1===(null==X?void 0:X.indexOf(\"url\"))?X:v.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});if(M.add(R),i.config.chart.dropShadow.enabled)new Li(this.ctx).dropShadow(R,i.config.chart.dropShadow,b)}this.pathArr.push(T);var E=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:w,barWidth:k});E&&L.add(E),p=T.y,g=T.x,P>0&&x.push(g+k/2),f.push(p),this.renderSeries({realIndex:b,pathFill:X,j:P,i:n,columnGroupIndex:m,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:y,x:g,y:p,series:t,barHeight:Math.abs(T.barHeight?T.barHeight:w),barWidth:Math.abs(T.barWidth?T.barWidth:k),elDataLabelsWrap:S,elGoalsMarkers:L,elBarShadows:M,visibleSeries:this.visibleI,type:\"bar\"})}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=f,r.add(y)}return r}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,n=t.columnGroupIndex,o=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,u=t.y,g=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,m=t.barXPosition,v=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.elBarShadows,A=t.visibleSeries,C=t.type,S=t.classes,L=this.w,M=new Mi(this.ctx);if(!a){var P=\"function\"==typeof L.globals.stroke.colors[e]?function(t){var e,i=L.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=\"\"),\"function\"==typeof e)?e({value:L.globals.series[t][s],dataPointIndex:s,w:L}):e}(e):L.globals.stroke.colors[e];a=this.barOptions.distributed?L.globals.stroke.colors[s]:P}L.config.series[r].data[s]&&L.config.series[r].data[s].strokeColor&&(a=L.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var I=s/L.config.chart.animations.animateGradually.delay*(L.config.chart.animations.speed/L.globals.dataPoints)/2.4,T=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:L.config.stroke.lineCap,fill:i,animationDelay:I,initialSpeed:L.config.chart.animations.speed,dataChangeSpeed:L.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(C,\"-area \").concat(S),chartType:C});T.attr(\"clip-path\",\"url(#gridRectBarMask\".concat(L.globals.cuid,\")\"));var z=L.config.forecastDataPoints;z.count>0&&s>=L.globals.dataPoints-z.count&&(T.node.setAttribute(\"stroke-dasharray\",z.dashArray),T.node.setAttribute(\"stroke-width\",z.strokeWidth),T.node.setAttribute(\"fill-opacity\",z.fillOpacity)),void 0!==g&&void 0!==p&&(T.attr(\"data-range-y1\",g),T.attr(\"data-range-y2\",p)),new Li(this.ctx).setSelectionFilter(T,e,s),c.add(T);var X=new La(this).handleBarDataLabels({x:d,y:u,y1:g,y2:p,i:r,j:s,series:f,realIndex:e,columnGroupIndex:n,barHeight:x,barWidth:b,barXPosition:m,barYPosition:v,renderedPath:T,visibleSeries:A});return null!==X.dataLabels&&y.add(X.dataLabels),X.totalDataLabels&&y.add(X.totalDataLabels),c.add(y),w&&c.add(w),k&&c.add(k),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,u=i.j;if(c.globals.isXNumeric)e=(o=(c.globals.seriesX[d][u]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var g=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[u]&&g++,e0&&(a=this.seriesLen*a/g),e=o+a*this.visibleI,e-=a*p}else e=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][u],r)-r)/2),n=this.barHelpers.getXForValue(this.series[d][u],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:d,j:u,w:c});return c.globals.isXNumeric||(o+=l),this.barHelpers.barBackground({j:u,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,u),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,n=t.barWidth,o=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,u=i.translationsIndex,g=i.i,p=i.j,f=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:p,realIndex:d,barWidth:n});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:g,j:p}),m=b.nonZeroColumns,v=b.zeroEncounters;m>0&&(n=this.seriesLen*n/m),e=a+n*this.visibleI,e-=n*v}else e=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][p],o,u);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:n,y1:o,y2:s,strokeWidth:l,isReversed:this.isReversed,series:this.series,realIndex:d,i:g,j:p,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:f,j:p,i:g,x1:e-l/2-n*this.visibleI,x2:n*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,o,g,p,u),barXPosition:e,barWidth:n}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),v.isNumber(r.globals.seriesX[n][s])&&(e=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),Ia=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this,a=this.w;this.graphics=new Mi(this.ctx),this.bar=new Pa(this.ctx,this.xyRatios);var s=new Pi(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),n=0,o=0,l=function(s,l){var h=void 0,c=void 0,d=void 0,g=void 0,p=a.globals.comboCharts?e[s]:s,f=i.barHelpers.getGroupIndex(p),x=f.groupIndex,b=f.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var m=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[p][0],w=p),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:\"apexcharts-series\",seriesName:v.escapeString(a.globals.seriesNames[p]),rel:s+1,\"data:realIndex\":p});i.ctx.series.addCollapsedClassToSeries(k,p);var A=i.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":p}),C=i.graphics.group({class:\"apexcharts-bar-goals-markers\"}),S=0,L=0,M=i.initialPositions(n,o,h,c,d,g,w);o=M.y,S=M.barHeight,c=M.yDivision,g=M.zeroW,n=M.x,L=M.barWidth,h=M.xDivision,d=M.zeroH,a.globals.barHeight=S,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return d})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var P=0;P0||\"top\"===i.barHelpers.arrBorderRadius[p][P]&&a.globals.series[p][P]<0)&&(E=Y),k=i.renderSeries({realIndex:p,pathFill:R,j:P,i:s,columnGroupIndex:b,pathFrom:z.pathFrom,pathTo:z.pathTo,strokeWidth:I,elSeries:k,x:n,y:o,series:t,barHeight:S,barWidth:L,elDataLabelsWrap:A,elGoalsMarkers:C,type:\"bar\",visibleSeries:b,classes:E})}a.globals.seriesXvalues[p]=m,a.globals.seriesYvalues[p]=y,i.groupCtx.prevY.push(i.groupCtx.yArrj),i.groupCtx.prevYF.push(i.groupCtx.yArrjF),i.groupCtx.prevYVal.push(i.groupCtx.yArrjVal),i.groupCtx.prevX.push(i.groupCtx.xArrj),i.groupCtx.prevXF.push(i.groupCtx.xArrjF),i.groupCtx.prevXVal.push(i.groupCtx.xArrjVal),r.add(k)},h=0,c=0;h1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf(\"%\")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[n]:h.globals.gridHeight-this.baseLineY[n],t=h.globals.padHorizontal+(i-l)/2}var u=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o/u,barWidth:l/u,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,u=this.w,g=o+l*a,p=i.i,f=i.j,x=i.realIndex,b=i.translationsIndex,m=0,v=0;v0){var w=r;this.groupCtx.prevXVal[y-1][f]<0?w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]+m-2*(this.isReversed?m:0):this.groupCtx.prevX[y-1][f]:this.groupCtx.prevXVal[y-1][f]>=0&&(w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]:this.groupCtx.prevX[y-1][f]-m+2*(this.isReversed?m:0)),e=w}else e=r;n=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:g,barHeight:a,x1:e,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:u});return this.barHelpers.barBackground({j:f,i:p,y1:g,y2:a,elSeries:d}),o+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,p,f,b),barXPosition:e,barYPosition:g,x:n,y:o}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,u=e.j,g=e.bc,p=e.realIndex,f=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[p][u];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,m=i+o*r,v=0,y=0;y0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[p-1][u]===c.globals.seriesX[p][u]){var k,A,C,S=Math.min(this.yRatio.length+1,p+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L=0?C-v+2*(this.isReversed?v:0):C;break}if((null===(T=this.groupCtx.prevYVal[w-P])||void 0===T?void 0:T[u])>=0){A=this.series[d][u]>=0?C:C+v-2*(this.isReversed?v:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?n:A}else b=n;a=this.series[d][u]?b-this.series[d][u]/this.yRatio[f]+2*(this.isReversed?this.series[d][u]/this.yRatio[f]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:m,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[f],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:u,w:c});return this.barHelpers.barBackground({bc:g,j:u,i:d,x1:m,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,n,d,u),barXPosition:m,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(Pa),Ta=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e,i){var a=this,s=this.w,r=new Mi(this.ctx),n=s.globals.comboCharts?e:s.config.chart.type,o=new ji(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var l=new Pi(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),c=function(e){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[e].type;var n,l,c,d,g=void 0,p=void 0,f=[],x=[],b=s.globals.comboCharts?i[e]:e,m=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:\"apexcharts-series\",seriesName:v.escapeString(s.globals.seriesNames[b]),rel:e+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var C=a.barHelpers.initialPositions();p=C.y,w=C.barHeight,l=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,n=C.xDivision,c=C.zeroH,x.push(g+k/2);for(var S=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),L=r.group({class:\"apexcharts-bar-goals-markers\"}),M=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,v={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:g,y:p,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(u(u({},v),{},{yDivision:l,barHeight:w,zeroW:d})):a.drawVerticalBoxPaths(u(u({},v),{},{xDivision:n,barWidth:k,zeroH:c})),p=h.y,g=h.x;var C=a.barHelpers.drawGoalLine({barXPosition:h.barXPosition,barYPosition:h.barYPosition,goalX:h.goalX,goalY:h.goalY,barHeight:w,barWidth:k});C&&L.add(C),i>0&&x.push(g+k/2),f.push(p),h.pathTo.forEach((function(n,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=o.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:n,strokeWidth:r,elSeries:y,x:g,y:p,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:S,elGoalsMarkers:L,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;Pb.c&&(d=!1);var y=Math.min(b.o,b.c),w=Math.max(b.o,b.c),k=b.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[x][c]-o.globals.minX)/this.xRatio-s/2);var A=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(y=r,w=r):(y=r-y/f,w=r-w/f,m=r-b.h/f,v=r-b.l/f,k=r-b.m/f);var C=l.move(A,r),S=l.move(A+s/2,y);return o.globals.previousPaths.length>0&&(S=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(A,y)+l.line(A+s/2,y)+l.line(A+s/2,m)+l.line(A+s/4,m)+l.line(A+s-s/4,m)+l.line(A+s/2,m)+l.line(A+s/2,y)+l.line(A+s,y)+l.line(A+s,k)+l.line(A,k)+l.line(A,y+n/2),l.move(A,k)+l.line(A+s,k)+l.line(A+s,w)+l.line(A+s/2,w)+l.line(A+s/2,v)+l.line(A+s-s/4,v)+l.line(A+s/4,v)+l.line(A+s/2,v)+l.line(A+s/2,w)+l.line(A,w)+l.line(A,k)+\"z\"]:[l.move(A,w)+l.line(A+s/2,w)+l.line(A+s/2,m)+l.line(A+s/2,w)+l.line(A+s,w)+l.line(A+s,y)+l.line(A+s/2,y)+l.line(A+s/2,v)+l.line(A+s/2,y)+l.line(A,y)+l.line(A,w-n/2)],S+=l.move(A,y),o.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:S,x:i,y:w,goalY:this.barHelpers.getGoalValues(\"y\",null,r,h,c,e.translationsIndex),barXPosition:A,color:this.isBoxPlot?p:d?[u]:[g]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,n=t.strokeWidth,o=this.w,l=new Mi(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var u=this.invertedYRatio,g=e.realIndex,p=this.getOHLCValue(g,c),f=r,x=r,b=Math.min(p.o,p.c),m=Math.max(p.o,p.c),v=p.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][c]-o.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,m=r):(b=r+b/u,m=r+m/u,f=r+p.h/u,x=r+p.l/u,v=r+p.m/u);var w=l.move(r,y),k=l.move(b,y+s/2);return o.globals.previousPaths.length>0&&(k=this.getPreviousPath(g,c,!0)),w=[l.move(b,y)+l.line(b,y+s/2)+l.line(f,y+s/2)+l.line(f,y+s/2-s/4)+l.line(f,y+s/2+s/4)+l.line(f,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(v,y+s)+l.line(v,y)+l.line(b+n/2,y),l.move(v,y)+l.line(v,y+s)+l.line(m,y+s)+l.line(m,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(m,y+s/2)+l.line(m,y)+l.line(v,y)+\"z\"],k+=l.move(b,y),o.globals.isXNumeric||(i+=a),{pathTo:w,pathFrom:k,x:m,y:i,goalX:this.barHelpers.getGoalValues(\"x\",r,null,h,c),barYPosition:y,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),a}(Pa),za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,n=s.config.plotOptions[t].shadeIntensity,o=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,\"treemap\"===t&&(r=(1-o.percent/100)*(1.25*n)));var l=o.color,h=new v;if(s.config.plotOptions[t].enableShades)if(\"dark\"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,o.color);l=v.hexToRgba(v.isColorHex(c)?c:v.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,o.color);l=v.hexToRgba(v.isColorHex(d)?d:v.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:o}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],n=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],l=null,h=Math.min.apply(Math,f(a.globals.series[e])),c=Math.max.apply(Math,f(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),u=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){o=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);u=100*s/(0===i?i-1e-6:i)}}));return{color:o,foreColor:l,percent:u}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,n=t.colorProps,o=t.fontSize,l=this.w.config.dataLabels,h=new Mi(this.ctx),c=new qi(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var u=l.offsetX,g=l.offsetY,p=i+u,f=a+parseFloat(l.style.fontSize)/3+g;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:n.foreColor,parent:d,fontSize:o,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new Mi(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),Xa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new za(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:\"draw\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(o=!0,l.reverse());for(var h=o?0:l.length-1;o?h=0;o?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:v.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new Li(this.ctx).dropShadow(c,d,h)}for(var u=0,g=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var w=m.x,k=m.y,A=100*g/this.fullAngle+\"%\";if(0!==g&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),u=i.centerY+r*Math.sin(l),g=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),b=s>180?1:0,m=[\"M\",d,u,\"A\",r,r,0,b,1,g,p];return e=\"donut\"===i.chartType?[].concat(m,[\"L\",f.x,f.y,\"A\",i.donutSize,i.donutSize,0,b,0,x.x,x.y,\"L\",d,u,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(m,[\"L\",i.centerX,i.centerY,\"L\",d,u]).join(\" \"):[].concat(m).join(\" \"),n.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new ta(this.ctx),a=new Mi(this.ctx),s=new Ra(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),l=o.result.reverse(),h=o.result.length;this.maxY=o.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),u=0;u1&&t.total.show&&(s=t.total.color);var n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=this.donutDataLabels.total.label?t.name.formatter(e,l,r):\"\",null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],n=360/i.globals.series.length,o=0;o0&&(f=e.getPreviousPath(n));for(var x=0;x=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(u=360-Math.abs(this.startAngle)-.1);var g=i.drawPath({d:\"\",stroke:c,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(g,p)}l.add(g),g.attr(\"id\",\"apexcharts-radialbarTrack-\"+o),this.animatePaths(g,{centerX:t.centerX,centerY:t.centerY,endAngle:u,startAngle:d,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=new ji(this.ctx),s=new Li(this.ctx),r=i.group(),n=this.getStrokeWidth(t);t.size=t.size-n/2;var o=e.config.plotOptions.radialBar.hollow.background,l=t.size-n*t.series.length-this.margin*t.series.length-n*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(t,r,l,o));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:o||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var u=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(u=0);var g=null;if(this.radialDataLabels.show){var p=e.globals.dom.Paper.findOne(\".apexcharts-datalabels-group\");g=this.renderInnerDataLabels(p,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:u})}\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),g&&r.add(g));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var x=f?t.series.length-1:0;f?x>=0:x100?100:t.series[x])/100,A=Math.round(this.totalAngle*k)+this.startAngle,C=void 0;e.globals.dataChanged&&(w=this.startAngle,C=Math.round(this.totalAngle*v.negToZero(e.globals.previousPaths[x])/100)+w),Math.abs(A)+Math.abs(y)>360&&(A-=.01),Math.abs(C)+Math.abs(w)>360&&(C-=.01);var S=A-y,L=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,M=i.drawPath({d:\"\",stroke:m,strokeWidth:n,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+x,strokeDashArray:L});if(Mi.setAttrs(M.node,{\"data:angle\":S,\"data:value\":t.series[x]}),e.config.chart.dropShadow.enabled){var P=e.config.chart.dropShadow;s.dropShadow(M,P,x)}if(s.setSelectionFilter(M,0,x),this.addListeners(M,this.radialDataLabels),b.add(M),M.attr({index:0,j:x}),this.barLabels.enabled){var I=v.polarToCartesian(t.centerX,t.centerY,t.size,y),T=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),z=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||z.push(\"apexcharts-no-click\");var X=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;X||(X=e.config.chart.foreColor);var R=I.x+this.barLabels.offsetX,E=I.y+this.barLabels.offsetY,Y=i.drawText({x:R,y:E,text:T,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:X,cssClass:z.join(\" \")});Y.on(\"click\",this.onBarLabelClick),Y.attr({rel:x+1}),0!==y&&Y.attr({\"transform-origin\":\"\".concat(R,\" \").concat(E),transform:\"rotate(\".concat(y,\" 0 0)\")}),b.add(Y)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(M,{centerX:t.centerX,centerY:t.centerY,endAngle:A,startAngle:y,prevEndAngle:C,prevStartAngle:w,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0})}return{g:r,elHollow:c,dataLabels:g}}},{key:\"drawHollow\",value:function(t){var e=new Mi(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new ji(this.ctx),n=v.randomId(),o=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:o,patternID:\"pattern\".concat(s.globals.cuid).concat(n)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(n,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),r}(Ea),Oa=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this.w,a=new Mi(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),r=0;r0&&(this.visibleI=this.visibleI+1);var x=0,b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[g][0],m=g);var y=this.barHelpers.initialPositions();d=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,n=y.xDivision,o=y.yDivision,l=y.zeroH;for(var w=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":g}),k=a.group({class:\"apexcharts-rangebar-goals-markers\"}),A=0;A0}));return this.isHorizontal?(a=u.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+o*this.visibleI+h*b,m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(a=(o=d.barHeight/g.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+o*(this.visibleI+g.indexOf(p))+h*b)):(b>-1&&!u.globals.timescaleLabels.length&&(s=u.config.plotOptions.bar.rangeBarGroupRows?n+c*b:n+l*this.visibleI+c*b),m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/g.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+g.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:o,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,n=t.zeroH,o=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,u=this.yRatio[d],g=this.getRangeValue(c,h),p=Math.min(g.start,g.end),f=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?p=n:(p=n-p/u,f=n-f/u);var x=Math.abs(f-p),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:p,y2:f,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:o});if(o.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=m.x,r=m.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:g.start<0&&g.end<0?p:f,goalY:this.barHelpers.getGoalValues(\"y\",null,n,l,h,d),barXPosition:r}}},{key:\"preventBarOverflow\",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,u=this.preventBarOverflow(l+a/this.invertedYRatio),g=this.preventBarOverflow(l+s/this.invertedYRatio),p=this.getRangeValue(c,d),f=Math.abs(g-u),x=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:u,x2:g,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:f,x:p.start<0&&p.end<0?u:g,goalX:this.barHelpers.getGoalValues(\"x\",l,null,c,d),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(Pa),Fa=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new Pi(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,n=t.j,o=t.prevY,l=this.w,h=[],c=[];if(0===n){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(v.isNumber(e[r][0])?o+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(a,10)&&(\"line\"===n.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===n.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a,s=t.i,r=t.realIndex,n=t.series,o=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=n[s])||void 0===a?void 0:a[0]))o=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===n[s][0])for(var u=s-1;u>=0;u--)if(null!==n[u][0]&&void 0!==n[u][0]){o=l=this.lineCtx.prevSeriesY[u][0];break}return{prevY:o,lineYPosition:l}}}]),t}(),Da=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Wa(i,a),r=1,n=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=n;h++)s=(t[Math.min(n,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),o.push([s||0,r[h]*s||0]);return o},_a=function(t){var e=Da(t),i=t[1],a=t[0],s=[],r=e[1],n=e[0];s.push(a,[a[0]+n[0],a[1]+n[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var o=2,l=e.length;o1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Wa(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ba=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new Ui(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Fa(this),this.markers=new Vi(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:\"draw\",value:function(t,e,i,a){var s,r=this.w,n=new Mi(this.ctx),o=r.globals.comboCharts?e:r.config.chart.type,l=n.group({class:\"apexcharts-\".concat(o,\"-series apexcharts-plot-series\")}),h=new Pi(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],d=0;d1?g:0;this._initSerieVariables(t,d,g);var f=[],x=[],b=[],m=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(m=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),b.push(m);var v,y=m,w=void 0,k=y,A=this.zeroY,C=this.zeroY;A=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:t,prevY:A,lineYPosition:0,translationsIndex:p}).prevY,\"monotoneCubic\"===r.config.stroke.curve&&null===t[d][0]?f.push(null):f.push(A),v=A;\"rangeArea\"===o&&(w=C=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:a,prevY:C,lineYPosition:0,translationsIndex:p}).prevY,x.push(null!==f[0]?C:null));var S=this._calculatePathsFrom({type:o,series:t,i:d,realIndex:g,translationsIndex:p,prevX:k,prevY:A,prevY2:C}),L=[f[0]],M=[x[0]],P={type:o,series:t,realIndex:g,translationsIndex:p,i:d,x:m,y:1,pX:y,pY:v,pathsFrom:S,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:f,y2Arrj:x,seriesRangeEnd:a},I=this._iterateOverDataPoints(u(u({},P),{},{iterations:\"rangeArea\"===o?t[d].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===o){for(var T=this._calculatePathsFrom({series:a,i:d,realIndex:g,prevX:k,prevY:C}),z=this._iterateOverDataPoints(u(u({},P),{},{series:a,xArrj:[m],yArrj:L,y2Arrj:M,pY:w,areaPaths:I.areaPaths,pathsFrom:T,iterations:a[d].length-1,isRangeStart:!1})),X=I.linePaths.length/2,R=0;R=0;E--)l.add(c[E]);else for(var Y=0;Y1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:v.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var n=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":n,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,n=t.series,o=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,u=t.prevY2,g=this.w,p=new Mi(this.ctx);if(null===n[o][0]){for(var f=0;f0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,n=new Mi(this.ctx),o=new ji(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&\"rangeArea\"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=n.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var d=n.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(e)};if(\"area\"===e)for(var p=o.fillPath({seriesNumber:i}),f=0;f0&&\"rangeArea\"!==e){var A=n.renderPaths(w);A.node.setAttribute(\"stroke-dasharray\",l.dashArray),l.strokeWidth&&A.node.setAttribute(\"stroke-width\",l.strokeWidth),this.elSeries.add(A),A.attr(\"clip-path\",\"url(#forecastMask\".concat(r.globals.cuid,\")\")),k.attr(\"clip-path\",\"url(#nonForecastMask\".concat(r.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i,a=this,s=t.type,r=t.series,n=t.iterations,o=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,u=t.pX,g=t.pY,p=t.pathsFrom,f=t.linePaths,x=t.areaPaths,b=t.seriesIndex,m=t.lineYPosition,y=t.xArrj,w=t.yArrj,k=t.y2Arrj,A=t.isRangeStart,C=t.seriesRangeEnd,S=this.w,L=new Mi(this.ctx),M=this.yRatio,P=p.prevY,I=p.linePath,T=p.areaPath,z=p.pathFromLine,X=p.pathFromArea,R=v.isNumber(S.globals.minYArr[o])?S.globals.minYArr[o]:S.globals.minY;n||(n=S.globals.dataPoints>1?S.globals.dataPoints-1:S.globals.dataPoints);var E=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},Y=d,H=S.config.chart.stacked&&!S.globals.comboCharts||S.config.chart.stacked&&S.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[o])||void 0===i?void 0:i.type)),O=S.config.stroke.curve;Array.isArray(O)&&(O=Array.isArray(b)?O[b[h]]:O[h]);for(var F,D=0,_=0;_0&&S.globals.collapsedSeries.length0;e--){if(!(S.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][_+1]}else m=this.zeroY;else m=this.zeroY;N?d=E(R,m):(d=E(r[h][_+1],m),\"rangeArea\"===s&&(Y=E(C[h][_+1],m))),y.push(c),!N||\"smooth\"!==S.config.stroke.curve&&\"monotoneCubic\"!==S.config.stroke.curve?(w.push(d),k.push(Y)):(w.push(null),k.push(null));var B=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:o,i:h,j:_,prevY:P}),G=this._createPaths({type:s,series:r,i:h,realIndex:o,j:_,x:c,y:d,y2:Y,xArrj:y,yArrj:w,y2Arrj:k,pX:u,pY:g,pathState:D,segmentStartX:F,linePath:I,areaPath:T,linePaths:f,areaPaths:x,curve:O,isRangeStart:A});x=G.areaPaths,f=G.linePaths,u=G.pX,g=G.pY,D=G.pathState,F=G.segmentStartX,T=G.areaPath,I=G.linePath,!this.appendPathFrom||S.globals.hasNullValues||\"monotoneCubic\"===O&&\"rangeArea\"===s||(z+=L.line(c,this.areaBottomY),X+=L.line(c,this.areaBottomY)),this.handleNullDataPoints(r,B,h,_,o),this._handleMarkersAndLabels({type:s,pointsPos:B,i:h,j:_,realIndex:o,isRangeStart:A})}return{yArrj:w,xArrj:y,pathFromArea:X,areaPaths:x,pathFromLine:z,linePaths:f,linePath:I,areaPath:T}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,n=t.realIndex,o=this.w,l=new qi(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,n,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:n,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s,r=t.j,n=t.x,o=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,u=t.pX,g=t.pY,p=t.pathState,f=t.segmentStartX,x=t.linePath,b=t.areaPath,m=t.linePaths,v=t.areaPaths,y=t.curve,w=t.isRangeStart,k=new Mi(this.ctx),A=this.areaBottomY,C=\"rangeArea\"===e,S=\"rangeArea\"===e&&w;switch(y){case\"monotoneCubic\":var L=w?h:d;switch(p){case 0:if(null===L[r+1])break;p=1;case 1:if(!(C?l.length===i[a].length:r===i[a].length-2))break;case 2:var M=w?l:l.slice().reverse(),P=w?L:L.slice().reverse(),I=(s=P,M.map((function(t,e){return[t,s[e]]})).filter((function(t){return null!==t[1]}))),T=I.length>1?_a(I):I,z=[];C&&(S?v=I:z=v.reverse());var X=0,R=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e}(t),i=R,a=(R+=t.length)-1;S?x=k.move(I[i][0],I[i][1])+e:C?x=k.move(z[i][0],z[i][1])+k.line(I[i][0],I[i][1])+e+k.line(z[a][0],z[a][1]):(x=k.move(I[i][0],I[i][1])+e,b=x+k.line(I[a][0],A)+k.line(I[i][0],A)+\"z\",v.push(b)),m.push(x)})),C&&X>1&&!S){var E=m.slice(X).reverse();m.splice(X),E.forEach((function(t){return m.push(t)}))}p=0}break;case\"smooth\":var Y=.35*(n-u);if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r=i[a].length-2&&(S&&(x+=k.curve(n,o,n,o,n,c)+k.move(n,c)),b+=k.curve(n,o,n,o,n,A)+k.line(f,A)+\"z\",m.push(x),v.push(b),p=-1)}}u=n,g=o;break;default:var F=function(t,e,i){var a=[];switch(t){case\"stepline\":a=k.line(e,null,\"H\")+k.line(null,i,\"V\");break;case\"linestep\":a=k.line(null,i,\"V\")+k.line(e,null,\"H\");break;case\"straight\":a=k.line(e,i)}return a};if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r=i[a].length-2&&(S&&(x+=k.line(n,c)),b+=k.line(n,A)+k.line(f,A)+\"z\",m.push(x),v.push(b),p=-1)}}u=n,g=o}return{linePaths:m,areaPaths:v,pX:u,pY:g,pathState:p,segmentStartX:f,linePath:x,areaPath:b}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers(e,s,a+1,n,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,n=r(t)/this.height,o=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,n=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,n)}return i}}function e(e,a,s,n,o){n=void 0===n?0:n,o=void 0===o?0:o;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=n}(e,l=t[0],o)?(e.push(l),i(t.slice(1),e,s,n)):(h=s.cutArea(r(e),n),n.push(s.getCoordinates(e)),i(t,[],h,n)),n;n.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=n-s){var h=o.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var n=new Mi(this.ctx),o=n.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=n.getTextBasedOnMaxWidth({text:t,maxWidth:o,fontSize:e});return t.length!==l.length&&o/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new y(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),ja=86400,Va=10/ja,Ua=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:\"calculateTimeScaleTicks\",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new zi(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(t,e,this.utc),o=a.globals.gridWidth/r,l=o/24,h=l/60,c=h/60,d=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*ja),f=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),m={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},v={firstVal:m,currentMillisecond:m.minMillisecond,currentSecond:m.minSecond,currentMinute:m.minMinute,currentHour:m.minHour,currentMonthDate:m.minDate,currentDate:m.minDate,currentMonth:m.minMonth,currentYear:m.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:d,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(v);break;case\"months\":case\"half_year\":this.generateMonthScale(v);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(v);break;case\"hours\":this.generateHourScale(v);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(v);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(v)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?u(u({},e),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?u(u({},e),{},{value:t.value}):\"minute\"===t.unit?u(u({},e),{},{value:t.value,minute:t.value}):\"second\"===t.unit?u(u({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var n=!1,o=!1;switch(i.tickInterval){case\"years\":\"year\"===t.unit&&(n=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(n=!0);break;case\"months\":e=1,\"year\"===t.unit&&(n=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(n=!0),30===r&&(o=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(n=!0),30===r&&(o=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(n=!0);break;case\"days\":e=1,\"month\"===t.unit&&(n=!0);break;case\"hours\":\"day\"===t.unit&&(n=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(o=!0);break;case\"seconds_tens\":r%10!=0&&(o=!0)}if(\"hours\"===i.tickInterval||\"minutes_fives\"===i.tickInterval||\"seconds_tens\"===i.tickInterval||\"seconds_fives\"===i.tickInterval){if(!o)return!0}else if((r%e==0||n)&&!o)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new pa(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,n=e.minYear,o=0,l=new zi(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);o=(l.determineDaysOfYear(e.minYear)-c+1)*s,n=e.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:h,year:n,month:v.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:o,value:n,unit:h,year:a,month:v.monthMod(i+1)});for(var d=n,u=o,g=0;g1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,o=v.monthMod(a+1);var u=s+d,g=v.monthMod(o),p=o;0===o&&(c=\"year\",p=u,g=1,u+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:u,month:g})}else this.timeScaleArray.push({position:l,value:o,unit:c,year:s,month:v.monthMod(a)});for(var f=o+1,x=l,b=0,m=1;bn.determineDaysOfMonths(e+1,i)?(h=1,o=\"month\",u=e+=1,e):e},d=(24-e.minHour)*s,u=l,g=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,u=v.monthMod(e.minMonth),o=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,u=l,g=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:u,unit:o,year:this._getYear(a,g,0),month:v.monthMod(g),day:h});for(var p=d,f=0;fo.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>o.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),u=d*r,g=e.minHour+1,p=g;60===d&&(u=0,p=g=e.minHour);var f=i;p>=24&&(p=0,l=\"day\",g=f+=1);var x=h(f,a).month;x=c(f,x),this.timeScaleArray.push({position:u,value:g,unit:l,day:f,hour:p,year:s,month:v.monthMod(x)}),p++;for(var b=u,m=0;m=24)p=0,l=\"day\",x=h(f+=1,x).month,x=c(f,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===p?f:p;this.timeScaleArray.push({position:b,value:w,unit:l,hour:p,day:f,year:y,month:v.monthMod(x)}),p++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,u=r,g=n,p=o,f=s,x=(60-i-e/1e3)*h,b=0;b=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:x,value:d,unit:\"minute\",hour:f,minute:d,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,u=r,g=n,p=o,f=s,x=(1e3-e)/1e3*l,b=0;b=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:x,value:c,unit:\"second\",hour:f,minute:d,second:c,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new zi(e.ctx),r=e.createRawDateString(t,a),n=s.getDate(s.parseDate(r));if(e.utc||(n=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var o=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(o=l.year),\"month\"===t.unit&&(o=l.month),\"day\"===t.unit&&(o=l.day),\"hour\"===t.unit&&(o=l.hour),\"minute\"===t.unit&&(o=l.minute),\"second\"===t.unit&&(o=l.second),a=s.formatDate(n,o)}else a=s.formatDate(n,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new Mi(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return n.position>h+l+10?(r=o,n):null}return n}));return n=n.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),qa=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:\"setupElements\",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.chart.type;e.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].includes(a),e.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].includes(a),e.isBarHorizontal=[\"bar\",\"rangeBar\",\"boxPlot\"].includes(a)&&i.plotOptions.bar.horizontal,e.chartClass=\".apexcharts\".concat(e.chartID),e.dom.baseEl=this.el,e.dom.elWrap=document.createElement(\"div\"),Mi.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:\"apexcharts-canvas \".concat(e.chartClass.substring(1))}),this.el.appendChild(e.dom.elWrap),e.dom.Paper=window.SVG().addTo(e.dom.elWrap),e.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(i.chart.offsetX,\", \").concat(i.chart.offsetY,\")\")}),e.dom.Paper.node.style.background=\"dark\"!==i.theme.mode||i.chart.background?\"light\"!==i.theme.mode||i.chart.background?i.chart.background:\"#fff\":\"#424242\",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,\"foreignObject\"),Mi.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement(\"div\"),e.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),e.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.dom.elLegendForeign.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=this.ctx,s=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},o=s.chart.type||\"line\",l=null,h=0;r.series.forEach((function(e,a){var s=t[a].type||o;n[s]?(\"rangeArea\"===s?(n[s].series.push(r.seriesRangeStart[a]),n[s].seriesRangeEnd.push(r.seriesRangeEnd[a])):n[s].series.push(e),n[s].i.push(a),\"column\"!==s&&\"bar\"!==s||(i.globals.columnSeries=n.column)):[\"heatmap\",\"treemap\",\"pie\",\"donut\",\"polarArea\",\"radialBar\",\"radar\"].includes(s)?l=s:\"bar\"===s?(n.column.series.push(e),n.column.i.push(a)):console.warn(\"You have specified an unrecognized series type (\".concat(s,\").\")),o!==s&&\"scatter\"!==s&&h++})),h>0&&(l&&console.warn(\"Chart or series type \".concat(l,\" cannot appear with other chart or series types.\")),n.column.series.length>0&&s.plotOptions.bar.horizontal&&(h-=n.column.series.length,n.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"))),r.comboCharts||(r.comboCharts=h>0);var c=new Ba(a,e),d=new Ta(a,e);a.pie=new Ea(a);var u=new Ha(a);a.rangeBar=new Oa(a,e);var g=new Ya(a),p=[];if(r.comboCharts){var x,b,m=new Pi(a);if(n.area.series.length>0)(x=p).push.apply(x,f(m.drawSeriesByGroup(n.area,r.areaGroups,\"area\",c)));if(n.column.series.length>0)if(s.chart.stacked){var v=new Ia(a,e);p.push(v.draw(n.column.series,n.column.i))}else a.bar=new Pa(a,e),p.push(a.bar.draw(n.column.series,n.column.i));if(n.rangeArea.series.length>0&&p.push(c.draw(n.rangeArea.series,\"rangeArea\",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0)(b=p).push.apply(b,f(m.drawSeriesByGroup(n.line,r.lineGroups,\"line\",c)));if(n.candlestick.series.length>0&&p.push(d.draw(n.candlestick.series,\"candlestick\",n.candlestick.i)),n.boxPlot.series.length>0&&p.push(d.draw(n.boxPlot.series,\"boxPlot\",n.boxPlot.i)),n.rangeBar.series.length>0&&p.push(a.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var y=new Ba(a,e,!0);p.push(y.draw(n.scatter.series,\"scatter\",n.scatter.i))}if(n.bubble.series.length>0){var w=new Ba(a,e,!0);p.push(w.draw(n.bubble.series,\"bubble\",n.bubble.i))}}else switch(s.chart.type){case\"line\":p=c.draw(r.series,\"line\");break;case\"area\":p=c.draw(r.series,\"area\");break;case\"bar\":if(s.chart.stacked)p=new Ia(a,e).draw(r.series);else a.bar=new Pa(a,e),p=a.bar.draw(r.series);break;case\"candlestick\":p=new Ta(a,e).draw(r.series,\"candlestick\");break;case\"boxPlot\":p=new Ta(a,e).draw(r.series,s.chart.type);break;case\"rangeBar\":p=a.rangeBar.draw(r.series);break;case\"rangeArea\":p=c.draw(r.seriesRangeStart,\"rangeArea\",void 0,r.seriesRangeEnd);break;case\"heatmap\":p=new Xa(a,e).draw(r.series);break;case\"treemap\":p=new Ga(a,e).draw(r.series);break;case\"pie\":case\"donut\":case\"polarArea\":p=a.pie.draw(r.series);break;case\"radialBar\":p=u.draw(r.series);break;case\"radar\":p=g.draw(r.series);break;default:p=c.draw(r.series)}return p}},{key:\"setSVGDimensions\",value:function(){var t=this.w,e=t.globals,i=t.config;i.chart.width=i.chart.width||\"100%\",i.chart.height=i.chart.height||\"auto\",e.svgWidth=i.chart.width,e.svgHeight=i.chart.height;var a=v.getDimensions(this.el),s=i.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===s?v.isNumber(a[0])&&(0===a[0].width&&(a=v.getDimensions(this.el.parentNode)),e.svgWidth=a[0]*parseInt(i.chart.width,10)/100):\"px\"!==s&&\"\"!==s||(e.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if(\"auto\"!==e.svgHeight&&\"\"!==e.svgHeight)if(\"%\"===r){var n=v.getDimensions(this.el.parentNode);e.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else e.svgHeight=parseInt(i.chart.height,10);else e.svgHeight=e.axisCharts?e.svgWidth/1.61:e.svgWidth/1.2;if(e.svgWidth=Math.max(e.svgWidth,0),e.svgHeight=Math.max(e.svgHeight,0),Mi.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),\"%\"!==r){var o=i.chart.sparkline.enabled?0:e.axisCharts?i.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(e.svgHeight+o,\"px\")}e.dom.elWrap.style.width=\"\".concat(e.svgWidth,\"px\"),e.dom.elWrap.style.height=\"\".concat(e.svgHeight,\"px\")}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i=t.translateX;Mi.setAttrs(t.dom.elGraphical.node,{transform:\"translate(\".concat(i,\", \").concat(e,\")\")})}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,[\"top\",\"bottom\"].includes(t.config.legend.position)&&t.config.legend.show&&!t.config.legend.floating&&(i=new xa(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var n=v.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*t.globals.radialSize,o)}var l=Math.ceil(r+e.translateY+i+a);e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).includes(\"%\")||(e.dom.elWrap.style.height=\"\".concat(l,\"px\"),Mi.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(l,\"px\"))}},{key:\"coreCalculations\",value:function(){new ea(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(){return[]}))},i=new Bi,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:\"xySettings\",value:function(){var t=this.w,e=null;if(t.globals.axisCharts){if(\"back\"===t.config.xaxis.crosshairs.position&&new na(this.ctx).drawXCrosshairs(),\"back\"===t.config.yaxis[0].crosshairs.position&&new na(this.ctx).drawYCrosshairs(),\"datetime\"===t.config.xaxis.type&&void 0===t.config.xaxis.labels.formatter){this.ctx.timeScale=new Ua(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new Pi(this.ctx).getCalculatedRatios()}return e}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){return t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){return t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"_updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var o=[e.ctx];s&&(o=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(o=[e.ctx],e.ctx.w.globals.isExecCalled=!1),o.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&\"object\"===b(t)&&(s.config=new Wi(t),t=Pi.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=v.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?v.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?v.clone(t.yaxis):[],h.globals.initialConfig=v.extend({},h.config),h.globals.initialSeries=v.clone(h.config.series),t.series))){for(var c=0;c2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,n=i.w;return n.globals.shouldAnimate=e,n.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),n.config.series=r):n.config.series=t.slice(),a&&(n.globals.initialConfig.series=v.clone(n.config.series),n.globals.initialSeries=v.clone(n.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,e){var i=this.w,a=i.config.series[e];return u(u({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.findOne(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")):void 0===e&&(a=i.globals.dom.Paper.findOne(\"\".concat(s,\" path[j='\").concat(t,\"']\")),\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new Mi(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new Ni(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();!function(){function t(){for(var t=arguments.length>0&&arguments[0]!==h?arguments[0]:[],s=arguments.length>1?arguments[1]:h,r=arguments.length>2?arguments[2]:h,n=arguments.length>3?arguments[3]:h,o=arguments.length>4?arguments[4]:h,l=arguments.length>5?arguments[5]:h,h=arguments.length>6?arguments[6]:h,c=t.slice(s,r||h),d=n.slice(o,l||h),u=0,g={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};;){if(c[u]=e.call(g,c[u]),d[u]=e.call(p,d[u]),c[u][0]!=d[u][0]||\"M\"==c[u][0]||\"A\"==c[u][0]&&(c[u][4]!=d[u][4]||c[u][5]!=d[u][5])?(Array.prototype.splice.apply(c,[u,1].concat(a.call(g,c[u]))),Array.prototype.splice.apply(d,[u,1].concat(a.call(p,d[u])))):(c[u]=i.call(g,c[u]),d[u]=i.call(p,d[u])),++u==c.length&&u==d.length)break;u==c.length&&c.push([\"C\",g.pos[0],g.pos[1],g.pos[0],g.pos[1],g.pos[0],g.pos[1]]),u==d.length&&d.push([\"C\",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]])}return{start:c,dest:d}}function e(t){switch(t[0]){case\"z\":case\"Z\":t[0]=\"L\",t[1]=this.start[0],t[2]=this.start[1];break;case\"H\":t[0]=\"L\",t[2]=this.pos[1];break;case\"V\":t[0]=\"L\",t[2]=t[1],t[1]=this.pos[0];break;case\"T\":t[0]=\"Q\",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case\"S\":t[0]=\"C\",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!=\"SCQT\".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case\"M\":return this.pos=this.start=[t[1],t[2]],e;case\"L\":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case\"Q\":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case\"A\":e=function(t,e){var i,a,s,r,n,o,l,h,c,d,u,g,p,f,x,b,m,v,y,w,k,A,C,S,L,M,P=Math.abs(e[1]),I=Math.abs(e[2]),T=e[3]%360,z=e[4],X=e[5],R=e[6],E=e[7],Y=new bt(t),H=new bt(R,E),O=[];if(0===P||0===I||Y.x===H.x&&Y.y===H.y)return[[\"C\",Y.x,Y.y,H.x,H.y,H.x,H.y]];i=new bt((Y.x-H.x)/2,(Y.y-H.y)/2).transform((new vt).rotate(T)),a=i.x*i.x/(P*P)+i.y*i.y/(I*I),a>1&&(P*=a=Math.sqrt(a),I*=a);s=(new vt).rotate(T).scale(1/P,1/I).rotate(-T),Y=Y.transform(s),H=H.transform(s),r=[H.x-Y.x,H.y-Y.y],o=r[0]*r[0]+r[1]*r[1],n=Math.sqrt(o),r[0]/=n,r[1]/=n,l=o<4?Math.sqrt(1-o/4):0,z===X&&(l*=-1);h=new bt((H.x+Y.x)/2+l*-r[1],(H.y+Y.y)/2+l*r[0]),c=new bt(Y.x-h.x,Y.y-h.y),d=new bt(H.x-h.x,H.y-h.y),u=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(u*=-1);g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1);X&&u>g&&(g+=2*Math.PI);!X&&u0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0;if(!1===e)return!1;for(var i=e,a=t.length;i(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY});class Ja{constructor(t){t.remember(\"_draggable\",this),this.el=t,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(t){t?(this.el.on(\"mousedown.drag\",this.startDrag),this.el.on(\"touchstart.drag\",this.startDrag,{passive:!1})):(this.el.off(\"mousedown.drag\"),this.el.off(\"touchstart.drag\"))}startDrag(t){const e=!t.type.indexOf(\"mouse\");if(e&&1!==t.which&&0!==t.buttons)return;if(this.el.dispatch(\"beforedrag\",{event:t,handler:this}).defaultPrevented)return;t.preventDefault(),t.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point($a(t));const i=(e?\"mouseup\":\"touchend\")+\".drag\";zt(window,(e?\"mousemove\":\"touchmove\")+\".drag\",this.drag,this,{passive:!1}),zt(window,i,this.endDrag,this,{passive:!1}),this.el.fire(\"dragstart\",{event:t,handler:this,box:this.box})}drag(t){const{box:e,lastClick:i}=this,a=this.el.point($a(t)),s=a.x-i.x,r=a.y-i.y;if(!s&&!r)return e;const n=e.x+s,o=e.y+r;this.box=new kt(n,o,e.w,e.h),this.lastClick=a,this.el.dispatch(\"dragmove\",{event:t,handler:this,box:this.box}).defaultPrevented||this.move(n,o)}move(t,e){\"svg\"===this.el.type?gi.prototype.move.call(this.el,t,e):this.el.move(t,e)}endDrag(t){this.drag(t),this.el.fire(\"dragend\",{event:t,handler:this,box:this.box}),Xt(window,\"mousemove.drag\"),Xt(window,\"touchmove.drag\"),Xt(window,\"mouseup.drag\"),Xt(window,\"touchend.drag\"),this.init(!0)}}\n/*!\n * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse\n * @version 4.0.1\n * https://github.com/svgdotjs/svg.select.js\n *\n * @copyright Ulrich-Matthias Schäfer\n * @license MIT\n *\n * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)\n */\nfunction Qa(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function Ka([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{draggable(t=!0){return(this.remember(\"_draggable\")||new Ja(this)).init(t),this}});let ts=class{constructor(t){this.el=t,t.remember(\"_selectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass(\"svg_select_shape\")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass(\"svg_select_handle svg_select_handle_\"+a).on(\"mousedown.selection touchstart.selection\",Qa(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint(\"t\");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass(\"svg_select_handle_rot\").on(\"mousedown.selection touchstart.selection\",Qa(\"rot\",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne(\"g.svg_select_handle_rot\");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>Ka(t,e))),this.rotationPoint=Ka(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const es=t=>function(e=!0,i={}){\"object\"==typeof e&&(i=e,e=!0);let a=this.remember(\"_\"+t.name);return a||(e.prototype instanceof ts?(a=new e(this),e=!0):a=new t(this),this.remember(\"_\"+t.name,a)),a.active(e,i),this};\n/*!\n * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected\n * @version 2.0.4\n * https://github.com/svgdotjs/svg.resize.js\n *\n * @copyright [object Object]\n * @license MIT\n *\n * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time)\n */\n/*!\n * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse\n * @version 4.0.1\n * https://github.com/svgdotjs/svg.select.js\n *\n * @copyright Ulrich-Matthias Schäfer\n * @license MIT\n *\n * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)\n */\nfunction is(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function as([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{select:es(ts)}),Q([Ge,je,xe],{pointSelect:es(class{constructor(t){this.el=t,t.remember(\"_pointSelectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass(\"svg_select_shape_pointSelect\")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass(\"svg_select_handle_point\").on(\"mousedown.selection touchstart.selection\",Qa(\"point\",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>Ka(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class ss{constructor(t){this.el=t,t.remember(\"_selectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass(\"svg_select_shape\")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass(\"svg_select_handle svg_select_handle_\"+a).on(\"mousedown.selection touchstart.selection\",is(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint(\"t\");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass(\"svg_select_handle_rot\").on(\"mousedown.selection touchstart.selection\",is(\"rot\",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne(\"g.svg_select_handle_rot\");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>as(t,e))),this.rotationPoint=as(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const rs=t=>function(e=!0,i={}){\"object\"==typeof e&&(i=e,e=!0);let a=this.remember(\"_\"+t.name);return a||(e.prototype instanceof ss?(a=new e(this),e=!0):a=new t(this),this.remember(\"_\"+t.name,a)),a.active(e,i),this};Q(Gt,{select:rs(ss)}),Q([Ge,je,xe],{pointSelect:rs(class{constructor(t){this.el=t,t.remember(\"_pointSelectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass(\"svg_select_shape_pointSelect\")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass(\"svg_select_handle_point\").on(\"mousedown.selection touchstart.selection\",is(\"point\",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>as(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const ns=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY}),os=t=>{let e=1/0,i=1/0,a=-1/0,s=-1/0;for(let r=0;r{const s=t-e[0],r=(a-e[1])*i;return[s*i+e[0],r+e[1]]}));return os(a)}(this.box,s,r)}this.el.dispatch(\"resize\",{box:new kt(l),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.size(l.width,l.height).move(l.x,l.y)}movePoint(t){this.lastEvent=t;const{x:e,y:i}=this.snapToGrid(this.el.point(ns(t))),a=this.el.array().slice();a[this.index]=[e,i],this.el.dispatch(\"resize\",{box:os(a),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.plot(a)}rotate(t){this.lastEvent=t;const e=this.startPoint,i=this.el.point(ns(t)),{cx:a,cy:s}=this.box,r=e.x-a,n=e.y-s,o=i.x-a,l=i.y-s,h=Math.sqrt(r*r+n*n)*Math.sqrt(o*o+l*l);if(0===h)return;let c=Math.acos((r*o+n*l)/h)/Math.PI*180;if(!c)return;i.xdiv {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_shape {\\n stroke-width: 1;\\n stroke-dasharray: 10 10;\\n stroke: black;\\n stroke-opacity: 0.1;\\n pointer-events: none;\\n fill: none;\\n}\\n\\n.svg_select_handle {\\n stroke-width: 3;\\n stroke: black;\\n fill: none;\\n}\\n\\n.svg_select_handle_r {\\n cursor: e-resize;\\n}\\n\\n.svg_select_handle_l {\\n cursor: w-resize;\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-toolbar-custom-icon,\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, .7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,\\n.apexcharts-datalabel.apexcharts-element-hidden,\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value,\\n.apexcharts-datalabels,\\n.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-gridline,\\n.apexcharts-line,\\n.apexcharts-point-annotation-label,\\n.apexcharts-radar-series path:not(.apexcharts-marker),\\n.apexcharts-radar-series polygon,\\n.apexcharts-toolbar svg,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-zoom-rect,\\n.no-pointer-events {\\n pointer-events: none\\n}\\n\\n.apexcharts-tooltip-active .apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,\\n.resize-triggers,\\n.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers {\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows {\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers {\\n pointer-events: none\\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&o.setAttribute(\"nonce\",h),r?s.prepend(o):n.head.appendChild(o)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this,a=this.w;new hs(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,!v.elementExists(this.el))return s.animationEnded=!0,this.destroy(),null;(this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new Ni(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(this.core.setupElements(),\"treemap\"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var n=Pi.checkComboSeries(r,a.config.chart.type);s.comboCharts=n.comboCharts,s.comboBarCount=n.comboBarCount;var o=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||o&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Vi(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),\"category\"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pi(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new qi(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Ki(i);var n,o,l=i.grid.drawGrid();(i.annotations=new Fi(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(n=l.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){window.removeEventListener(\"resize\",this.windowResizeHandler),function(t,e){var i=ds.get(e);i&&(i.disconnect(),ds.delete(e))}(this.el.parentNode,this.parentResizeHandler);var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===v.escapeString(t)&&Apex._chartInstances.splice(i,1)})),new cs(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return n.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new Ji(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Ji(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=v.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),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
}1R*E%SU7Qq@Dt8Rqm+~8*Kx}2a|AH=&vzGq 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 Kh_T@RW^4p!Si>n7U^N_LBoX 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�y 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Ð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 Jv%NCB6#(>XtttQj literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js b/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js deleted file mode 100644 index c1a06085..00000000 --- a/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js +++ /dev/null @@ -1,801 +0,0 @@ -import{c as xi,g as La}from"./_plugin-vue2_normalizer-DeOsZA-U.js";function bi(w,S){return function(){return w.apply(S,arguments)}}const{toString:Pa}=Object.prototype,{getPrototypeOf:Rt}=Object,ot=(w=>S=>{const P=Pa.call(S);return w[P]||(w[P]=P.slice(8,-1).toLowerCase())})(Object.create(null)),Me=w=>(w=w.toLowerCase(),S=>ot(S)===w),lt=w=>S=>typeof S===w,{isArray:We}=Array,$e=lt("undefined");function Ma(w){return w!==null&&!$e(w)&&w.constructor!==null&&!$e(w.constructor)&&Ce(w.constructor.isBuffer)&&w.constructor.isBuffer(w)}const mi=Me("ArrayBuffer");function Ea(w){let S;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?S=ArrayBuffer.isView(w):S=w&&w.buffer&&mi(w.buffer),S}const Ta=lt("string"),Ce=lt("function"),vi=lt("number"),ht=w=>w!==null&&typeof w=="object",Ia=w=>w===!0||w===!1,at=w=>{if(ot(w)!=="object")return!1;const S=Rt(w);return(S===null||S===Object.prototype||Object.getPrototypeOf(S)===null)&&!(Symbol.toStringTag in w)&&!(Symbol.iterator in w)},Ra=Me("Date"),za=Me("File"),Xa=Me("Blob"),Oa=Me("FileList"),Fa=w=>ht(w)&&Ce(w.pipe),Ya=w=>{let S;return w&&(typeof FormData=="function"&&w instanceof FormData||Ce(w.append)&&((S=ot(w))==="formdata"||S==="object"&&Ce(w.toString)&&w.toString()==="[object FormData]"))},Da=Me("URLSearchParams"),[Na,Ha,Ba,Wa]=["ReadableStream","Request","Response","Headers"].map(Me),Ga=w=>w.trim?w.trim():w.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Je(w,S,{allOwnKeys:P=!1}={}){if(w===null||typeof w>"u")return;let M,E;if(typeof w!="object"&&(w=[w]),We(w))for(M=0,E=w.length;M0;)if(E=P[M],S===E.toLowerCase())return E;return null}const Fe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,wi=w=>!$e(w)&&w!==Fe;function Ct(){const{caseless:w}=wi(this)&&this||{},S={},P=(M,E)=>{const X=w&&yi(S,E)||E;at(S[X])&&at(M)?S[X]=Ct(S[X],M):at(M)?S[X]=Ct({},M):We(M)?S[X]=M.slice():S[X]=M};for(let M=0,E=arguments.length;M(Je(S,(E,X)=>{P&&Ce(E)?w[X]=bi(E,P):w[X]=E},{allOwnKeys:M}),w),_a=w=>(w.charCodeAt(0)===65279&&(w=w.slice(1)),w),ja=(w,S,P,M)=>{w.prototype=Object.create(S.prototype,M),w.prototype.constructor=w,Object.defineProperty(w,"super",{value:S.prototype}),P&&Object.assign(w.prototype,P)},Ua=(w,S,P,M)=>{let E,X,I;const F={};if(S=S||{},w==null)return S;do{for(E=Object.getOwnPropertyNames(w),X=E.length;X-- >0;)I=E[X],(!M||M(I,w,S))&&!F[I]&&(S[I]=w[I],F[I]=!0);w=P!==!1&&Rt(w)}while(w&&(!P||P(w,S))&&w!==Object.prototype);return S},qa=(w,S,P)=>{w=String(w),(P===void 0||P>w.length)&&(P=w.length),P-=S.length;const M=w.indexOf(S,P);return M!==-1&&M===P},Za=w=>{if(!w)return null;if(We(w))return w;let S=w.length;if(!vi(S))return null;const P=new Array(S);for(;S-- >0;)P[S]=w[S];return P},$a=(w=>S=>w&&S instanceof w)(typeof Uint8Array<"u"&&Rt(Uint8Array)),Ja=(w,S)=>{const M=(w&&w[Symbol.iterator]).call(w);let E;for(;(E=M.next())&&!E.done;){const X=E.value;S.call(w,X[0],X[1])}},Ka=(w,S)=>{let P;const M=[];for(;(P=w.exec(S))!==null;)M.push(P);return M},Qa=Me("HTMLFormElement"),es=w=>w.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(P,M,E){return M.toUpperCase()+E}),ti=(({hasOwnProperty:w})=>(S,P)=>w.call(S,P))(Object.prototype),ts=Me("RegExp"),Ai=(w,S)=>{const P=Object.getOwnPropertyDescriptors(w),M={};Je(P,(E,X)=>{let I;(I=S(E,X,w))!==!1&&(M[X]=I||E)}),Object.defineProperties(w,M)},is=w=>{Ai(w,(S,P)=>{if(Ce(w)&&["arguments","caller","callee"].indexOf(P)!==-1)return!1;const M=w[P];if(Ce(M)){if(S.enumerable=!1,"writable"in S){S.writable=!1;return}S.set||(S.set=()=>{throw Error("Can not rewrite read-only method '"+P+"'")})}})},as=(w,S)=>{const P={},M=E=>{E.forEach(X=>{P[X]=!0})};return We(w)?M(w):M(String(w).split(S)),P},ss=()=>{},rs=(w,S)=>w!=null&&Number.isFinite(w=+w)?w:S,wt="abcdefghijklmnopqrstuvwxyz",ii="0123456789",ki={DIGIT:ii,ALPHA:wt,ALPHA_DIGIT:wt+wt.toUpperCase()+ii},ns=(w=16,S=ki.ALPHA_DIGIT)=>{let P="";const{length:M}=S;for(;w--;)P+=S[Math.random()*M|0];return P};function os(w){return!!(w&&Ce(w.append)&&w[Symbol.toStringTag]==="FormData"&&w[Symbol.iterator])}const ls=w=>{const S=new Array(10),P=(M,E)=>{if(ht(M)){if(S.indexOf(M)>=0)return;if(!("toJSON"in M)){S[E]=M;const X=We(M)?[]:{};return Je(M,(I,F)=>{const N=P(I,E+1);!$e(N)&&(X[F]=N)}),S[E]=void 0,X}}return M};return P(w,0)},hs=Me("AsyncFunction"),cs=w=>w&&(ht(w)||Ce(w))&&Ce(w.then)&&Ce(w.catch),Si=((w,S)=>w?setImmediate:S?((P,M)=>(Fe.addEventListener("message",({source:E,data:X})=>{E===Fe&&X===P&&M.length&&M.shift()()},!1),E=>{M.push(E),Fe.postMessage(P,"*")}))(`axios@${Math.random()}`,[]):P=>setTimeout(P))(typeof setImmediate=="function",Ce(Fe.postMessage)),ds=typeof queueMicrotask<"u"?queueMicrotask.bind(Fe):typeof process<"u"&&process.nextTick||Si,D={isArray:We,isArrayBuffer:mi,isBuffer:Ma,isFormData:Ya,isArrayBufferView:Ea,isString:Ta,isNumber:vi,isBoolean:Ia,isObject:ht,isPlainObject:at,isReadableStream:Na,isRequest:Ha,isResponse:Ba,isHeaders:Wa,isUndefined:$e,isDate:Ra,isFile:za,isBlob:Xa,isRegExp:ts,isFunction:Ce,isStream:Fa,isURLSearchParams:Da,isTypedArray:$a,isFileList:Oa,forEach:Je,merge:Ct,extend:Va,trim:Ga,stripBOM:_a,inherits:ja,toFlatObject:Ua,kindOf:ot,kindOfTest:Me,endsWith:qa,toArray:Za,forEachEntry:Ja,matchAll:Ka,isHTMLForm:Qa,hasOwnProperty:ti,hasOwnProp:ti,reduceDescriptors:Ai,freezeMethods:is,toObjectSet:as,toCamelCase:es,noop:ss,toFiniteNumber:rs,findKey:yi,global:Fe,isContextDefined:wi,ALPHABET:ki,generateString:ns,isSpecCompliantForm:os,toJSONObject:ls,isAsyncFn:hs,isThenable:cs,setImmediate:Si,asap:ds};function ie(w,S,P,M,E){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=w,this.name="AxiosError",S&&(this.code=S),P&&(this.config=P),M&&(this.request=M),E&&(this.response=E,this.status=E.status?E.status:null)}D.inherits(ie,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:D.toJSONObject(this.config),code:this.code,status:this.status}}});const Ci=ie.prototype,Li={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(w=>{Li[w]={value:w}});Object.defineProperties(ie,Li);Object.defineProperty(Ci,"isAxiosError",{value:!0});ie.from=(w,S,P,M,E,X)=>{const I=Object.create(Ci);return D.toFlatObject(w,I,function(N){return N!==Error.prototype},F=>F!=="isAxiosError"),ie.call(I,w.message,S,P,M,E),I.cause=w,I.name=w.name,X&&Object.assign(I,X),I};const us=null;function Lt(w){return D.isPlainObject(w)||D.isArray(w)}function Pi(w){return D.endsWith(w,"[]")?w.slice(0,-2):w}function ai(w,S,P){return w?w.concat(S).map(function(E,X){return E=Pi(E),!P&&X?"["+E+"]":E}).join(P?".":""):S}function gs(w){return D.isArray(w)&&!w.some(Lt)}const fs=D.toFlatObject(D,{},null,function(S){return/^is[A-Z]/.test(S)});function ct(w,S,P){if(!D.isObject(w))throw new TypeError("target must be an object");S=S||new FormData,P=D.toFlatObject(P,{metaTokens:!0,dots:!1,indexes:!1},!1,function(Q,U){return!D.isUndefined(U[Q])});const M=P.metaTokens,E=P.visitor||_,X=P.dots,I=P.indexes,N=(P.Blob||typeof Blob<"u"&&Blob)&&D.isSpecCompliantForm(S);if(!D.isFunction(E))throw new TypeError("visitor must be a function");function G($){if($===null)return"";if(D.isDate($))return $.toISOString();if(!N&&D.isBlob($))throw new ie("Blob is not supported. Use a Buffer instead.");return D.isArrayBuffer($)||D.isTypedArray($)?N&&typeof Blob=="function"?new Blob([$]):Buffer.from($):$}function _($,Q,U){let ue=$;if($&&!U&&typeof $=="object"){if(D.endsWith(Q,"{}"))Q=M?Q:Q.slice(0,-2),$=JSON.stringify($);else if(D.isArray($)&&gs($)||(D.isFileList($)||D.endsWith(Q,"[]"))&&(ue=D.toArray($)))return Q=Pi(Q),ue.forEach(function(pe,z){!(D.isUndefined(pe)||pe===null)&&S.append(I===!0?ai([Q],z,X):I===null?Q:Q+"[]",G(pe))}),!1}return Lt($)?!0:(S.append(ai(U,Q,X),G($)),!1)}const Z=[],ae=Object.assign(fs,{defaultVisitor:_,convertValue:G,isVisitable:Lt});function V($,Q){if(!D.isUndefined($)){if(Z.indexOf($)!==-1)throw Error("Circular reference detected in "+Q.join("."));Z.push($),D.forEach($,function(ue,se){(!(D.isUndefined(ue)||ue===null)&&E.call(S,ue,D.isString(se)?se.trim():se,Q,ae))===!0&&V(ue,Q?Q.concat(se):[se])}),Z.pop()}}if(!D.isObject(w))throw new TypeError("data must be an object");return V(w),S}function si(w){const S={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(w).replace(/[!'()~]|%20|%00/g,function(M){return S[M]})}function zt(w,S){this._pairs=[],w&&ct(w,this,S)}const Mi=zt.prototype;Mi.append=function(S,P){this._pairs.push([S,P])};Mi.toString=function(S){const P=S?function(M){return S.call(this,M,si)}:si;return this._pairs.map(function(E){return P(E[0])+"="+P(E[1])},"").join("&")};function ps(w){return encodeURIComponent(w).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ei(w,S,P){if(!S)return w;const M=P&&P.encode||ps,E=P&&P.serialize;let X;if(E?X=E(S,P):X=D.isURLSearchParams(S)?S.toString():new zt(S,P).toString(M),X){const I=w.indexOf("#");I!==-1&&(w=w.slice(0,I)),w+=(w.indexOf("?")===-1?"?":"&")+X}return w}class ri{constructor(){this.handlers=[]}use(S,P,M){return this.handlers.push({fulfilled:S,rejected:P,synchronous:M?M.synchronous:!1,runWhen:M?M.runWhen:null}),this.handlers.length-1}eject(S){this.handlers[S]&&(this.handlers[S]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(S){D.forEach(this.handlers,function(M){M!==null&&S(M)})}}const Ti={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},xs=typeof URLSearchParams<"u"?URLSearchParams:zt,bs=typeof FormData<"u"?FormData:null,ms=typeof Blob<"u"?Blob:null,vs={isBrowser:!0,classes:{URLSearchParams:xs,FormData:bs,Blob:ms},protocols:["http","https","file","blob","url","data"]},Xt=typeof window<"u"&&typeof document<"u",Pt=typeof navigator=="object"&&navigator||void 0,ys=Xt&&(!Pt||["ReactNative","NativeScript","NS"].indexOf(Pt.product)<0),ws=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",As=Xt&&window.location.href||"http://localhost",ks=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Xt,hasStandardBrowserEnv:ys,hasStandardBrowserWebWorkerEnv:ws,navigator:Pt,origin:As},Symbol.toStringTag,{value:"Module"})),Ae={...ks,...vs};function Ss(w,S){return ct(w,new Ae.classes.URLSearchParams,Object.assign({visitor:function(P,M,E,X){return Ae.isNode&&D.isBuffer(P)?(this.append(M,P.toString("base64")),!1):X.defaultVisitor.apply(this,arguments)}},S))}function Cs(w){return D.matchAll(/\w+|\[(\w*)]/g,w).map(S=>S[0]==="[]"?"":S[1]||S[0])}function Ls(w){const S={},P=Object.keys(w);let M;const E=P.length;let X;for(M=0;M=P.length;return I=!I&&D.isArray(E)?E.length:I,N?(D.hasOwnProp(E,I)?E[I]=[E[I],M]:E[I]=M,!F):((!E[I]||!D.isObject(E[I]))&&(E[I]=[]),S(P,M,E[I],X)&&D.isArray(E[I])&&(E[I]=Ls(E[I])),!F)}if(D.isFormData(w)&&D.isFunction(w.entries)){const P={};return D.forEachEntry(w,(M,E)=>{S(Cs(M),E,P,0)}),P}return null}function Ps(w,S,P){if(D.isString(w))try{return(S||JSON.parse)(w),D.trim(w)}catch(M){if(M.name!=="SyntaxError")throw M}return(P||JSON.stringify)(w)}const Ke={transitional:Ti,adapter:["xhr","http","fetch"],transformRequest:[function(S,P){const M=P.getContentType()||"",E=M.indexOf("application/json")>-1,X=D.isObject(S);if(X&&D.isHTMLForm(S)&&(S=new FormData(S)),D.isFormData(S))return E?JSON.stringify(Ii(S)):S;if(D.isArrayBuffer(S)||D.isBuffer(S)||D.isStream(S)||D.isFile(S)||D.isBlob(S)||D.isReadableStream(S))return S;if(D.isArrayBufferView(S))return S.buffer;if(D.isURLSearchParams(S))return P.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),S.toString();let F;if(X){if(M.indexOf("application/x-www-form-urlencoded")>-1)return Ss(S,this.formSerializer).toString();if((F=D.isFileList(S))||M.indexOf("multipart/form-data")>-1){const N=this.env&&this.env.FormData;return ct(F?{"files[]":S}:S,N&&new N,this.formSerializer)}}return X||E?(P.setContentType("application/json",!1),Ps(S)):S}],transformResponse:[function(S){const P=this.transitional||Ke.transitional,M=P&&P.forcedJSONParsing,E=this.responseType==="json";if(D.isResponse(S)||D.isReadableStream(S))return S;if(S&&D.isString(S)&&(M&&!this.responseType||E)){const I=!(P&&P.silentJSONParsing)&&E;try{return JSON.parse(S)}catch(F){if(I)throw F.name==="SyntaxError"?ie.from(F,ie.ERR_BAD_RESPONSE,this,null,this.response):F}}return S}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ae.classes.FormData,Blob:Ae.classes.Blob},validateStatus:function(S){return S>=200&&S<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};D.forEach(["delete","get","head","post","put","patch"],w=>{Ke.headers[w]={}});const Ms=D.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Es=w=>{const S={};let P,M,E;return w&&w.split(` -`).forEach(function(I){E=I.indexOf(":"),P=I.substring(0,E).trim().toLowerCase(),M=I.substring(E+1).trim(),!(!P||S[P]&&Ms[P])&&(P==="set-cookie"?S[P]?S[P].push(M):S[P]=[M]:S[P]=S[P]?S[P]+", "+M:M)}),S},ni=Symbol("internals");function Ze(w){return w&&String(w).trim().toLowerCase()}function st(w){return w===!1||w==null?w:D.isArray(w)?w.map(st):String(w)}function Ts(w){const S=Object.create(null),P=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let M;for(;M=P.exec(w);)S[M[1]]=M[2];return S}const Is=w=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(w.trim());function At(w,S,P,M,E){if(D.isFunction(M))return M.call(this,S,P);if(E&&(S=P),!!D.isString(S)){if(D.isString(M))return S.indexOf(M)!==-1;if(D.isRegExp(M))return M.test(S)}}function Rs(w){return w.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(S,P,M)=>P.toUpperCase()+M)}function zs(w,S){const P=D.toCamelCase(" "+S);["get","set","has"].forEach(M=>{Object.defineProperty(w,M+P,{value:function(E,X,I){return this[M].call(this,S,E,X,I)},configurable:!0})})}class ke{constructor(S){S&&this.set(S)}set(S,P,M){const E=this;function X(F,N,G){const _=Ze(N);if(!_)throw new Error("header name must be a non-empty string");const Z=D.findKey(E,_);(!Z||E[Z]===void 0||G===!0||G===void 0&&E[Z]!==!1)&&(E[Z||N]=st(F))}const I=(F,N)=>D.forEach(F,(G,_)=>X(G,_,N));if(D.isPlainObject(S)||S instanceof this.constructor)I(S,P);else if(D.isString(S)&&(S=S.trim())&&!Is(S))I(Es(S),P);else if(D.isHeaders(S))for(const[F,N]of S.entries())X(N,F,M);else S!=null&&X(P,S,M);return this}get(S,P){if(S=Ze(S),S){const M=D.findKey(this,S);if(M){const E=this[M];if(!P)return E;if(P===!0)return Ts(E);if(D.isFunction(P))return P.call(this,E,M);if(D.isRegExp(P))return P.exec(E);throw new TypeError("parser must be boolean|regexp|function")}}}has(S,P){if(S=Ze(S),S){const M=D.findKey(this,S);return!!(M&&this[M]!==void 0&&(!P||At(this,this[M],M,P)))}return!1}delete(S,P){const M=this;let E=!1;function X(I){if(I=Ze(I),I){const F=D.findKey(M,I);F&&(!P||At(M,M[F],F,P))&&(delete M[F],E=!0)}}return D.isArray(S)?S.forEach(X):X(S),E}clear(S){const P=Object.keys(this);let M=P.length,E=!1;for(;M--;){const X=P[M];(!S||At(this,this[X],X,S,!0))&&(delete this[X],E=!0)}return E}normalize(S){const P=this,M={};return D.forEach(this,(E,X)=>{const I=D.findKey(M,X);if(I){P[I]=st(E),delete P[X];return}const F=S?Rs(X):String(X).trim();F!==X&&delete P[X],P[F]=st(E),M[F]=!0}),this}concat(...S){return this.constructor.concat(this,...S)}toJSON(S){const P=Object.create(null);return D.forEach(this,(M,E)=>{M!=null&&M!==!1&&(P[E]=S&&D.isArray(M)?M.join(", "):M)}),P}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([S,P])=>S+": "+P).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(S){return S instanceof this?S:new this(S)}static concat(S,...P){const M=new this(S);return P.forEach(E=>M.set(E)),M}static accessor(S){const M=(this[ni]=this[ni]={accessors:{}}).accessors,E=this.prototype;function X(I){const F=Ze(I);M[F]||(zs(E,I),M[F]=!0)}return D.isArray(S)?S.forEach(X):X(S),this}}ke.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);D.reduceDescriptors(ke.prototype,({value:w},S)=>{let P=S[0].toUpperCase()+S.slice(1);return{get:()=>w,set(M){this[P]=M}}});D.freezeMethods(ke);function kt(w,S){const P=this||Ke,M=S||P,E=ke.from(M.headers);let X=M.data;return D.forEach(w,function(F){X=F.call(P,X,E.normalize(),S?S.status:void 0)}),E.normalize(),X}function Ri(w){return!!(w&&w.__CANCEL__)}function Ge(w,S,P){ie.call(this,w??"canceled",ie.ERR_CANCELED,S,P),this.name="CanceledError"}D.inherits(Ge,ie,{__CANCEL__:!0});function zi(w,S,P){const M=P.config.validateStatus;!P.status||!M||M(P.status)?w(P):S(new ie("Request failed with status code "+P.status,[ie.ERR_BAD_REQUEST,ie.ERR_BAD_RESPONSE][Math.floor(P.status/100)-4],P.config,P.request,P))}function Xs(w){const S=/^([-+\w]{1,25})(:?\/\/|:)/.exec(w);return S&&S[1]||""}function Os(w,S){w=w||10;const P=new Array(w),M=new Array(w);let E=0,X=0,I;return S=S!==void 0?S:1e3,function(N){const G=Date.now(),_=M[X];I||(I=G),P[E]=N,M[E]=G;let Z=X,ae=0;for(;Z!==E;)ae+=P[Z++],Z=Z%w;if(E=(E+1)%w,E===X&&(X=(X+1)%w),G-I{P=_,E=null,X&&(clearTimeout(X),X=null),w.apply(null,G)};return[(...G)=>{const _=Date.now(),Z=_-P;Z>=M?I(G,_):(E=G,X||(X=setTimeout(()=>{X=null,I(E)},M-Z)))},()=>E&&I(E)]}const rt=(w,S,P=3)=>{let M=0;const E=Os(50,250);return Fs(X=>{const I=X.loaded,F=X.lengthComputable?X.total:void 0,N=I-M,G=E(N),_=I<=F;M=I;const Z={loaded:I,total:F,progress:F?I/F:void 0,bytes:N,rate:G||void 0,estimated:G&&F&&_?(F-I)/G:void 0,event:X,lengthComputable:F!=null,[S?"download":"upload"]:!0};w(Z)},P)},oi=(w,S)=>{const P=w!=null;return[M=>S[0]({lengthComputable:P,total:w,loaded:M}),S[1]]},li=w=>(...S)=>D.asap(()=>w(...S)),Ys=Ae.hasStandardBrowserEnv?function(){const S=Ae.navigator&&/(msie|trident)/i.test(Ae.navigator.userAgent),P=document.createElement("a");let M;function E(X){let I=X;return S&&(P.setAttribute("href",I),I=P.href),P.setAttribute("href",I),{href:P.href,protocol:P.protocol?P.protocol.replace(/:$/,""):"",host:P.host,search:P.search?P.search.replace(/^\?/,""):"",hash:P.hash?P.hash.replace(/^#/,""):"",hostname:P.hostname,port:P.port,pathname:P.pathname.charAt(0)==="/"?P.pathname:"/"+P.pathname}}return M=E(window.location.href),function(I){const F=D.isString(I)?E(I):I;return F.protocol===M.protocol&&F.host===M.host}}():function(){return function(){return!0}}(),Ds=Ae.hasStandardBrowserEnv?{write(w,S,P,M,E,X){const I=[w+"="+encodeURIComponent(S)];D.isNumber(P)&&I.push("expires="+new Date(P).toGMTString()),D.isString(M)&&I.push("path="+M),D.isString(E)&&I.push("domain="+E),X===!0&&I.push("secure"),document.cookie=I.join("; ")},read(w){const S=document.cookie.match(new RegExp("(^|;\\s*)("+w+")=([^;]*)"));return S?decodeURIComponent(S[3]):null},remove(w){this.write(w,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Ns(w){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(w)}function Hs(w,S){return S?w.replace(/\/?\/$/,"")+"/"+S.replace(/^\/+/,""):w}function Xi(w,S){return w&&!Ns(S)?Hs(w,S):S}const hi=w=>w instanceof ke?{...w}:w;function De(w,S){S=S||{};const P={};function M(G,_,Z){return D.isPlainObject(G)&&D.isPlainObject(_)?D.merge.call({caseless:Z},G,_):D.isPlainObject(_)?D.merge({},_):D.isArray(_)?_.slice():_}function E(G,_,Z){if(D.isUndefined(_)){if(!D.isUndefined(G))return M(void 0,G,Z)}else return M(G,_,Z)}function X(G,_){if(!D.isUndefined(_))return M(void 0,_)}function I(G,_){if(D.isUndefined(_)){if(!D.isUndefined(G))return M(void 0,G)}else return M(void 0,_)}function F(G,_,Z){if(Z in S)return M(G,_);if(Z in w)return M(void 0,G)}const N={url:X,method:X,data:X,baseURL:I,transformRequest:I,transformResponse:I,paramsSerializer:I,timeout:I,timeoutMessage:I,withCredentials:I,withXSRFToken:I,adapter:I,responseType:I,xsrfCookieName:I,xsrfHeaderName:I,onUploadProgress:I,onDownloadProgress:I,decompress:I,maxContentLength:I,maxBodyLength:I,beforeRedirect:I,transport:I,httpAgent:I,httpsAgent:I,cancelToken:I,socketPath:I,responseEncoding:I,validateStatus:F,headers:(G,_)=>E(hi(G),hi(_),!0)};return D.forEach(Object.keys(Object.assign({},w,S)),function(_){const Z=N[_]||E,ae=Z(w[_],S[_],_);D.isUndefined(ae)&&Z!==F||(P[_]=ae)}),P}const Oi=w=>{const S=De({},w);let{data:P,withXSRFToken:M,xsrfHeaderName:E,xsrfCookieName:X,headers:I,auth:F}=S;S.headers=I=ke.from(I),S.url=Ei(Xi(S.baseURL,S.url),w.params,w.paramsSerializer),F&&I.set("Authorization","Basic "+btoa((F.username||"")+":"+(F.password?unescape(encodeURIComponent(F.password)):"")));let N;if(D.isFormData(P)){if(Ae.hasStandardBrowserEnv||Ae.hasStandardBrowserWebWorkerEnv)I.setContentType(void 0);else if((N=I.getContentType())!==!1){const[G,..._]=N?N.split(";").map(Z=>Z.trim()).filter(Boolean):[];I.setContentType([G||"multipart/form-data",..._].join("; "))}}if(Ae.hasStandardBrowserEnv&&(M&&D.isFunction(M)&&(M=M(S)),M||M!==!1&&Ys(S.url))){const G=E&&X&&Ds.read(X);G&&I.set(E,G)}return S},Bs=typeof XMLHttpRequest<"u",Ws=Bs&&function(w){return new Promise(function(P,M){const E=Oi(w);let X=E.data;const I=ke.from(E.headers).normalize();let{responseType:F,onUploadProgress:N,onDownloadProgress:G}=E,_,Z,ae,V,$;function Q(){V&&V(),$&&$(),E.cancelToken&&E.cancelToken.unsubscribe(_),E.signal&&E.signal.removeEventListener("abort",_)}let U=new XMLHttpRequest;U.open(E.method.toUpperCase(),E.url,!0),U.timeout=E.timeout;function ue(){if(!U)return;const pe=ke.from("getAllResponseHeaders"in U&&U.getAllResponseHeaders()),xe={data:!F||F==="text"||F==="json"?U.responseText:U.response,status:U.status,statusText:U.statusText,headers:pe,config:w,request:U};zi(function(B){P(B),Q()},function(B){M(B),Q()},xe),U=null}"onloadend"in U?U.onloadend=ue:U.onreadystatechange=function(){!U||U.readyState!==4||U.status===0&&!(U.responseURL&&U.responseURL.indexOf("file:")===0)||setTimeout(ue)},U.onabort=function(){U&&(M(new ie("Request aborted",ie.ECONNABORTED,w,U)),U=null)},U.onerror=function(){M(new ie("Network Error",ie.ERR_NETWORK,w,U)),U=null},U.ontimeout=function(){let z=E.timeout?"timeout of "+E.timeout+"ms exceeded":"timeout exceeded";const xe=E.transitional||Ti;E.timeoutErrorMessage&&(z=E.timeoutErrorMessage),M(new ie(z,xe.clarifyTimeoutError?ie.ETIMEDOUT:ie.ECONNABORTED,w,U)),U=null},X===void 0&&I.setContentType(null),"setRequestHeader"in U&&D.forEach(I.toJSON(),function(z,xe){U.setRequestHeader(xe,z)}),D.isUndefined(E.withCredentials)||(U.withCredentials=!!E.withCredentials),F&&F!=="json"&&(U.responseType=E.responseType),G&&([ae,$]=rt(G,!0),U.addEventListener("progress",ae)),N&&U.upload&&([Z,V]=rt(N),U.upload.addEventListener("progress",Z),U.upload.addEventListener("loadend",V)),(E.cancelToken||E.signal)&&(_=pe=>{U&&(M(!pe||pe.type?new Ge(null,w,U):pe),U.abort(),U=null)},E.cancelToken&&E.cancelToken.subscribe(_),E.signal&&(E.signal.aborted?_():E.signal.addEventListener("abort",_)));const se=Xs(E.url);if(se&&Ae.protocols.indexOf(se)===-1){M(new ie("Unsupported protocol "+se+":",ie.ERR_BAD_REQUEST,w));return}U.send(X||null)})},Gs=(w,S)=>{const{length:P}=w=w?w.filter(Boolean):[];if(S||P){let M=new AbortController,E;const X=function(G){if(!E){E=!0,F();const _=G instanceof Error?G:this.reason;M.abort(_ instanceof ie?_:new Ge(_ instanceof Error?_.message:_))}};let I=S&&setTimeout(()=>{I=null,X(new ie(`timeout ${S} of ms exceeded`,ie.ETIMEDOUT))},S);const F=()=>{w&&(I&&clearTimeout(I),I=null,w.forEach(G=>{G.unsubscribe?G.unsubscribe(X):G.removeEventListener("abort",X)}),w=null)};w.forEach(G=>G.addEventListener("abort",X));const{signal:N}=M;return N.unsubscribe=()=>D.asap(F),N}},Vs=function*(w,S){let P=w.byteLength;if(!S||P{const E=_s(w,S);let X=0,I,F=N=>{I||(I=!0,M&&M(N))};return new ReadableStream({async pull(N){try{const{done:G,value:_}=await E.next();if(G){F(),N.close();return}let Z=_.byteLength;if(P){let ae=X+=Z;P(ae)}N.enqueue(new Uint8Array(_))}catch(G){throw F(G),G}},cancel(N){return F(N),E.return()}},{highWaterMark:2})},dt=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Fi=dt&&typeof ReadableStream=="function",Us=dt&&(typeof TextEncoder=="function"?(w=>S=>w.encode(S))(new TextEncoder):async w=>new Uint8Array(await new Response(w).arrayBuffer())),Yi=(w,...S)=>{try{return!!w(...S)}catch{return!1}},qs=Fi&&Yi(()=>{let w=!1;const S=new Request(Ae.origin,{body:new ReadableStream,method:"POST",get duplex(){return w=!0,"half"}}).headers.has("Content-Type");return w&&!S}),di=64*1024,Mt=Fi&&Yi(()=>D.isReadableStream(new Response("").body)),nt={stream:Mt&&(w=>w.body)};dt&&(w=>{["text","arrayBuffer","blob","formData","stream"].forEach(S=>{!nt[S]&&(nt[S]=D.isFunction(w[S])?P=>P[S]():(P,M)=>{throw new ie(`Response type '${S}' is not supported`,ie.ERR_NOT_SUPPORT,M)})})})(new Response);const Zs=async w=>{if(w==null)return 0;if(D.isBlob(w))return w.size;if(D.isSpecCompliantForm(w))return(await new Request(Ae.origin,{method:"POST",body:w}).arrayBuffer()).byteLength;if(D.isArrayBufferView(w)||D.isArrayBuffer(w))return w.byteLength;if(D.isURLSearchParams(w)&&(w=w+""),D.isString(w))return(await Us(w)).byteLength},$s=async(w,S)=>{const P=D.toFiniteNumber(w.getContentLength());return P??Zs(S)},Js=dt&&(async w=>{let{url:S,method:P,data:M,signal:E,cancelToken:X,timeout:I,onDownloadProgress:F,onUploadProgress:N,responseType:G,headers:_,withCredentials:Z="same-origin",fetchOptions:ae}=Oi(w);G=G?(G+"").toLowerCase():"text";let V=Gs([E,X&&X.toAbortSignal()],I),$;const Q=V&&V.unsubscribe&&(()=>{V.unsubscribe()});let U;try{if(N&&qs&&P!=="get"&&P!=="head"&&(U=await $s(_,M))!==0){let xe=new Request(S,{method:"POST",body:M,duplex:"half"}),ce;if(D.isFormData(M)&&(ce=xe.headers.get("content-type"))&&_.setContentType(ce),xe.body){const[B,de]=oi(U,rt(li(N)));M=ci(xe.body,di,B,de)}}D.isString(Z)||(Z=Z?"include":"omit");const ue="credentials"in Request.prototype;$=new Request(S,{...ae,signal:V,method:P.toUpperCase(),headers:_.normalize().toJSON(),body:M,duplex:"half",credentials:ue?Z:void 0});let se=await fetch($);const pe=Mt&&(G==="stream"||G==="response");if(Mt&&(F||pe&&Q)){const xe={};["status","statusText","headers"].forEach(ze=>{xe[ze]=se[ze]});const ce=D.toFiniteNumber(se.headers.get("content-length")),[B,de]=F&&oi(ce,rt(li(F),!0))||[];se=new Response(ci(se.body,di,B,()=>{de&&de(),Q&&Q()}),xe)}G=G||"text";let z=await nt[D.findKey(nt,G)||"text"](se,w);return!pe&&Q&&Q(),await new Promise((xe,ce)=>{zi(xe,ce,{data:z,headers:ke.from(se.headers),status:se.status,statusText:se.statusText,config:w,request:$})})}catch(ue){throw Q&&Q(),ue&&ue.name==="TypeError"&&/fetch/i.test(ue.message)?Object.assign(new ie("Network Error",ie.ERR_NETWORK,w,$),{cause:ue.cause||ue}):ie.from(ue,ue&&ue.code,w,$)}}),Et={http:us,xhr:Ws,fetch:Js};D.forEach(Et,(w,S)=>{if(w){try{Object.defineProperty(w,"name",{value:S})}catch{}Object.defineProperty(w,"adapterName",{value:S})}});const ui=w=>`- ${w}`,Ks=w=>D.isFunction(w)||w===null||w===!1,Di={getAdapter:w=>{w=D.isArray(w)?w:[w];const{length:S}=w;let P,M;const E={};for(let X=0;X`adapter ${F} `+(N===!1?"is not supported by the environment":"is not available in the build"));let I=S?X.length>1?`since : -`+X.map(ui).join(` -`):" "+ui(X[0]):"as no adapter specified";throw new ie("There is no suitable adapter to dispatch the request "+I,"ERR_NOT_SUPPORT")}return M},adapters:Et};function St(w){if(w.cancelToken&&w.cancelToken.throwIfRequested(),w.signal&&w.signal.aborted)throw new Ge(null,w)}function gi(w){return St(w),w.headers=ke.from(w.headers),w.data=kt.call(w,w.transformRequest),["post","put","patch"].indexOf(w.method)!==-1&&w.headers.setContentType("application/x-www-form-urlencoded",!1),Di.getAdapter(w.adapter||Ke.adapter)(w).then(function(M){return St(w),M.data=kt.call(w,w.transformResponse,M),M.headers=ke.from(M.headers),M},function(M){return Ri(M)||(St(w),M&&M.response&&(M.response.data=kt.call(w,w.transformResponse,M.response),M.response.headers=ke.from(M.response.headers))),Promise.reject(M)})}const Ni="1.7.7",Ot={};["object","boolean","number","function","string","symbol"].forEach((w,S)=>{Ot[w]=function(M){return typeof M===w||"a"+(S<1?"n ":" ")+w}});const fi={};Ot.transitional=function(S,P,M){function E(X,I){return"[Axios v"+Ni+"] Transitional option '"+X+"'"+I+(M?". "+M:"")}return(X,I,F)=>{if(S===!1)throw new ie(E(I," has been removed"+(P?" in "+P:"")),ie.ERR_DEPRECATED);return P&&!fi[I]&&(fi[I]=!0,console.warn(E(I," has been deprecated since v"+P+" and will be removed in the near future"))),S?S(X,I,F):!0}};function Qs(w,S,P){if(typeof w!="object")throw new ie("options must be an object",ie.ERR_BAD_OPTION_VALUE);const M=Object.keys(w);let E=M.length;for(;E-- >0;){const X=M[E],I=S[X];if(I){const F=w[X],N=F===void 0||I(F,X,w);if(N!==!0)throw new ie("option "+X+" must be "+N,ie.ERR_BAD_OPTION_VALUE);continue}if(P!==!0)throw new ie("Unknown option "+X,ie.ERR_BAD_OPTION)}}const Tt={assertOptions:Qs,validators:Ot},Re=Tt.validators;class Ye{constructor(S){this.defaults=S,this.interceptors={request:new ri,response:new ri}}async request(S,P){try{return await this._request(S,P)}catch(M){if(M instanceof Error){let E;Error.captureStackTrace?Error.captureStackTrace(E={}):E=new Error;const X=E.stack?E.stack.replace(/^.+\n/,""):"";try{M.stack?X&&!String(M.stack).endsWith(X.replace(/^.+\n.+\n/,""))&&(M.stack+=` -`+X):M.stack=X}catch{}}throw M}}_request(S,P){typeof S=="string"?(P=P||{},P.url=S):P=S||{},P=De(this.defaults,P);const{transitional:M,paramsSerializer:E,headers:X}=P;M!==void 0&&Tt.assertOptions(M,{silentJSONParsing:Re.transitional(Re.boolean),forcedJSONParsing:Re.transitional(Re.boolean),clarifyTimeoutError:Re.transitional(Re.boolean)},!1),E!=null&&(D.isFunction(E)?P.paramsSerializer={serialize:E}:Tt.assertOptions(E,{encode:Re.function,serialize:Re.function},!0)),P.method=(P.method||this.defaults.method||"get").toLowerCase();let I=X&&D.merge(X.common,X[P.method]);X&&D.forEach(["delete","get","head","post","put","patch","common"],$=>{delete X[$]}),P.headers=ke.concat(I,X);const F=[];let N=!0;this.interceptors.request.forEach(function(Q){typeof Q.runWhen=="function"&&Q.runWhen(P)===!1||(N=N&&Q.synchronous,F.unshift(Q.fulfilled,Q.rejected))});const G=[];this.interceptors.response.forEach(function(Q){G.push(Q.fulfilled,Q.rejected)});let _,Z=0,ae;if(!N){const $=[gi.bind(this),void 0];for($.unshift.apply($,F),$.push.apply($,G),ae=$.length,_=Promise.resolve(P);Z{if(!M._listeners)return;let X=M._listeners.length;for(;X-- >0;)M._listeners[X](E);M._listeners=null}),this.promise.then=E=>{let X;const I=new Promise(F=>{M.subscribe(F),X=F}).then(E);return I.cancel=function(){M.unsubscribe(X)},I},S(function(X,I,F){M.reason||(M.reason=new Ge(X,I,F),P(M.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(S){if(this.reason){S(this.reason);return}this._listeners?this._listeners.push(S):this._listeners=[S]}unsubscribe(S){if(!this._listeners)return;const P=this._listeners.indexOf(S);P!==-1&&this._listeners.splice(P,1)}toAbortSignal(){const S=new AbortController,P=M=>{S.abort(M)};return this.subscribe(P),S.signal.unsubscribe=()=>this.unsubscribe(P),S.signal}static source(){let S;return{token:new Ft(function(E){S=E}),cancel:S}}}function er(w){return function(P){return w.apply(null,P)}}function tr(w){return D.isObject(w)&&w.isAxiosError===!0}const It={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(It).forEach(([w,S])=>{It[S]=w});function Hi(w){const S=new Ye(w),P=bi(Ye.prototype.request,S);return D.extend(P,Ye.prototype,S,{allOwnKeys:!0}),D.extend(P,S,null,{allOwnKeys:!0}),P.create=function(E){return Hi(De(w,E))},P}const be=Hi(Ke);be.Axios=Ye;be.CanceledError=Ge;be.CancelToken=Ft;be.isCancel=Ri;be.VERSION=Ni;be.toFormData=ct;be.AxiosError=ie;be.Cancel=be.CanceledError;be.all=function(S){return Promise.all(S)};be.spread=er;be.isAxiosError=tr;be.mergeConfig=De;be.AxiosHeaders=ke;be.formToJSON=w=>Ii(D.isHTMLForm(w)?new FormData(w):w);be.getAdapter=Di.getAdapter;be.HttpStatusCode=It;be.default=be;var Bi={exports:{}},it={exports:{}};/*! - * ApexCharts v3.53.0 - * (c) 2018-2024 ApexCharts - * Released under the MIT License. - */var pi;function ir(){return pi||(pi=1,function(w,S){(function(P,M){w.exports=M()})(xi,function(){function P(y,e){(e==null||e>y.length)&&(e=y.length);for(var t=0,i=Array(e);t>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,t){return y.isColorHex(t)?this.shadeHexColor(e,t):this.shadeRGBColor(e,t)}}],[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&se(e)==="object"&&!Array.isArray(e)&&e!=null}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,i=[];for(t=0;t1&&arguments[1]!==void 0?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(t.length===1)return t[0];var i="",a=e<0?"-":"",s=t[0].replace(".",""),r=Number(t[1])+1;if(r<0){for(i=a+"0.";r++;)i+="0";return i+s.replace(/^-/,"")}for(r-=s.length;r--;)i+="0";return s+i}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),i=e.clientHeight,a=e.clientWidth;return i-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[a-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce(function(t,i){return Array.isArray(i)&&(i=i.reduce(function(a,s){return a.length>s.length?a:s})),t.length>i.length?t:i},0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"#999999",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.6;e.substring(0,1)!=="#"&&(e="#999999");var i=e.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&arguments[1]!==void 0?arguments[1]:"x",i=e.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,i){if(i>=e.length)for(var a=i-e.length+1;a--;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e.style.key=t[i])}},{key:"preciseAddition",value:function(e,t){var i=(String(e).split(".")[1]||"").length,a=(String(t).split(".")[1]||"").length,s=Math.pow(10,Math.max(i,a));return(Math.round(e*s)+Math.round(t*s))/s}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isMsEdge",value:function(){var e=window.navigator.userAgent,t=e.indexOf("Edge/");return t>0&&parseInt(e.substring(t+5,e.indexOf(".",t)),10)}},{key:"getGCD",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*a),t=Math.round(Math.abs(t)*a);t;){var s=t;t=e%t,e=s}return e/a}},{key:"getPrimeFactors",value:function(e){for(var t=[],i=2;e>=2;)e%i==0?(t.push(i),e/=i):i++;return t}},{key:"mod",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*a))%(t=Math.round(Math.abs(t)*a))/a}}]),y}(),xe=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return I(y,[{key:"setEasingFunctions",value:function(){var e;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":e="-";break;case"easein":e="<";break;case"easeout":e=">";break;case"easeinout":default:e="<>";break;case"swing":e=function(t){var i=1.70158;return(t-=1)*t*((i+1)*t+i)+1};break;case"bounce":e=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":e=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=e}}},{key:"animateLine",value:function(e,t,i,a){e.attr(t).animate(a).attr(i)}},{key:"animateMarker",value:function(e,t,i,a){e.attr({opacity:0}).animate(t,i).attr({opacity:1}).afterAll(function(){a()})}},{key:"animateRect",value:function(e,t,i,a,s){e.attr(t).animate(a).attr(i).afterAll(function(){return s()})}},{key:"animatePathsGradually",value:function(e){var t=e.el,i=e.realIndex,a=e.j,s=e.fill,r=e.pathFrom,n=e.pathTo,o=e.speed,h=e.delay,c=this.w,d=0;c.config.chart.animations.animateGradually.enabled&&(d=c.config.chart.animations.animateGradually.delay),c.config.chart.animations.dynamicAnimation.enabled&&c.globals.dataChanged&&c.config.chart.type!=="bar"&&(d=0),this.morphSVG(t,i,a,c.config.chart.type!=="line"||c.globals.comboCharts?s:"stroke",r,n,o,h*d)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(e){var t=e.el;t.classList.remove("apexcharts-element-hidden"),t.classList.add("apexcharts-hidden-element-shown")})}},{key:"animationCompleted",value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),typeof t.config.chart.events.animationEnd=="function"&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:"morphSVG",value:function(e,t,i,a,s,r,n,o){var h=this,c=this.w;s||(s=e.attr("pathFrom")),r||(r=e.attr("pathTo"));var d=function(u){return c.config.chart.type==="radar"&&(n=1),"M 0 ".concat(c.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=d()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=d()),c.globals.shouldAnimate||(n=1),e.plot(s).animate(1,c.globals.easing,o).plot(s).animate(n,c.globals.easing,o).plot(r).afterAll(function(){z.isNumber(i)?i===c.globals.series[c.globals.maxValsInArrayIndex].length-2&&c.globals.shouldAnimate&&h.animationCompleted(e):a!=="none"&&c.globals.shouldAnimate&&(!c.globals.comboCharts&&t===c.globals.series.length-1||c.globals.comboCharts)&&h.animationCompleted(e),h.showDelayedElements()})}}]),y}(),ce=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"getDefaultFilter",value:function(e,t){var i=this.w;e.unfilter(!0),new window.SVG.Filter().size("120%","180%","-5%","-40%"),i.config.states.normal.filter!=="none"?this.applyFilter(e,t,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addNormalFilter",value:function(e,t){var i=this.w;i.config.chart.dropShadow.enabled&&!e.node.classList.contains("apexcharts-marker")&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addLightenFilter",value:function(e,t,i){var a=this,s=this.w,r=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=s.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"addDarkenFilter",value:function(e,t,i){var a=this,s=this.w,r=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=s.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:r}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"applyFilter",value:function(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(e,t);break;case"lighten":this.addLightenFilter(e,t,{intensity:a});break;case"darken":this.addDarkenFilter(e,t,{intensity:a})}}},{key:"addShadow",value:function(e,t,i){var a,s=this.w,r=i.blur,n=i.top,o=i.left,h=i.color,c=i.opacity;if(((a=s.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.length)>0&&s.config.chart.dropShadow.enabledOnSeries.indexOf(t)===-1)return e;var d=e.flood(Array.isArray(h)?h[t]:h,c).composite(e.sourceAlpha,"in").offset(o,n).gaussianBlur(r).merge(e.source);return e.blend(e.source,d)}},{key:"dropShadow",value:function(e,t){var i,a,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=t.top,n=t.left,o=t.blur,h=t.color,c=t.opacity,d=t.noUserSpaceOnUse,u=this.w;return e.unfilter(!0),z.isMsEdge()&&u.config.chart.type==="radialBar"||((i=u.config.chart.dropShadow.enabledOnSeries)===null||i===void 0?void 0:i.length)>0&&((a=u.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.indexOf(s))===-1||(h=Array.isArray(h)?h[s]:h,e.filter(function(f){var p=null;p=z.isSafari()||z.isFirefox()||z.isMsEdge()?f.flood(h,c).composite(f.sourceAlpha,"in").offset(n,r).gaussianBlur(o):f.flood(h,c).composite(f.sourceAlpha,"in").offset(n,r).gaussianBlur(o).merge(f.source),f.blend(f.source,p)}),d||e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)),e}},{key:"setSelectionFilter",value:function(e,t,i){var a=this.w;if(a.globals.selectedDataPoints[t]!==void 0&&a.globals.selectedDataPoints[t].indexOf(i)>-1){e.node.setAttribute("selected",!0);var s=a.config.states.active.filter;s!=="none"&&this.applyFilter(e,t,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(e){(function(t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])})({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),y}(),B=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"roundPathCorners",value:function(e,t){function i(L,R,T){var Y=R.x-L.x,W=R.y-L.y,O=Math.sqrt(Y*Y+W*W);return a(L,R,Math.min(1,T/O))}function a(L,R,T){return{x:L.x+(R.x-L.x)*T,y:L.y+(R.y-L.y)*T}}function s(L,R){L.length>2&&(L[L.length-2]=R.x,L[L.length-1]=R.y)}function r(L){return{x:parseFloat(L[L.length-2]),y:parseFloat(L[L.length-1])}}e.indexOf("NaN")>-1&&(e="");var n=e.split(/[,\s]/).reduce(function(L,R){var T=R.match("([a-zA-Z])(.+)");return T?(L.push(T[1]),L.push(T[2])):L.push(R),L},[]).reduce(function(L,R){return parseFloat(R)==R&&L.length?L[L.length-1].push(R):L.push([R]),L},[]),o=[];if(n.length>1){var h=r(n[0]),c=null;n[n.length-1][0]=="Z"&&n[0].length>2&&(c=["L",h.x,h.y],n[n.length-1]=c),o.push(n[0]);for(var d=1;d2&&f[0]=="L"&&p.length>2&&p[0]=="L"){var x,m,v=r(u),A=r(f),l=r(p);x=i(A,v,t),m=i(A,l,t),s(f,x),f.origPoint=A,o.push(f);var g=a(x,A,.5),b=a(A,m,.5),C=["C",g.x,g.y,b.x,b.y,m.x,m.y];C.origPoint=A,o.push(C)}else o.push(f)}if(c){var k=r(o[o.length-1]);o.push(["Z"]),s(o[0],k)}}else o=n;return o.reduce(function(L,R){return L+R.join(" ")+" "},"")}},{key:"drawLine",value:function(e,t,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#a8a8a8",r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:e,y1:t,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":o})}},{key:"drawRect",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"#fefefe",n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:1,o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,h=arguments.length>8&&arguments[8]!==void 0?arguments[8]:null,c=arguments.length>9&&arguments[9]!==void 0?arguments[9]:0,d=this.w.globals.dom.Paper.rect();return d.attr({x:e,y:t,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,"stroke-width":o!==null?o:0,stroke:h!==null?h:"none","stroke-dasharray":c}),d.node.setAttribute("fill",r),d}},{key:"drawPolygon",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"#e1e1e1",i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(e).attr({fill:a,stroke:t,"stroke-width":i})}},{key:"drawCircle",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e<0&&(e=0);var i=this.w.globals.dom.Paper.circle(2*e);return t!==null&&i.attr(t),i}},{key:"drawPath",value:function(e){var t=e.d,i=t===void 0?"":t,a=e.stroke,s=a===void 0?"#a8a8a8":a,r=e.strokeWidth,n=r===void 0?1:r,o=e.fill,h=e.fillOpacity,c=h===void 0?1:h,d=e.strokeOpacity,u=d===void 0?1:d,f=e.classes,p=e.strokeLinecap,x=p===void 0?null:p,m=e.strokeDashArray,v=m===void 0?0:m,A=this.w;return x===null&&(x=A.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(A.globals.gridHeight)),A.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":c,stroke:s,"stroke-opacity":u,"stroke-linecap":x,"stroke-width":n,"stroke-dasharray":v,class:f})}},{key:"group",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w.globals.dom.Paper.group();return e!==null&&t.attr(e),t}},{key:"move",value:function(e,t){var i=["M",e,t].join(" ");return i}},{key:"line",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,a=null;return i===null?a=[" L",e,t].join(" "):i==="H"?a=[" H",e].join(" "):i==="V"&&(a=[" V",t].join(" ")),a}},{key:"curve",value:function(e,t,i,a,s,r){var n=["C",e,t,i,a,s,r].join(" ");return n}},{key:"quadraticCurve",value:function(e,t,i,a){return["Q",e,t,i,a].join(" ")}},{key:"arc",value:function(e,t,i,a,s,r,n){var o="A";arguments.length>7&&arguments[7]!==void 0&&arguments[7]&&(o="a");var h=[o,e,t,i,a,s,r,n].join(" ");return h}},{key:"renderPaths",value:function(e){var t,i=e.j,a=e.realIndex,s=e.pathFrom,r=e.pathTo,n=e.stroke,o=e.strokeWidth,h=e.strokeLinecap,c=e.fill,d=e.animationDelay,u=e.initialSpeed,f=e.dataChangeSpeed,p=e.className,x=e.shouldClipToGrid,m=x===void 0||x,v=e.bindEventsOnPaths,A=v===void 0||v,l=e.drawShadow,g=l===void 0||l,b=this.w,C=new ce(this.ctx),k=new xe(this.ctx),L=this.w.config.chart.animations.enabled,R=L&&this.w.config.chart.animations.dynamicAnimation.enabled,T=!!(L&&!b.globals.resized||R&&b.globals.dataChanged&&b.globals.shouldAnimate);T?t=s:(t=r,b.globals.animationEnded=!0);var Y=b.config.stroke.dashArray,W=0;W=Array.isArray(Y)?Y[a]:b.config.stroke.dashArray;var O=this.drawPath({d:t,stroke:n,strokeWidth:o,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:W});if(O.attr("index",a),m&&O.attr({"clip-path":"url(#gridRectMask".concat(b.globals.cuid,")")}),b.config.states.normal.filter.type!=="none")C.getDefaultFilter(O,a);else if(b.config.chart.dropShadow.enabled&&g){var H=b.config.chart.dropShadow;C.dropShadow(O,H,a)}A&&(O.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,O)),O.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,O)),O.node.addEventListener("mousedown",this.pathMouseDown.bind(this,O))),O.attr({pathTo:r,pathFrom:s});var j={el:O,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:c,strokeWidth:o,delay:d};return!L||b.globals.resized||b.globals.dataChanged?!b.globals.resized&&b.globals.dataChanged||k.showDelayedElements():k.animatePathsGradually(V(V({},j),{},{speed:u})),b.globals.dataChanged&&R&&T&&k.animatePathsGradually(V(V({},j),{},{speed:f})),O}},{key:"drawPattern",value:function(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#a8a8a8",s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;return this.w.globals.dom.Paper.pattern(t,i,function(r){e==="horizontalLines"?r.line(0,0,i,0).stroke({color:a,width:s+1}):e==="verticalLines"?r.line(0,0,0,t).stroke({color:a,width:s+1}):e==="slantedLines"?r.line(0,0,t,i).stroke({color:a,width:s}):e==="squares"?r.rect(t,i).fill("none").stroke({color:a,width:s}):e==="circles"&&r.circle(t).fill("none").stroke({color:a,width:s})})}},{key:"drawGradient",value:function(e,t,i,a,s){var r,n=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,h=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,c=arguments.length>8&&arguments[8]!==void 0?arguments[8]:0,d=this.w;t.length<9&&t.indexOf("#")===0&&(t=z.hexToRgba(t,a)),i.length<9&&i.indexOf("#")===0&&(i=z.hexToRgba(i,s));var u=0,f=1,p=1,x=null;o!==null&&(u=o[0]!==void 0?o[0]/100:0,f=o[1]!==void 0?o[1]/100:1,p=o[2]!==void 0?o[2]/100:1,x=o[3]!==void 0?o[3]/100:null);var m=!(d.config.chart.type!=="donut"&&d.config.chart.type!=="pie"&&d.config.chart.type!=="polarArea"&&d.config.chart.type!=="bubble");if(r=h===null||h.length===0?d.globals.dom.Paper.gradient(m?"radial":"linear",function(l){l.at(u,t,a),l.at(f,i,s),l.at(p,i,s),x!==null&&l.at(x,t,a)}):d.globals.dom.Paper.gradient(m?"radial":"linear",function(l){(Array.isArray(h[c])?h[c]:h).forEach(function(g){l.at(g.offset/100,g.color,g.opacity)})}),m){var v=d.globals.gridWidth/2,A=d.globals.gridHeight/2;d.config.chart.type!=="bubble"?r.attr({gradientUnits:"userSpaceOnUse",cx:v,cy:A,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else e==="vertical"?r.from(0,0).to(0,1):e==="diagonal"?r.from(0,0).to(1,1):e==="horizontal"?r.from(0,1).to(1,1):e==="diagonal2"&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(e){var t=e.text,i=e.maxWidth,a=e.fontSize,s=e.fontFamily,r=this.getTextRects(t,a,s),n=r.width/t.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var h=i.globals.dom.Paper.select(".apexcharts-series path").members,c=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,d=function(p){Array.prototype.forEach.call(p,function(x){x.node.setAttribute("selected","false"),a.getDefaultFilter(x,s)})};d(h),d(c)}e.node.setAttribute("selected","true"),n="true",i.globals.selectedDataPoints[s]===void 0&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(n==="true"){var u=i.config.states.active.filter;if(u!=="none")a.applyFilter(e,s,u.type,u.value);else if(i.config.states.hover.filter!=="none"&&!i.globals.isTouchDevice){var f=i.config.states.hover.filter;a.applyFilter(e,s,f.type,f.value)}}else i.config.states.active.filter.type!=="none"&&(i.config.states.hover.filter.type==="none"||i.globals.isTouchDevice?a.getDefaultFilter(e,s):(f=i.config.states.hover.filter,a.applyFilter(e,s,f.type,f.value)));typeof i.config.chart.events.dataPointSelection=="function"&&i.config.chart.events.dataPointSelection(t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),t&&this.ctx.events.fireEvent("dataPointSelection",[t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(e){var t={};return e&&typeof e.getBBox=="function"&&(t=e.getBBox()),{x:t.x+t.width/2,y:t.y+t.height/2}}},{key:"getTextRects",value:function(e,t,i,a){var s=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:e,textAnchor:"start",fontSize:t,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(e,t,i){if(typeof e.getComputedTextLength=="function"&&(e.textContent=t,t.length>0&&e.getComputedTextLength()>=i/1.1)){for(var a=t.length-3;a>0;a-=3)if(e.getSubStringLength(0,a)<=i/1.1)return void(e.textContent=t.substring(0,a)+"...");e.textContent="."}}}],[{key:"setAttrs",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}}]),y}(),de=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"getStackedSeriesTotals",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=this.w,i=[];if(t.globals.series.length===0)return i;for(var a=0;a0&&arguments[0]!==void 0?arguments[0]:null;return e===null?this.w.config.series.reduce(function(t,i){return t+i},0):this.w.globals.series[e].reduce(function(t,i){return t+i},0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var e=this,t=this.w,i=[];return t.globals.seriesGroups.forEach(function(a){var s=[];t.config.series.forEach(function(n,o){a.indexOf(t.globals.seriesNames[o])>-1&&s.push(o)});var r=t.globals.series.map(function(n,o){return s.indexOf(o)===-1?o:-1}).filter(function(n){return n!==-1});i.push(e.getStackedSeriesTotals(r))}),i}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],a=[],s=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(d){return Array.isArray(d.seriesName)});t.series.forEach(function(d,u){s.push(u),a.push(null)}),t.yaxis.forEach(function(d,u){i[u]=[]});var n=[];t.yaxis.forEach(function(d,u){var f=!1;if(d.seriesName){var p=[];Array.isArray(d.seriesName)?p=d.seriesName:p.push(d.seriesName),p.forEach(function(x){t.series.forEach(function(m,v){if(m.name===x){var A=v;u===v||r?!r||s.indexOf(v)>-1?i[u].push([u,v]):console.warn("Series '"+m.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[v].push([v,u]),A=u),f=!0,(A=s.indexOf(A))!==-1&&s.splice(A,1)}})})}f||n.push(u)}),i=i.map(function(d,u){var f=[];return d.forEach(function(p){a[p[1]]=p[0],f.push(p[1])}),f});for(var o=t.yaxis.length-1,h=0;h0&&arguments[0]!==void 0?arguments[0]:null;return(e===null?this.w.config.series.filter(function(t){return t!==null}):this.w.config.series[e].data.filter(function(t){return t!==null})).length===0}},{key:"seriesHaveSameValues",value:function(e){return this.w.globals.series[e].every(function(t,i,a){return t===a[0]})}},{key:"getCategoryLabels",value:function(e){var t=this.w,i=e.slice();return t.config.xaxis.convertedCatToNumeric&&(i=e.map(function(a,s){return t.config.xaxis.labels.formatter(a-t.globals.minX+1)})),i}},{key:"getLargestSeries",value:function(){var e=this.w;e.globals.maxValsInArrayIndex=e.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,e.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var e=this.w,t=0;return e.globals.markers.size.forEach(function(i){t=Math.max(t,i)}),e.config.markers.discrete&&e.config.markers.discrete.length&&e.config.markers.discrete.forEach(function(i){t=Math.max(t,i.size)}),t>0&&(t+=e.config.markers.hover.sizeOffset+1),e.globals.markers.largestSize=t,t}},{key:"getSeriesTotals",value:function(){var e=this.w;e.globals.seriesTotals=e.globals.series.map(function(t,i){var a=0;if(Array.isArray(t))for(var s=0;se&&i.globals.seriesX[s][n]0){var p=function(m,v){var A=s.config.yaxis[s.globals.seriesYAxisReverseMap[v]],l=m<0?-1:1;return m=Math.abs(m),A.logarithmic&&(m=a.getBaseLog(A.logBase,m)),-l*m/n[v]};if(r.isMultipleYAxis){h=[];for(var x=0;x0&&t.forEach(function(n){var o=[],h=[];e.i.forEach(function(c,d){s.config.series[c].group===n&&(o.push(e.series[d]),h.push(c))}),o.length>0&&r.push(a.draw(o,i,h))}),r}}],[{key:"checkComboSeries",value:function(e,t){var i=!1,a=0,s=0;return t===void 0&&(t="line"),e.length&&e[0].type!==void 0&&e.forEach(function(r){r.type!=="bar"&&r.type!=="column"&&r.type!=="candlestick"&&r.type!=="boxPlot"||a++,r.type!==void 0&&r.type!==t&&s++}),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:"extendArrayProps",value:function(e,t,i){var a,s,r,n,o,h;return(a=t)!==null&&a!==void 0&&a.yaxis&&(t=e.extendYAxis(t,i)),(s=t)!==null&&s!==void 0&&s.annotations&&(t.annotations.yaxis&&(t=e.extendYAxisAnnotations(t)),(r=t)!==null&&r!==void 0&&(n=r.annotations)!==null&&n!==void 0&&n.xaxis&&(t=e.extendXAxisAnnotations(t)),(o=t)!==null&&o!==void 0&&(h=o.annotations)!==null&&h!==void 0&&h.points&&(t=e.extendPointAnnotations(t))),t}}]),y}(),ze=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e}return I(y,[{key:"setOrientations",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.w;if(e.label.orientation==="vertical"){var a=t!==null?t:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(s!==null){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),e.label.position==="top"?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var n=this.annoCtx.graphics.rotateAroundCenter(s),o=n.x,h=n.y;s.setAttribute("transform","rotate(-90 ".concat(o," ").concat(h,")"))}}}},{key:"addBackgroundToAnno",value:function(e,t){var i=this.w;if(!e||t.label.text===void 0||t.label.text!==void 0&&!String(t.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=e.getBoundingClientRect(),r=t.label.style.padding.left,n=t.label.style.padding.right,o=t.label.style.padding.top,h=t.label.style.padding.bottom;t.label.orientation==="vertical"&&(o=t.label.style.padding.left,h=t.label.style.padding.right,r=t.label.style.padding.top,n=t.label.style.padding.bottom);var c=s.left-a.left-r,d=s.top-a.top-o,u=this.annoCtx.graphics.drawRect(c-i.globals.barPadForNumericAxis,d,s.width+r+n,s.height+o+h,t.label.borderRadius,t.label.style.background,1,t.label.borderWidth,t.label.borderColor,0);return t.id&&u.node.classList.add(t.id),u}},{key:"annotationsBackground",value:function(){var e=this,t=this.w,i=function(a,s,r){var n=t.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(s,"']"));if(n){var o=n.parentNode,h=e.addBackgroundToAnno(n,a);h&&(o.insertBefore(h.node,n),a.label.mouseEnter&&h.node.addEventListener("mouseenter",a.label.mouseEnter.bind(e,a)),a.label.mouseLeave&&h.node.addEventListener("mouseleave",a.label.mouseLeave.bind(e,a)),a.label.click&&h.node.addEventListener("click",a.label.click.bind(e,a)))}};t.config.annotations.xaxis.map(function(a,s){i(a,s,"xaxis")}),t.config.annotations.yaxis.map(function(a,s){i(a,s,"yaxis")}),t.config.annotations.points.map(function(a,s){i(a,s,"point")})}},{key:"getY1Y2",value:function(e,t){var i,a=e==="y1"?t.y:t.y2,s=!1,r=this.w;if(this.annoCtx.invertAxis){var n=r.globals.labels;r.config.xaxis.convertedCatToNumeric&&(n=r.globals.categoryLabels);var o=n.indexOf(a),h=r.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(o+1)+")");i=h?parseFloat(h.getAttribute("y")):(r.globals.gridHeight/n.length-1)*(o+1)-r.globals.barHeight,t.seriesIndex!==void 0&&r.globals.barHeight&&(i=i-r.globals.barHeight/2*(r.globals.series.length-1)+r.globals.barHeight*t.seriesIndex)}else{var c,d=r.globals.seriesYAxisMap[t.yAxisIndex][0];r.config.yaxis[t.yAxisIndex].logarithmic?c=(a=new de(this.annoCtx.ctx).getLogVal(r.config.yaxis[t.yAxisIndex].logBase,a,d))/r.globals.yLogRatio[d]:c=(a-r.globals.minYArr[d])/(r.globals.yRange[d]/r.globals.gridHeight),c>r.globals.gridHeight?(c=r.globals.gridHeight,s=!0):c<0&&(c=0,s=!0),i=r.globals.gridHeight-c,!t.marker||t.y!==void 0&&t.y!==null||(i=0),r.config.yaxis[t.yAxisIndex]&&r.config.yaxis[t.yAxisIndex].reversed&&(i=c)}return typeof a=="string"&&a.indexOf("px")>-1&&(i=parseFloat(a)),{yP:i,clipped:s}}},{key:"getX1X2",value:function(e,t){var i,a=e==="x1"?t.x:t.x2,s=this.w,r=this.annoCtx.invertAxis?s.globals.minY:s.globals.minX,n=this.annoCtx.invertAxis?s.globals.maxY:s.globals.maxX,o=this.annoCtx.invertAxis?s.globals.yRange[0]:s.globals.xRange,h=!1;return i=this.annoCtx.inversedReversedAxis?(n-a)/(o/s.globals.gridWidth):(a-r)/(o/s.globals.gridWidth),s.config.xaxis.type!=="category"&&!s.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||s.globals.dataFormatXNumeric||s.config.chart.sparkline.enabled||(i=this.getStringX(a)),typeof a=="string"&&a.indexOf("px")>-1&&(i=parseFloat(a)),a==null&&t.marker&&(i=s.globals.gridWidth),t.seriesIndex!==void 0&&s.globals.barWidth&&!this.annoCtx.invertAxis&&(i=i-s.globals.barWidth/2*(s.globals.series.length-1)+s.globals.barWidth*t.seriesIndex),i>s.globals.gridWidth?(i=s.globals.gridWidth,h=!0):i<0&&(i=0,h=!0),{x:i,clipped:h}}},{key:"getStringX",value:function(e){var t=this.w,i=e;t.config.xaxis.convertedCatToNumeric&&t.globals.categoryLabels.length&&(e=t.globals.categoryLabels.indexOf(e)+1);var a=t.globals.labels.indexOf(e),s=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),y}(),Wi=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new ze(this.annoCtx)}return I(y,[{key:"addXaxisAnnotation",value:function(e,t,i){var a,s=this.w,r=this.helpers.getX1X2("x1",e),n=r.x,o=r.clipped,h=!0,c=e.label.text,d=e.strokeDashArray;if(z.isNumber(n)){if(e.x2===null||e.x2===void 0){if(!o){var u=this.annoCtx.graphics.drawLine(n+e.offsetX,0+e.offsetY,n+e.offsetX,s.globals.gridHeight+e.offsetY,e.borderColor,d,e.borderWidth);t.appendChild(u.node),e.id&&u.node.classList.add(e.id)}}else{var f=this.helpers.getX1X2("x2",e);if(a=f.x,h=f.clipped,!o||!h){if(a12?f-12:f===0?12:f;t=(t=(t=(t=t.replace(/(^|[^\\])HH+/g,"$1"+h(f))).replace(/(^|[^\\])H/g,"$1"+f)).replace(/(^|[^\\])hh+/g,"$1"+h(p))).replace(/(^|[^\\])h/g,"$1"+p);var x=a?e.getUTCMinutes():e.getMinutes();t=(t=t.replace(/(^|[^\\])mm+/g,"$1"+h(x))).replace(/(^|[^\\])m/g,"$1"+x);var m=a?e.getUTCSeconds():e.getSeconds();t=(t=t.replace(/(^|[^\\])ss+/g,"$1"+h(m))).replace(/(^|[^\\])s/g,"$1"+m);var v=a?e.getUTCMilliseconds():e.getMilliseconds();t=t.replace(/(^|[^\\])fff+/g,"$1"+h(v,3)),v=Math.round(v/10),t=t.replace(/(^|[^\\])ff/g,"$1"+h(v)),v=Math.round(v/10);var A=f<12?"AM":"PM";t=(t=(t=t.replace(/(^|[^\\])f/g,"$1"+v)).replace(/(^|[^\\])TT+/g,"$1"+A)).replace(/(^|[^\\])T/g,"$1"+A.charAt(0));var l=A.toLowerCase();t=(t=t.replace(/(^|[^\\])tt+/g,"$1"+l)).replace(/(^|[^\\])t/g,"$1"+l.charAt(0));var g=-e.getTimezoneOffset(),b=a||!g?"Z":g>0?"+":"-";if(!a){var C=(g=Math.abs(g))%60;b+=h(Math.floor(g/60))+":"+h(C)}t=t.replace(/(^|[^\\])K/g,"$1"+b);var k=(a?e.getUTCDay():e.getDay())+1;return t=(t=(t=(t=(t=t.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(o[0],"g"),o[k])).replace(new RegExp(s[0],"g"),s[d])).replace(new RegExp(r[0],"g"),r[d])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(e,t,i){var a=this.w;a.config.xaxis.min!==void 0&&(e=a.config.xaxis.min),a.config.xaxis.max!==void 0&&(t=a.config.xaxis.max);var s=this.getDate(e),r=this.getDate(t),n=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"calculcateLastDaysOfMonth",value:function(e,t,i){return this.determineDaysOfMonths(e,t)-i}},{key:"determineDaysOfYear",value:function(e){var t=365;return this.isLeapYear(e)&&(t=366),t}},{key:"determineRemainingDaysOfYear",value:function(e,t,i){var a=this.daysCntOfYear[t]+i;return t>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(e,t){var i=30;switch(e=z.monthMod(e),!0){case this.months30.indexOf(e)>-1:e===2&&(i=this.isLeapYear(t)?29:28);break;case this.months31.indexOf(e)>-1:default:i=31}return i}}]),y}(),Ve=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return I(y,[{key:"xLabelFormat",value:function(e,t,i,a){var s=this.w;if(s.config.xaxis.type==="datetime"&&s.config.xaxis.labels.formatter===void 0&&s.config.tooltip.x.formatter===void 0){var r=new me(this.ctx);return r.formatDate(r.getDate(t),s.config.tooltip.x.format)}return e(t,i,a)}},{key:"defaultGeneralFormatter",value:function(e){return Array.isArray(e)?e.map(function(t){return t}):e}},{key:"defaultYFormatter",value:function(e,t,i){var a=this.w;if(z.isNumber(e))if(a.globals.yValueDecimal!==0)e=e.toFixed(t.decimalsInFloat!==void 0?t.decimalsInFloat:a.globals.yValueDecimal);else{var s=e.toFixed(0);e=e==s?s:e.toFixed(1)}return e}},{key:"setLabelFormatters",value:function(){var e=this,t=this.w;return t.globals.xaxisTooltipFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttKeyFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttZFormatter=function(i){return i},t.globals.legendFormatter=function(i){return e.defaultGeneralFormatter(i)},t.config.xaxis.labels.formatter!==void 0?t.globals.xLabelFormatter=t.config.xaxis.labels.formatter:t.globals.xLabelFormatter=function(i){if(z.isNumber(i)){if(!t.config.xaxis.convertedCatToNumeric&&t.config.xaxis.type==="numeric"){if(z.isNumber(t.config.xaxis.decimalsInFloat))return i.toFixed(t.config.xaxis.decimalsInFloat);var a=t.globals.maxX-t.globals.minX;return a>0&&a<100?i.toFixed(1):i.toFixed(0)}return t.globals.isBarHorizontal&&t.globals.maxY-t.globals.minYArr<4?i.toFixed(1):i.toFixed(0)}return i},typeof t.config.tooltip.x.formatter=="function"?t.globals.ttKeyFormatter=t.config.tooltip.x.formatter:t.globals.ttKeyFormatter=t.globals.xLabelFormatter,typeof t.config.xaxis.tooltip.formatter=="function"&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),(Array.isArray(t.config.tooltip.y)||t.config.tooltip.y.formatter!==void 0)&&(t.globals.ttVal=t.config.tooltip.y),t.config.tooltip.z.formatter!==void 0&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),t.config.legend.formatter!==void 0&&(t.globals.legendFormatter=t.config.legend.formatter),t.config.yaxis.forEach(function(i,a){i.labels.formatter!==void 0?t.globals.yLabelFormatters[a]=i.labels.formatter:t.globals.yLabelFormatters[a]=function(s){return t.globals.xyCharts?Array.isArray(s)?s.map(function(r){return e.defaultYFormatter(r,i,a)}):e.defaultYFormatter(s,i,a):s}}),t.globals}},{key:"heatmapLabelFormatters",value:function(){var e=this.w;if(e.config.chart.type==="heatmap"){e.globals.yAxisScale[0].result=e.globals.seriesNames.slice();var t=e.globals.seriesNames.reduce(function(i,a){return i.length>a.length?i:a},0);e.globals.yAxisScale[0].niceMax=t,e.globals.yAxisScale[0].niceMin=t}}}]),y}(),Ie=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"getLabel",value:function(e,t,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"12px",n=!(arguments.length>6&&arguments[6]!==void 0)||arguments[6],o=this.w,h=e[a]===void 0?"":e[a],c=h,d=o.globals.xLabelFormatter,u=o.config.xaxis.labels.formatter,f=!1,p=new Ve(this.ctx),x=h;n&&(c=p.xLabelFormat(d,h,x,{i:a,dateFormatter:new me(this.ctx).formatDate,w:o}),u!==void 0&&(c=u(h,e[a],{i:a,dateFormatter:new me(this.ctx).formatDate,w:o})));var m,v;t.length>0?(m=t[a].unit,v=null,t.forEach(function(b){b.unit==="month"?v="year":b.unit==="day"?v="month":b.unit==="hour"?v="day":b.unit==="minute"&&(v="hour")}),f=v===m,i=t[a].position,c=t[a].value):o.config.xaxis.type==="datetime"&&u===void 0&&(c=""),c===void 0&&(c=""),c=Array.isArray(c)?c:c.toString();var A=new B(this.ctx),l={};l=o.globals.rotateXLabels&&n?A.getTextRects(c,parseInt(r,10),null,"rotate(".concat(o.config.xaxis.labels.rotate," 0 0)"),!1):A.getTextRects(c,parseInt(r,10));var g=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(c)&&(String(c)==="NaN"||s.indexOf(c)>=0&&g)&&(c=""),{x:i,text:c,textRect:l,isBold:f}}},{key:"checkLabelBasedOnTickamount",value:function(e,t,i){var a=this.w,s=a.config.xaxis.tickAmount;return s==="dataPoints"&&(s=Math.round(a.globals.gridWidth/120)),s>i||e%Math.round(i/(s+1))==0||(t.text=""),t}},{key:"checkForOverflowingLabels",value:function(e,t,i,a,s){var r=this.w;if(e===0&&r.globals.skipFirstTimelinelabel&&(t.text=""),e===i-1&&r.globals.skipLastTimelinelabel&&(t.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];t.xa.length||a.some(function(s){return Array.isArray(s.seriesName)})?e:i.seriesYAxisReverseMap[e]}},{key:"isYAxisHidden",value:function(e){var t=this.w,i=t.config.yaxis[e];if(!i.show||this.yAxisAllSeriesCollapsed(e))return!0;if(!i.showForNullSeries){var a=t.globals.seriesYAxisMap[e],s=new de(this.ctx);return a.every(function(r){return s.isSeriesNull(r)})}return!1}},{key:"getYAxisForeColor",value:function(e,t){var i=this.w;return Array.isArray(e)&&i.globals.yAxisScale[t]&&this.ctx.theme.pushExtraColors(e,i.globals.yAxisScale[t].result.length,!1),e}},{key:"drawYAxisTicks",value:function(e,t,i,a,s,r,n){var o=this.w,h=new B(this.ctx),c=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?c=0:o.config.chart.type==="heatmap"&&(c+=r/2),a.show&&t>0){o.config.yaxis[s].opposite===!0&&(e+=a.width);for(var d=t;d>=0;d--){var u=h.drawLine(e+i.offsetX-a.width+a.offsetX,c+a.offsetY,e+i.offsetX+a.offsetX,c+a.offsetY,a.color);n.add(u),c+=r}}}}]),y}(),Gi=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new ze(this.annoCtx),this.axesUtils=new Ie(this.annoCtx)}return I(y,[{key:"addYaxisAnnotation",value:function(e,t,i){var a,s=this.w,r=e.strokeDashArray,n=this.helpers.getY1Y2("y1",e),o=n.yP,h=n.clipped,c=!0,d=!1,u=e.label.text;if(e.y2===null||e.y2===void 0){if(!h){d=!0;var f=this.annoCtx.graphics.drawLine(0+e.offsetX,o+e.offsetY,this._getYAxisAnnotationWidth(e),o+e.offsetY,e.borderColor,r,e.borderWidth);t.appendChild(f.node),e.id&&f.node.classList.add(e.id)}}else{if(a=(n=this.helpers.getY1Y2("y2",e)).yP,c=n.clipped,a>o){var p=o;o=a,a=p}if(!h||!c){d=!0;var x=this.annoCtx.graphics.drawRect(0+e.offsetX,a+e.offsetY,this._getYAxisAnnotationWidth(e),o-a,0,e.fillColor,e.opacity,1,e.borderColor,r);x.node.classList.add("apexcharts-annotation-rect"),x.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),t.appendChild(x.node),e.id&&x.node.classList.add(e.id)}}if(d){var m=e.label.position==="right"?s.globals.gridWidth:e.label.position==="center"?s.globals.gridWidth/2:0,v=this.annoCtx.graphics.drawText({x:m+e.label.offsetX,y:(a??o)+e.label.offsetY-3,text:u,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});v.attr({rel:i}),t.appendChild(v.node)}}},{key:"_getYAxisAnnotationWidth",value:function(e){var t=this.w;return t.globals.gridWidth,(e.width.indexOf("%")>-1?t.globals.gridWidth*parseInt(e.width,10)/100:parseInt(e.width,10))+e.offsetX}},{key:"drawYAxisAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.forEach(function(a,s){a.yAxisIndex=e.axesUtils.translateYAxisIndex(a.yAxisIndex),e.axesUtils.isYAxisHidden(a.yAxisIndex)&&e.axesUtils.yAxisAllSeriesCollapsed(a.yAxisIndex)||e.addYaxisAnnotation(a,i.node,s)}),i}}]),y}(),Vi=function(){function y(e){E(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new ze(this.annoCtx)}return I(y,[{key:"addPointAnnotation",value:function(e,t,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(e.seriesIndex)>-1)){var a=this.helpers.getX1X2("x1",e),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2("y1",e)).yP,o=a.clipped;if(z.isNumber(s)&&!o&&!r){var h={pSize:e.marker.size,pointStrokeWidth:e.marker.strokeWidth,pointFillColor:e.marker.fillColor,pointStrokeColor:e.marker.strokeColor,shape:e.marker.shape,pRadius:e.marker.radius,class:"apexcharts-point-annotation-marker ".concat(e.marker.cssClass," ").concat(e.id?e.id:"")},c=this.annoCtx.graphics.drawMarker(s+e.marker.offsetX,n+e.marker.offsetY,h);t.appendChild(c.node);var d=e.label.text?e.label.text:"",u=this.annoCtx.graphics.drawText({x:s+e.label.offsetX,y:n+e.label.offsetY-e.marker.size-parseFloat(e.label.style.fontSize)/1.6,text:d,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});if(u.attr({rel:i}),t.appendChild(u.node),e.customSVG.SVG){var f=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+e.customSVG.cssClass});f.attr({transform:"translate(".concat(s+e.customSVG.offsetX,", ").concat(n+e.customSVG.offsetY,")")}),f.node.innerHTML=e.customSVG.SVG,t.appendChild(f.node)}if(e.image.path){var p=e.image.width?e.image.width:20,x=e.image.height?e.image.height:20;c=this.annoCtx.addImage({x:s+e.image.offsetX-p/2,y:n+e.image.offsetY-x/2,width:p,height:x,path:e.image.path,appendTo:".apexcharts-point-annotations"})}e.mouseEnter&&c.node.addEventListener("mouseenter",e.mouseEnter.bind(this,e)),e.mouseLeave&&c.node.addEventListener("mouseleave",e.mouseLeave.bind(this,e)),e.click&&c.node.addEventListener("click",e.click.bind(this,e))}}}},{key:"drawPointAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(a,s){e.addPointAnnotation(a,i.node,s)}),i}}]),y}(),Yt={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},Xe=function(){function y(){E(this,y),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return I(y,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[Yt],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(e){return e}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(e){return e+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)/e.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(e){return e},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(e){return e}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(e){return e}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(e){return e!==null?e:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(e){return e?e+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),y}(),_i=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.graphics=new B(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new ze(this),this.xAxisAnnotations=new Wi(this),this.yAxisAnnotations=new Gi(this),this.pointsAnnotations=new Vi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return I(y,[{key:"drawAxesAnnotations",value:function(){var e=this.w;if(e.globals.axisCharts){for(var t=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=e.config.chart.animations.enabled,r=[t,i,a],n=[i.node,t.node,a.node],o=0;o<3;o++)e.globals.dom.elGraphical.add(r[o]),!s||e.globals.resized||e.globals.dataChanged||e.config.chart.type!=="scatter"&&e.config.chart.type!=="bubble"&&e.globals.dataPoints>1&&n[o].classList.add("apexcharts-element-hidden"),e.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var e=this;this.w.config.annotations.images.map(function(t,i){e.addImage(t,i)})}},{key:"drawTextAnnos",value:function(){var e=this;this.w.config.annotations.texts.map(function(t,i){e.addText(t,i)})}},{key:"addXaxisAnnotation",value:function(e,t,i){this.xAxisAnnotations.addXaxisAnnotation(e,t,i)}},{key:"addYaxisAnnotation",value:function(e,t,i){this.yAxisAnnotations.addYaxisAnnotation(e,t,i)}},{key:"addPointAnnotation",value:function(e,t,i){this.pointsAnnotations.addPointAnnotation(e,t,i)}},{key:"addText",value:function(e,t){var i=e.x,a=e.y,s=e.text,r=e.textAnchor,n=e.foreColor,o=e.fontSize,h=e.fontFamily,c=e.fontWeight,d=e.cssClass,u=e.backgroundColor,f=e.borderWidth,p=e.strokeDashArray,x=e.borderRadius,m=e.borderColor,v=e.appendTo,A=v===void 0?".apexcharts-svg":v,l=e.paddingLeft,g=l===void 0?4:l,b=e.paddingRight,C=b===void 0?4:b,k=e.paddingBottom,L=k===void 0?2:k,R=e.paddingTop,T=R===void 0?2:R,Y=this.w,W=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:o||"12px",fontWeight:c||"regular",fontFamily:h||Y.config.chart.fontFamily,foreColor:n||Y.config.chart.foreColor,cssClass:d}),O=Y.globals.dom.baseEl.querySelector(A);O&&O.appendChild(W.node);var H=W.bbox();if(s){var j=this.graphics.drawRect(H.x-g,H.y-T,H.width+g+C,H.height+L+T,x,u||"transparent",1,f,m,p);O.insertBefore(j.node,W.node)}}},{key:"addImage",value:function(e,t){var i=this.w,a=e.path,s=e.x,r=s===void 0?0:s,n=e.y,o=n===void 0?0:n,h=e.width,c=h===void 0?20:h,d=e.height,u=d===void 0?20:d,f=e.appendTo,p=f===void 0?".apexcharts-svg":f,x=i.globals.dom.Paper.image(a);x.size(c,u).move(r,o);var m=i.globals.dom.baseEl.querySelector(p);return m&&m.appendChild(x.node),x}},{key:"addXaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(e,t,i){return this.invertAxis===void 0&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(e){var t=e.params,i=e.pushToMemory,a=e.context,s=e.type,r=e.contextMethod,n=a,o=n.w,h=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),c=h.childNodes.length+1,d=new Xe,u=Object.assign({},s==="xaxis"?d.xAxisAnnotation:s==="yaxis"?d.yAxisAnnotation:d.pointAnnotation),f=z.extend(u,t);switch(s){case"xaxis":this.addXaxisAnnotation(f,h,c);break;case"yaxis":this.addYaxisAnnotation(f,h,c);break;case"point":this.addPointAnnotation(f,h,c)}var p=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(c,"']")),x=this.helpers.addBackgroundToAnno(p,f);return x&&h.insertBefore(x.node,p),i&&o.globals.memory.methodsToExec.push({context:n,id:f.id?f.id:z.randomId(),method:r,label:"addAnnotation",params:t}),a}},{key:"clearAnnotations",value:function(e){for(var t=e.w,i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),a=t.globals.memory.methodsToExec.length-1;a>=0;a--)t.globals.memory.methodsToExec[a].label!=="addText"&&t.globals.memory.methodsToExec[a].label!=="addAnnotation"||t.globals.memory.methodsToExec.splice(a,1);i=z.listToArray(i),Array.prototype.forEach.call(i,function(s){for(;s.firstChild;)s.removeChild(s.firstChild)})}},{key:"removeAnnotation",value:function(e,t){var i=e.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(t));a&&(i.globals.memory.methodsToExec.map(function(s,r){s.id===t&&i.globals.memory.methodsToExec.splice(r,1)}),Array.prototype.forEach.call(a,function(s){s.parentElement.removeChild(s)}))}}]),y}(),ut=function(y){var e,t=y.isTimeline,i=y.ctx,a=y.seriesIndex,s=y.dataPointIndex,r=y.y1,n=y.y2,o=y.w,h=o.globals.seriesRangeStart[a][s],c=o.globals.seriesRangeEnd[a][s],d=o.globals.labels[s],u=o.config.series[a].name?o.config.series[a].name:"",f=o.globals.ttKeyFormatter,p=o.config.tooltip.y.title.formatter,x={w:o,seriesIndex:a,dataPointIndex:s,start:h,end:c};typeof p=="function"&&(u=p(u,x)),(e=o.config.series[a].data[s])!==null&&e!==void 0&&e.x&&(d=o.config.series[a].data[s].x),t||o.config.xaxis.type==="datetime"&&(d=new Ve(i).xLabelFormat(o.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new me(i).formatDate,w:o})),typeof f=="function"&&(d=f(d,x)),Number.isFinite(r)&&Number.isFinite(n)&&(h=r,c=n);var m="",v="",A=o.globals.colors[a];if(o.config.tooltip.x.formatter===void 0)if(o.config.xaxis.type==="datetime"){var l=new me(i);m=l.formatDate(l.getDate(h),o.config.tooltip.x.format),v=l.formatDate(l.getDate(c),o.config.tooltip.x.format)}else m=h,v=c;else m=o.config.tooltip.x.formatter(h),v=o.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:m,endVal:v,ylabel:d,color:A,seriesName:u}},gt=function(y){var e=y.color,t=y.seriesName,i=y.ylabel,a=y.start,s=y.end,r=y.seriesIndex,n=y.dataPointIndex,o=y.ctx.tooltip.tooltipLabels.getFormatters(r);a=o.yLbFormatter(a),s=o.yLbFormatter(s);var h=o.yLbFormatter(y.w.globals.series[r][n]),c=` - `.concat(a,` - - - `).concat(s,` - `);return'

'+(t||"")+'
'+i+": "+(y.w.globals.comboCharts?y.w.config.series[r].type==="rangeArea"||y.w.config.series[r].type==="rangeBar"?c:"".concat(h,""):c)+"
"},_e=function(){function y(e){E(this,y),this.opts=e}return I(y,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(e){return this.hideYAxis(),z.extend(e,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(e,t){var i=t.w.config.series[t.seriesIndex].name;return e!==null?i+": "+e:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),V(V({},this.bar()),{},{chart:{animations:{easing:"linear",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var e=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,a=t.dataPointIndex,s=t.w;return e._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var e=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,a=t.dataPointIndex,s=t.w;return e._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(e,t){t.ctx;var i=t.seriesIndex,a=t.dataPointIndex,s=t.w,r=function(){var n=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-n};return s.globals.comboCharts?s.config.series[i].type==="rangeBar"||s.config.series[i].type==="rangeArea"?r():e:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(e){return e.w.config.plotOptions&&e.w.config.plotOptions.bar&&e.w.config.plotOptions.bar.horizontal?function(t){var i=ut(V(V({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,n=i.startVal,o=i.endVal;return gt(V(V({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e):function(t){var i=ut(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.start,o=i.end;return gt(V(V({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(e){var t,i;return(t=e.plotOptions.bar)!==null&&t!==void 0&&t.barHeight||(e.plotOptions.bar.barHeight=2),(i=e.plotOptions.bar)!==null&&i!==void 0&&i.columnWidth||(e.plotOptions.bar.columnWidth=2),e}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(e){return function(t){var i=ut(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.start,o=i.end;return gt(V(V({},t),{},{color:a,seriesName:s,ylabel:r,start:n,end:o}))}(e)}}}}},{key:"brush",value:function(e){return z.extend(e,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(e){e.dataLabels=e.dataLabels||{},e.dataLabels.formatter=e.dataLabels.formatter||void 0;var t=e.dataLabels.formatter;return e.yaxis.forEach(function(i,a){e.yaxis[a].min=0,e.yaxis[a].max=100}),e.chart.type==="bar"&&(e.dataLabels.formatter=t||function(i){return typeof i=="number"&&i?i.toFixed(0)+"%":i}),e}},{key:"stackedBars",value:function(){var e=this.bar();return V(V({},e),{},{plotOptions:V(V({},e.plotOptions),{},{bar:V(V({},e.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(e){return e.xaxis.convertedCatToNumeric=!0,e}},{key:"convertCatToNumericXaxis",value:function(e,t,i){e.xaxis.type="numeric",e.xaxis.labels=e.xaxis.labels||{},e.xaxis.labels.formatter=e.xaxis.labels.formatter||function(r){return z.isNumber(r)?Math.floor(r):r};var a=e.xaxis.labels.formatter,s=e.xaxis.categories&&e.xaxis.categories.length?e.xaxis.categories:e.labels;return i&&i.length&&(s=i.map(function(r){return Array.isArray(r)?r:String(r)})),s&&s.length&&(e.xaxis.labels.formatter=function(r){return z.isNumber(r)?a(s[Math.floor(r)-1]):a(r)}),e.xaxis.categories=[],e.labels=[],e.xaxis.tickAmount=e.xaxis.tickAmount||"dataPoints",e}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(e){return e},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(e,t,i,a,s){var r=e.globals.seriesCandleO[t][i],n=e.globals.seriesCandleH[t][i],o=e.globals.seriesCandleM[t][i],h=e.globals.seriesCandleL[t][i],c=e.globals.seriesCandleC[t][i];return e.config.series[t].type&&e.config.series[t].type!==s?`
- `.concat(e.config.series[t].name?e.config.series[t].name:"series-"+(t+1),": ").concat(e.globals.series[t][i],` -
`):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+n+"
"+(o?"
".concat(a[2],': ')+o+"
":"")+"
".concat(a[3],': ')+h+"
"+"
".concat(a[4],': ')+c+"
"}}]),y}(),je=function(){function y(e){E(this,y),this.opts=e}return I(y,[{key:"init",value:function(e){var t=e.responsiveOverride,i=this.opts,a=new Xe,s=new _e(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&se(i)==="object"){var o,h,c,d,u,f,p,x,m,v,A={};A=["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)!==-1?s[i.chart.type]():s.line(),(o=i.plotOptions)!==null&&o!==void 0&&(h=o.bar)!==null&&h!==void 0&&h.isFunnel&&(A=s.funnel()),i.chart.stacked&&i.chart.type==="bar"&&(A=s.stackedBars()),(c=i.chart.brush)!==null&&c!==void 0&&c.enabled&&(A=s.brush(A)),(d=i.plotOptions)!==null&&d!==void 0&&(u=d.line)!==null&&u!==void 0&&u.isSlopeChart&&(A=s.slope()),i.chart.stacked&&i.chart.stackType==="100%"&&(i=s.stacked100(i)),(f=i.plotOptions)!==null&&f!==void 0&&(p=f.bar)!==null&&p!==void 0&&p.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},t||(i.xaxis.convertedCatToNumeric=!1),((x=(i=this.checkForCatToNumericXAxis(this.chartType,A,i)).chart.sparkline)!==null&&x!==void 0&&x.enabled||(m=window.Apex.chart)!==null&&m!==void 0&&(v=m.sparkline)!==null&&v!==void 0&&v.enabled)&&(A=s.sparkline(A)),n=z.extend(r,A)}var l=z.extend(n,window.Apex);return r=z.extend(l,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(e,t,i){var a,s,r=new _e(i),n=(e==="bar"||e==="boxPlot")&&((a=i.plotOptions)===null||a===void 0||(s=a.bar)===null||s===void 0?void 0:s.horizontal),o=e==="pie"||e==="polarArea"||e==="donut"||e==="radar"||e==="radialBar"||e==="heatmap",h=i.xaxis.type!=="datetime"&&i.xaxis.type!=="numeric",c=i.xaxis.tickPlacement?i.xaxis.tickPlacement:t.xaxis&&t.xaxis.tickPlacement;return n||o||!h||c==="between"||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(e,t){var i=new Xe;(e.yaxis===void 0||!e.yaxis||Array.isArray(e.yaxis)&&e.yaxis.length===0)&&(e.yaxis={}),e.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(e.yaxis=z.extend(e.yaxis,window.Apex.yaxis)),e.yaxis.constructor!==Array?e.yaxis=[z.extend(i.yAxis,e.yaxis)]:e.yaxis=z.extendArray(e.yaxis,i.yAxis);var a=!1;e.yaxis.forEach(function(r){r.logarithmic&&(a=!0)});var s=e.series;return t&&!s&&(s=t.config.series),a&&s.length!==e.yaxis.length&&s.length&&(e.yaxis=s.map(function(r,n){if(r.name||(s[n].name="series-".concat(n+1)),e.yaxis[n])return e.yaxis[n].seriesName=s[n].name,e.yaxis[n];var o=z.extend(i.yAxis,e.yaxis[0]);return o.show=!1,o})),a&&s.length>1&&s.length!==e.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),e}},{key:"extendAnnotations",value:function(e){return e.annotations===void 0&&(e.annotations={},e.annotations.yaxis=[],e.annotations.xaxis=[],e.annotations.points=[]),e=this.extendYAxisAnnotations(e),e=this.extendXAxisAnnotations(e),e=this.extendPointAnnotations(e)}},{key:"extendYAxisAnnotations",value:function(e){var t=new Xe;return e.annotations.yaxis=z.extendArray(e.annotations.yaxis!==void 0?e.annotations.yaxis:[],t.yAxisAnnotation),e}},{key:"extendXAxisAnnotations",value:function(e){var t=new Xe;return e.annotations.xaxis=z.extendArray(e.annotations.xaxis!==void 0?e.annotations.xaxis:[],t.xAxisAnnotation),e}},{key:"extendPointAnnotations",value:function(e){var t=new Xe;return e.annotations.points=z.extendArray(e.annotations.points!==void 0?e.annotations.points:[],t.pointAnnotation),e}},{key:"checkForDarkTheme",value:function(e){e.theme&&e.theme.mode==="dark"&&(e.tooltip||(e.tooltip={}),e.tooltip.theme!=="light"&&(e.tooltip.theme="dark"),e.chart.foreColor||(e.chart.foreColor="#f6f7f8"),e.theme.palette||(e.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(e){var t=e;if(t.tooltip.shared&&t.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(t.chart.type==="bar"&&t.plotOptions.bar.horizontal){if(t.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");t.yaxis[0].reversed&&(t.yaxis[0].opposite=!0),t.xaxis.tooltip.enabled=!1,t.yaxis[0].tooltip.enabled=!1,t.chart.zoom.enabled=!1}return t.chart.type!=="bar"&&t.chart.type!=="rangeBar"||t.tooltip.shared&&t.xaxis.crosshairs.width==="barWidth"&&t.series.length>1&&(t.xaxis.crosshairs.width="tickWidth"),t.chart.type!=="candlestick"&&t.chart.type!=="boxPlot"||t.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(t.chart.type," chart is not supported.")),t.yaxis[0].reversed=!1),t}}]),y}(),Dt=function(){function y(){E(this,y)}return I(y,[{key:"initGlobalVars",value:function(e){e.series=[],e.seriesCandleO=[],e.seriesCandleH=[],e.seriesCandleM=[],e.seriesCandleL=[],e.seriesCandleC=[],e.seriesRangeStart=[],e.seriesRangeEnd=[],e.seriesRange=[],e.seriesPercent=[],e.seriesGoals=[],e.seriesX=[],e.seriesZ=[],e.seriesNames=[],e.seriesTotals=[],e.seriesLog=[],e.seriesColors=[],e.stackedSeriesTotals=[],e.seriesXvalues=[],e.seriesYvalues=[],e.labels=[],e.hasXaxisGroups=!1,e.groups=[],e.barGroups=[],e.lineGroups=[],e.areaGroups=[],e.hasSeriesGroups=!1,e.seriesGroups=[],e.categoryLabels=[],e.timescaleLabels=[],e.noLabelsProvided=!1,e.resizeTimer=null,e.selectionResizeTimer=null,e.lastWheelExecution=0,e.delayedElements=[],e.pointsArray=[],e.dataLabelsRects=[],e.isXNumeric=!1,e.skipLastTimelinelabel=!1,e.skipFirstTimelinelabel=!1,e.isDataXYZ=!1,e.isMultiLineX=!1,e.isMultipleYAxis=!1,e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE,e.minYArr=[],e.maxYArr=[],e.maxX=-Number.MAX_VALUE,e.minX=Number.MAX_VALUE,e.initialMaxX=-Number.MAX_VALUE,e.initialMinX=Number.MAX_VALUE,e.maxDate=0,e.minDate=Number.MAX_VALUE,e.minZ=Number.MAX_VALUE,e.maxZ=-Number.MAX_VALUE,e.minXDiff=Number.MAX_VALUE,e.yAxisScale=[],e.xAxisScale=null,e.xAxisTicksPositions=[],e.yLabelsCoords=[],e.yTitleCoords=[],e.barPadForNumericAxis=0,e.padHorizontal=0,e.xRange=0,e.yRange=[],e.zRange=0,e.dataPoints=0,e.xTickAmount=0,e.multiAxisTickAmount=0}},{key:"globalVars",value:function(e){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:e.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:e.chart.toolbar.autoSelected==="zoom"&&e.chart.toolbar.tools.zoom&&e.chart.zoom.enabled,panEnabled:e.chart.toolbar.autoSelected==="pan"&&e.chart.toolbar.tools.pan,selectionEnabled:e.chart.toolbar.autoSelected==="selection"&&e.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:e.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t.initialConfig=z.extend({},e),t.initialSeries=z.clone(e.series),t.lastXAxis=z.clone(t.initialConfig.xaxis),t.lastYAxis=z.clone(t.initialConfig.yaxis),t}}]),y}(),ji=function(){function y(e){E(this,y),this.opts=e}return I(y,[{key:"init",value:function(){var e=new je(this.opts).init({responsiveOverride:!1});return{config:e,globals:new Dt().init(e)}}}]),y}(),Pe=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return I(y,[{key:"clippedImgArea",value:function(e){var t=this.w,i=t.config,a=parseInt(t.globals.gridWidth,10),s=parseInt(t.globals.gridHeight,10),r=a>s?a:s,n=e.image,o=0,h=0;e.width===void 0&&e.height===void 0?i.fill.image.width!==void 0&&i.fill.image.height!==void 0?(o=i.fill.image.width+1,h=i.fill.image.height):(o=r+1,h=r):(o=e.width,h=e.height);var c=document.createElementNS(t.globals.SVGNS,"pattern");B.setAttrs(c,{id:e.patternID,patternUnits:e.patternUnits?e.patternUnits:"userSpaceOnUse",width:o+"px",height:h+"px"});var d=document.createElementNS(t.globals.SVGNS,"image");c.appendChild(d),d.setAttributeNS(window.SVG.xlink,"href",n),B.setAttrs(d,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:h+"px"}),d.style.opacity=e.opacity,t.globals.dom.elDefs.node.appendChild(c)}},{key:"getSeriesIndex",value:function(e){var t=this.w,i=t.config.chart.type;return(i==="bar"||i==="rangeBar")&&t.config.plotOptions.bar.distributed||i==="heatmap"||i==="treemap"?this.seriesIndex=e.seriesNumber:this.seriesIndex=e.seriesNumber%t.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(e){var t=this.w;this.opts=e;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(e);var n=this.getFillColors()[this.seriesIndex];t.globals.seriesColors[this.seriesIndex]!==void 0&&(n=t.globals.seriesColors[this.seriesIndex]),typeof n=="function"&&(n=n({seriesIndex:this.seriesIndex,dataPointIndex:e.dataPointIndex,value:e.value,w:t}));var o=e.fillType?e.fillType:this.getFillType(this.seriesIndex),h=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;e.color&&(n=e.color),n||(n="#fff",console.warn("undefined color - ApexCharts"));var c=n;if(n.indexOf("rgb")===-1?n.length<9&&(c=z.hexToRgba(n,h)):n.indexOf("rgba")>-1&&(h=z.getOpacityFromRGBA(n)),e.opacity&&(h=e.opacity),o==="pattern"&&(a=this.handlePatternFill({fillConfig:e.fillConfig,patternFill:a,fillColor:n,fillOpacity:h,defaultColor:c})),o==="gradient"&&(s=this.handleGradientFill({fillConfig:e.fillConfig,fillColor:n,fillOpacity:h,i:this.seriesIndex})),o==="image"){var d=r.fill.image.src,u=e.patternID?e.patternID:"",f="pattern".concat(t.globals.cuid).concat(e.seriesNumber+1).concat(u);this.patternIDs.indexOf(f)===-1&&(this.clippedImgArea({opacity:h,image:Array.isArray(d)?e.seriesNumber-1&&(f=z.getOpacityFromRGBA(u));var p=r.gradient.opacityTo===void 0?i:Array.isArray(r.gradient.opacityTo)?r.gradient.opacityTo[s]:r.gradient.opacityTo;if(r.gradient.gradientToColors===void 0||r.gradient.gradientToColors.length===0)n=r.gradient.shade==="dark"?c.shadeColor(-1*parseFloat(r.gradient.shadeIntensity),t.indexOf("rgb")>-1?z.rgb2hex(t):t):c.shadeColor(parseFloat(r.gradient.shadeIntensity),t.indexOf("rgb")>-1?z.rgb2hex(t):t);else if(r.gradient.gradientToColors[o.seriesNumber]){var x=r.gradient.gradientToColors[o.seriesNumber];n=x,x.indexOf("rgba")>-1&&(p=z.getOpacityFromRGBA(x))}else n=t;if(r.gradient.gradientFrom&&(u=r.gradient.gradientFrom),r.gradient.gradientTo&&(n=r.gradient.gradientTo),r.gradient.inverseColors){var m=u;u=n,n=m}return u.indexOf("rgb")>-1&&(u=z.rgb2hex(u)),n.indexOf("rgb")>-1&&(n=z.rgb2hex(n)),h.drawGradient(d,u,n,f,p,o.size,r.gradient.stops,r.gradient.colorStops,s)}}]),y}(),Ne=function(){function y(e,t){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],e.globals.markers.size.length>0){if(e.globals.markers.size.length4&&arguments[4]!==void 0&&arguments[4],n=this.w,o=t,h=e,c=null,d=new B(this.ctx),u=n.config.markers.discrete&&n.config.markers.discrete.length;if((n.globals.markers.size[t]>0||r||u)&&(c=d.group({class:r||u?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(n.globals.cuid,")")),Array.isArray(h.x))for(var f=0;f0:n.config.markers.size>0)||r||u){z.isNumber(h.y[f])?x+=" w".concat(z.randomId()):x="apexcharts-nullpoint";var m=this.getMarkerConfig({cssClass:x,seriesIndex:t,dataPointIndex:p});n.config.series[o].data[p]&&(n.config.series[o].data[p].fillColor&&(m.pointFillColor=n.config.series[o].data[p].fillColor),n.config.series[o].data[p].strokeColor&&(m.pointStrokeColor=n.config.series[o].data[p].strokeColor)),a!==void 0&&(m.pSize=a),(h.x[f]<-n.globals.markers.largestSize||h.x[f]>n.globals.gridWidth+n.globals.markers.largestSize||h.y[f]<-n.globals.markers.largestSize||h.y[f]>n.globals.gridHeight+n.globals.markers.largestSize)&&(m.pSize=0),(s=d.drawMarker(h.x[f],h.y[f],m)).attr("rel",p),s.attr("j",p),s.attr("index",t),s.node.setAttribute("default-marker-size",m.pSize),new ce(this.ctx).setSelectionFilter(s,t,p),this.addEvents(s),c&&c.add(s)}else n.globals.pointsArray[t]===void 0&&(n.globals.pointsArray[t]=[]),n.globals.pointsArray[t].push([h.x[f],h.y[f]])}return c}},{key:"getMarkerConfig",value:function(e){var t=e.cssClass,i=e.seriesIndex,a=e.dataPointIndex,s=a===void 0?null:a,r=e.radius,n=r===void 0?null:r,o=e.size,h=o===void 0?null:o,c=e.strokeWidth,d=c===void 0?null:c,u=this.w,f=this.getMarkerStyle(i),p=h===null?u.globals.markers.size[i]:h,x=u.config.markers;return s!==null&&x.discrete.length&&x.discrete.map(function(m){m.seriesIndex===i&&m.dataPointIndex===s&&(f.pointStrokeColor=m.strokeColor,f.pointFillColor=m.fillColor,p=m.size,f.pointShape=m.shape)}),{pSize:n===null?p:n,pRadius:n!==null?n:x.radius,pointStrokeWidth:d!==null?d:Array.isArray(x.strokeWidth)?x.strokeWidth[i]:x.strokeWidth,pointStrokeColor:f.pointStrokeColor,pointFillColor:f.pointFillColor,shape:f.pointShape||(Array.isArray(x.shape)?x.shape[i]:x.shape),class:t,pointStrokeOpacity:Array.isArray(x.strokeOpacity)?x.strokeOpacity[i]:x.strokeOpacity,pointStrokeDashArray:Array.isArray(x.strokeDashArray)?x.strokeDashArray[i]:x.strokeDashArray,pointFillOpacity:Array.isArray(x.fillOpacity)?x.fillOpacity[i]:x.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(e){var t=this.w,i=new B(this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,e)),e.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,e)),e.node.addEventListener("click",t.config.markers.onClick),e.node.addEventListener("dblclick",t.config.markers.onDblClick),e.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,e),{passive:!0})}},{key:"getMarkerStyle",value:function(e){var t=this.w,i=t.globals.markers.colors,a=t.config.markers.strokeColor||t.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[e]:a,pointFillColor:Array.isArray(i)?i[e]:i}}}]),y}(),Nt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return I(y,[{key:"draw",value:function(e,t,i){var a=this.w,s=new B(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,h=i.elParent,c=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(c.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(n.x))for(var d=0;dx.maxBubbleRadius&&(p=x.maxBubbleRadius)}var m=n.x[d],v=n.y[d];if(p=p||0,v!==null&&a.globals.series[r][u]!==void 0||(f=!1),f){var A=this.drawPoint(m,v,p,r,u,t);c.add(A)}h.add(c)}}},{key:"drawPoint",value:function(e,t,i,a,s,r){var n=this.w,o=a,h=new xe(this.ctx),c=new ce(this.ctx),d=new Pe(this.ctx),u=new Ne(this.ctx),f=new B(this.ctx),p=u.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:o,dataPointIndex:s,radius:n.config.chart.type==="bubble"||n.globals.comboCharts&&n.config.series[a]&&n.config.series[a].type==="bubble"?i:null}),x=d.fillPath({seriesNumber:a,dataPointIndex:s,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[a][r]}),m=f.drawMarker(e,t,p);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(x=n.config.series[o].data[s].fillColor),m.attr({fill:x}),n.config.chart.dropShadow.enabled){var v=n.config.chart.dropShadow;c.dropShadow(m,v,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var A=n.config.chart.animations.speed;h.animateMarker(m,A,n.globals.easing,function(){window.setTimeout(function(){h.animationCompleted(m)},100)})}return m.attr({rel:s,j:s,index:a,"default-marker-size":p.pSize}),c.setSelectionFilter(m,a,s),u.addEvents(m),m.node.classList.add("apexcharts-marker"),m}},{key:"centerTextInBubble",value:function(e){var t=this.w;return{y:e+=parseInt(t.config.dataLabels.style.fontSize,10)/4}}}]),y}(),He=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"dataLabelsCorrection",value:function(e,t,i,a,s,r,n){var o=this.w,h=!1,c=new B(this.ctx).getTextRects(i,n),d=c.width,u=c.height;t<0&&(t=0),t>o.globals.gridHeight+u&&(t=o.globals.gridHeight+u/2),o.globals.dataLabelsRects[a]===void 0&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:e,y:t,width:d,height:u});var f=o.globals.dataLabelsRects[a].length-2,p=o.globals.lastDrawnDataLabelsIndexes[a]!==void 0?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(o.globals.dataLabelsRects[a][f]!==void 0){var x=o.globals.dataLabelsRects[a][p];(e>x.x+x.width||t>x.y+x.height||t+ut.globals.gridWidth+A.textRects.width+30)&&(o="");var l=t.globals.dataLabels.style.colors[r];((t.config.chart.type==="bar"||t.config.chart.type==="rangeBar")&&t.config.plotOptions.bar.distributed||t.config.dataLabels.distributed)&&(l=t.globals.dataLabels.style.colors[n]),typeof l=="function"&&(l=l({series:t.globals.series,seriesIndex:r,dataPointIndex:n,w:t})),f&&(l=f);var g=u.offsetX,b=u.offsetY;if(t.config.chart.type!=="bar"&&t.config.chart.type!=="rangeBar"||(g=0,b=0),t.globals.isSlopeChart&&(n!==0&&(g=-2*u.offsetX+5),n!==0&&n!==t.config.series[r].data.length-1&&(g=0)),A.drawnextLabel){if((v=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:a+g,y:s+b,foreColor:l,textAnchor:h||u.textAnchor,text:o,fontSize:c||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"})).attr({class:m||"apexcharts-datalabel",cx:a,cy:s}),u.dropShadow.enabled){var C=u.dropShadow;new ce(this.ctx).dropShadow(v,C)}d.add(v),t.globals.lastDrawnDataLabelsIndexes[r]===void 0&&(t.globals.lastDrawnDataLabelsIndexes[r]=[]),t.globals.lastDrawnDataLabelsIndexes[r].push(n)}return v}},{key:"addBackgroundToDataLabel",value:function(e,t){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=t.width,o=t.height,h=new B(this.ctx).drawRect(t.x-s,t.y-r/2,n+2*s,o+r,a.borderRadius,i.config.chart.background!=="transparent"&&i.config.chart.background?i.config.chart.background:"#fff",a.opacity,a.borderWidth,a.borderColor);return a.dropShadow.enabled&&new ce(this.ctx).dropShadow(h,a.dropShadow),h}},{key:"dataLabelsBackground",value:function(){var e=this.w;if(e.config.chart.type!=="bubble")for(var t=e.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=this.w,s=z.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,e&&(t&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(e){for(var t=this.w,i=0;i-1&&(e[i].data=[]);return e}},{key:"highlightSeries",value:function(e){var t=this.w,i=this.getSeriesByName(e),a=parseInt(i.getAttribute("data:realIndex"),10),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),r=null,n=null,o=null;if(t.globals.axisCharts||t.config.chart.type==="radialBar")if(t.globals.axisCharts){r=t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(a,"']")),n=t.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(a,"']"));var h=t.globals.seriesYAxisReverseMap[a];o=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(h,"']"))}else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"']"));else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"'] path"));for(var c=0;c=h.from&&(u0&&arguments[0]!==void 0?arguments[0]:"asc",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1){for(var s=i.config.series.map(function(n,o){return n.data&&n.data.length>0&&i.globals.collapsedSeriesIndices.indexOf(o)===-1&&(!i.globals.comboCharts||t.length===0||t.length&&t.indexOf(i.config.series[o].type)>-1)?o:-1}),r=e==="asc"?0:s.length-1;e==="asc"?r=0;e==="asc"?r++:r--)if(s[r]!==-1){a=s[r];break}}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map(function(e,t){return e.type==="bar"||e.type==="column"?t:-1}).filter(function(e){return e!==-1}):this.w.config.series.map(function(e,t){return t})}},{key:"getPreviousPaths",value:function(){var e=this.w;function t(r,n,o){for(var h=r[n].childNodes,c={type:o,paths:[],realIndex:r[n].getAttribute("data:realIndex")},d=0;d0)for(var a=function(r){for(var n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(e.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(r,"'] rect")),o=[],h=function(d){var u=function(p){return n[d].getAttribute(p)},f={x:parseFloat(u("x")),y:parseFloat(u("y")),width:parseFloat(u("width")),height:parseFloat(u("height"))};o.push({rect:f,color:n[d].getAttribute("color")})},c=0;c0)for(var a=0;a0?t:[]});return e}}]),y}(),Ht=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new de(this.ctx)}return I(y,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var e=this.w.config.series.slice(),t=new Le(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].x!==void 0&&e[this.activeSeriesIndex].data[0]!==null)return!0}},{key:"isFormat2DArray",value:function(){var e=this.w.config.series.slice(),t=new Le(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==void 0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(e,t){for(var i=this.w.config,a=this.w.globals,s=i.chart.type==="boxPlot"||i.series[t].type==="boxPlot",r=0;r=5?this.twoDSeries.push(z.parseNumber(e[t].data[r][4])):this.twoDSeries.push(z.parseNumber(e[t].data[r][1])),a.dataFormatXNumeric=!0),i.xaxis.type==="datetime"){var n=new Date(e[t].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(e[t].data[r][0]);for(var o=0;o-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new me(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=a.chart.type==="rangeBar"&&s.isBarHorizontal,s.hasXaxisGroups=a.xaxis.type==="category"&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),e.forEach(function(f,p){f.name!==void 0?s.seriesNames.push(f.name):s.seriesNames.push("series-"+parseInt(p+1,10))}),this.coreUtils.setSeriesYAxisMappings();var o=[],h=U(new Set(a.series.map(function(f){return f.group})));a.series.forEach(function(f,p){var x=h.indexOf(f.group);o[x]||(o[x]=[]),o[x].push(s.seriesNames[p])}),s.seriesGroups=o;for(var c=function(){for(var f=0;f0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var u=e[d].data.map(function(f){return z.parseNumber(f)});s.series.push(u)}s.seriesZ.push(this.threeDSeries),e[d].color!==void 0?s.seriesColors.push(e[d].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(e){var t=this.w.globals,i=this.w.config;t.series=e.slice(),t.seriesNames=i.labels.slice();for(var a=0;a0?i.labels=t.xaxis.categories:t.labels.length>0?i.labels=t.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map(function(a){a.forEach(function(s){i.labels.indexOf(s.x)<0&&s.x&&i.labels.push(s.x)})}),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),t.xaxis.convertedCatToNumeric&&(new _e(t).convertCatToNumericXaxis(t,this.ctx,i.seriesX[0]),this._generateExternalLabels(e))):this._generateExternalLabels(e)}},{key:"_generateExternalLabels",value:function(e){var t=this.w.globals,i=this.w.config,a=[];if(t.axisCharts){if(t.series.length>0)if(this.isFormatXY())for(var s=i.series.map(function(d,u){return d.data.filter(function(f,p,x){return x.findIndex(function(m){return m.x===f.x})===p})}),r=s.reduce(function(d,u,f,p){return p[d].length>u.length?d:f},0),n=0;n0&&s==i.length&&t.push(a)}),e.globals.ignoreYAxisIndexes=t.map(function(i){return i})}}]),y}(),Qe=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"scaleSvgNode",value:function(e,t){var i=parseFloat(e.getAttributeNS(null,"width")),a=parseFloat(e.getAttributeNS(null,"height"));e.setAttributeNS(null,"width",i*t),e.setAttributeNS(null,"height",a*t),e.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"getSvgString",value:function(){var e=this;return new Promise(function(t){var i=e.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=e.w.globals.dom.Paper.svg(),n=e.w.globals.dom.Paper.node.cloneNode(!0);s!==1&&e.scaleSvgNode(n,s),e.convertImagesToBase64(n).then(function(){r=new XMLSerializer().serializeToString(n),t(r.replace(/ /g," "))})})}},{key:"convertImagesToBase64",value:function(e){var t=this,i=e.getElementsByTagName("image"),a=Array.from(i).map(function(s){var r=s.getAttributeNS("http://www.w3.org/1999/xlink","href");return r&&!r.startsWith("data:")?t.getBase64FromUrl(r).then(function(n){s.setAttributeNS("http://www.w3.org/1999/xlink","href",n)}).catch(function(n){console.error("Error converting image to base64:",n)}):Promise.resolve()});return Promise.all(a)}},{key:"getBase64FromUrl",value:function(e){return new Promise(function(t,i){var a=new Image;a.crossOrigin="Anonymous",a.onload=function(){var s=document.createElement("canvas");s.width=a.width,s.height=a.height,s.getContext("2d").drawImage(a,0,0),t(s.toDataURL())},a.onerror=i,a.src=e})}},{key:"cleanup",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=e.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,function(s){s.setAttribute("width",0)}),t&&t[0]&&(t[0].setAttribute("x",-500),t[0].setAttribute("x1",-500),t[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){var e=this;return new Promise(function(t){e.cleanup(),e.getSvgString().then(function(i){var a=new Blob([i],{type:"image/svg+xml;charset=utf-8"});t(URL.createObjectURL(a))})})}},{key:"dataURI",value:function(e){var t=this;return new Promise(function(i){var a=t.w,s=e?e.scale||e.width/a.globals.svgWidth:1;t.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n=a.config.chart.background!=="transparent"&&a.config.chart.background?a.config.chart.background:"#fff",o=r.getContext("2d");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s),t.getSvgString().then(function(h){var c="data:image/svg+xml,"+encodeURIComponent(h),d=new Image;d.crossOrigin="anonymous",d.onload=function(){if(o.drawImage(d,0,0),r.msToBlob){var u=r.msToBlob();i({blob:u})}else{var f=r.toDataURL("image/png");i({imgURI:f})}},d.src=c})})}},{key:"exportToSVG",value:function(){var e=this;this.svgUrl().then(function(t){e.triggerDownload(t,e.w.config.chart.toolbar.export.svg.filename,".svg")})}},{key:"exportToPng",value:function(){var e=this,t=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=t?{scale:t}:i?{width:i}:void 0;this.dataURI(a).then(function(s){var r=s.imgURI,n=s.blob;n?navigator.msSaveOrOpenBlob(n,e.w.globals.chartID+".png"):e.triggerDownload(r,e.w.config.chart.toolbar.export.png.filename,".png")})}},{key:"exportToCSV",value:function(e){var t=this,i=e.series,a=e.fileName,s=e.columnDelimiter,r=s===void 0?",":s,n=e.lineDelimiter,o=n===void 0?` -`:n,h=this.w;i||(i=h.config.series);var c,d,u=[],f=[],p="",x=h.globals.series.map(function(k,L){return h.globals.collapsedSeriesIndices.indexOf(L)===-1?k:[]}),m=function(k){return typeof h.config.chart.toolbar.export.csv.categoryFormatter=="function"?h.config.chart.toolbar.export.csv.categoryFormatter(k):h.config.xaxis.type==="datetime"&&String(k).length>=10?new Date(k).toDateString():z.isNumber(k)?k:k.split(r).join("")},v=function(k){return typeof h.config.chart.toolbar.export.csv.valueFormatter=="function"?h.config.chart.toolbar.export.csv.valueFormatter(k):k},A=Math.max.apply(Math,U(i.map(function(k){return k.data?k.data.length:0}))),l=new Ht(this.ctx),g=new Ie(this.ctx),b=function(k){var L="";if(h.globals.axisCharts){if(h.config.xaxis.type==="category"||h.config.xaxis.convertedCatToNumeric)if(h.globals.isBarHorizontal){var R=h.globals.yLabelFormatters[0],T=new Le(t.ctx).getActiveConfigSeriesIndex();L=R(h.globals.labels[k],{seriesIndex:T,dataPointIndex:k,w:h})}else L=g.getLabel(h.globals.labels,h.globals.timescaleLabels,0,k).text;h.config.xaxis.type==="datetime"&&(h.config.xaxis.categories.length?L=h.config.xaxis.categories[k]:h.config.labels.length&&(L=h.config.labels[k]))}else L=h.config.labels[k];return L===null?"nullvalue":(Array.isArray(L)&&(L=L.join(" ")),z.isNumber(L)?L:L.split(r).join(""))},C=function(k,L){if(u.length&&L===0&&f.push(u.join(r)),k.data){k.data=k.data.length&&k.data||U(Array(A)).map(function(){return""});for(var R=0;R0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],i.config.xaxis.position==="top"?this.offY=0:this.offY=i.globals.gridHeight,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return I(y,[{key:"drawXaxis",value:function(){var e=this.w,t=new B(this.ctx),i=t.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),a=t.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&arguments[6]!==void 0?arguments[6]:{},c=[],d=[],u=this.w,f=h.xaxisFontSize||this.xaxisFontSize,p=h.xaxisFontFamily||this.xaxisFontFamily,x=h.xaxisForeColors||this.xaxisForeColors,m=h.fontWeight||u.config.xaxis.labels.style.fontWeight,v=h.cssClass||u.config.xaxis.labels.style.cssClass,A=u.globals.padHorizontal,l=a.length,g=u.config.xaxis.type==="category"?u.globals.dataPoints:l;if(g===0&&l>g&&(g=l),s){var b=g>1?g-1:g;n=u.globals.gridWidth/Math.min(b,l-1),A=A+r(0,n)/2+u.config.xaxis.labels.offsetX}else n=u.globals.gridWidth/g,A=A+r(0,n)+u.config.xaxis.labels.offsetX;for(var C=function(L){var R=A-r(L,n)/2+u.config.xaxis.labels.offsetX;L===0&&l===1&&n/2===A&&g===1&&(R=u.globals.gridWidth/2);var T=o.axesUtils.getLabel(a,u.globals.timescaleLabels,R,L,c,f,e),Y=28;if(u.globals.rotateXLabels&&e&&(Y=22),u.config.xaxis.title.text&&u.config.xaxis.position==="top"&&(Y+=parseFloat(u.config.xaxis.title.style.fontSize)+2),e||(Y=Y+parseFloat(f)+(u.globals.xAxisLabelsHeight-u.globals.xAxisGroupLabelsHeight)+(u.globals.rotateXLabels?10:0)),T=u.config.xaxis.tickAmount!==void 0&&u.config.xaxis.tickAmount!=="dataPoints"&&u.config.xaxis.type!=="datetime"?o.axesUtils.checkLabelBasedOnTickamount(L,T,l):o.axesUtils.checkForOverflowingLabels(L,T,l,c,d),u.config.xaxis.labels.show){var W=t.drawText({x:T.x,y:o.offY+u.config.xaxis.labels.offsetY+Y-(u.config.xaxis.position==="top"?u.globals.xAxisHeight+u.config.xaxis.axisTicks.height-2:0),text:T.text,textAnchor:"middle",fontWeight:T.isBold?600:m,fontSize:f,fontFamily:p,foreColor:Array.isArray(x)?e&&u.config.xaxis.convertedCatToNumeric?x[u.globals.minX+L-1]:x[L]:x,isPlainText:!1,cssClass:(e?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+v});if(i.add(W),W.on("click",function(H){if(typeof u.config.chart.events.xAxisLabelClick=="function"){var j=Object.assign({},u,{labelIndex:L});u.config.chart.events.xAxisLabelClick(H,o.ctx,j)}}),e){var O=document.createElementNS(u.globals.SVGNS,"title");O.textContent=Array.isArray(T.text)?T.text.join(" "):T.text,W.node.appendChild(O),T.text!==""&&(c.push(T.text),d.push(T))}}La.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(t=t+r+a.config.xaxis.axisTicks.height,a.config.xaxis.position==="top"&&(t=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new B(this.ctx).drawLine(e+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,t+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var e=this.w,t=[],i=this.xaxisLabels.length,a=e.globals.padHorizontal;if(e.globals.timescaleLabels.length>0)for(var s=0;s0){var c=s[s.length-1].getBBox(),d=s[0].getBBox();c.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),d.x+d.width>e.globals.gridWidth&&!e.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var u=0;u0&&(this.xaxisLabels=t.globals.timescaleLabels.slice())}return I(y,[{key:"drawGridArea",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w,i=new B(this.ctx);e===null&&(e=i.group({class:"apexcharts-grid"}));var a=i.drawLine(t.globals.padHorizontal,1,t.globals.padHorizontal,t.globals.gridHeight,"transparent"),s=i.drawLine(t.globals.padHorizontal,t.globals.gridHeight,t.globals.gridWidth,t.globals.gridHeight,"transparent");return e.add(s),e.add(a),e}},{key:"drawGrid",value:function(){var e=null;return this.w.globals.axisCharts&&(e=this.renderGrid(),this.drawGridArea(e.el)),e}},{key:"createGridMask",value:function(){var e=this.w,t=e.globals,i=new B(this.ctx),a=Array.isArray(e.config.stroke.width)?0:e.config.stroke.width;if(Array.isArray(e.config.stroke.width)){var s=0;e.config.stroke.width.forEach(function(d){s=Math.max(s,d)}),a=s}t.dom.elGridRectMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(t.cuid)),t.dom.elGridRectMarkerMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(t.cuid)),t.dom.elForecastMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elForecastMask.setAttribute("id","forecastMask".concat(t.cuid)),t.dom.elNonForecastMask=document.createElementNS(t.SVGNS,"clipPath"),t.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(t.cuid));var r=e.config.chart.type,n=0,o=0;(r==="bar"||r==="rangeBar"||r==="candlestick"||r==="boxPlot"||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&(n=e.config.grid.padding.left,o=e.config.grid.padding.right,t.barPadForNumericAxis>n&&(n=t.barPadForNumericAxis,o=t.barPadForNumericAxis)),t.dom.elGridRect=i.drawRect(-a/2-n-2,-a/2-2,t.gridWidth+a+o+n+4,t.gridHeight+a+4,0,"#fff");var h=e.globals.markers.largestSize+1;t.dom.elGridRectMarker=i.drawRect(2*-h,2*-h,t.gridWidth+4*h,t.gridHeight+4*h,0,"#fff"),t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node),t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);var c=t.dom.baseEl.querySelector("defs");c.appendChild(t.dom.elGridRectMask),c.appendChild(t.dom.elForecastMask),c.appendChild(t.dom.elNonForecastMask),c.appendChild(t.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(e){var t=e.i,i=e.x1,a=e.y1,s=e.x2,r=e.y2,n=e.xCount,o=e.parent,h=this.w;if(!(t===0&&h.globals.skipFirstTimelinelabel||t===n-1&&h.globals.skipLastTimelinelabel&&!h.config.xaxis.labels.formatter||h.config.chart.type==="radar")){h.config.grid.xaxis.lines.show&&this._drawGridLine({i:t,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var c=0;if(h.globals.hasXaxisGroups&&h.config.xaxis.tickPlacement==="between"){var d=h.globals.groups;if(d){for(var u=0,f=0;u0&&e.config.xaxis.type!=="datetime"&&(s=t.yAxisScale[a].result.length-1)),this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=t.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.gridWidth/s}}},{key:"drawGridBands",value:function(e,t){var i=this.w;if(i.config.grid.row.colors!==void 0&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/t,r=i.globals.gridWidth,n=0,o=0;n=i.config.grid.row.colors.length&&(o=0),this._drawGridBandRect({c:o,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/t;if(i.config.grid.column.colors!==void 0&&i.config.grid.column.colors.length>0){var h=i.globals.isBarHorizontal||i.config.xaxis.tickPlacement!=="on"||i.config.xaxis.type!=="category"&&!i.config.xaxis.convertedCatToNumeric?e:e-1;i.globals.isXNumeric&&(h=i.globals.xAxisScale.result.length-1);for(var c=i.globals.padHorizontal,d=i.globals.padHorizontal+i.globals.gridWidth/h,u=i.globals.gridHeight,f=0,p=0;f=i.config.grid.column.colors.length&&(p=0),i.config.xaxis.type==="datetime"&&(c=this.xaxisLabels[f].position,d=(((x=this.xaxisLabels[f+1])===null||x===void 0?void 0:x.position)||i.globals.gridWidth)-this.xaxisLabels[f].position),this._drawGridBandRect({c:p,x1:c,y1:0,x2:d,y2:u,type:"column"}),c+=i.globals.gridWidth/h}}}}]),y}(),Wt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"niceScale",value:function(e,t){var i,a,s,r,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=1e-11,h=this.w,c=h.globals;c.isBarHorizontal?(i=h.config.xaxis,a=Math.max((c.svgWidth-100)/25,2)):(i=h.config.yaxis[n],a=Math.max((c.svgHeight-100)/15,2)),z.isNumber(a)||(a=10),s=i.min!==void 0&&i.min!==null,r=i.max!==void 0&&i.min!==null;var d=i.stepSize!==void 0&&i.stepSize!==null,u=i.tickAmount!==void 0&&i.tickAmount!==null,f=u?i.tickAmount:c.niceScaleDefaultTicks[Math.min(Math.round(a/2),c.niceScaleDefaultTicks.length-1)];if(c.isMultipleYAxis&&!u&&c.multiAxisTickAmount>0&&(f=c.multiAxisTickAmount,u=!0),f=f==="dataPoints"?c.dataPoints-1:Math.abs(Math.round(f)),(e===Number.MIN_VALUE&&t===0||!z.isNumber(e)&&!z.isNumber(t)||e===Number.MIN_VALUE&&t===-Number.MAX_VALUE)&&(e=z.isNumber(i.min)?i.min:0,t=z.isNumber(i.max)?i.max:e+f,c.allSeriesCollapsed=!1),e>t){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var p=t;t=e,e=p}else e===t&&(e=e===0?0:e-1,t=t===0?2:t+1);var x=[];f<1&&(f=1);var m=f,v=Math.abs(t-e);!s&&e>0&&e/v<.15&&(e=0,s=!0),!r&&t<0&&-t/v<.15&&(t=0,r=!0);var A=(v=Math.abs(t-e))/m,l=A,g=Math.floor(Math.log10(l)),b=Math.pow(10,g),C=Math.ceil(l/b);if(A=l=(C=c.niceScaleAllowedMagMsd[c.yValueDecimal===0?0:1][C])*b,c.isBarHorizontal&&i.stepSize&&i.type!=="datetime"?(A=i.stepSize,d=!0):d&&(A=i.stepSize),d&&i.forceNiceScale){var k=Math.floor(Math.log10(A));A*=Math.pow(10,g-k)}if(s&&r){var L=v/m;if(u)if(d)if(z.mod(v,A)!=0){var R=z.getGCD(A,L);A=L/R<10?R:L}else z.mod(A,L)==0?A=L:(L=A,u=!1);else A=L;else if(d)z.mod(v,A)==0?L=A:A=L;else if(z.mod(v,A)==0)L=A;else{L=v/(m=Math.ceil(v/A));var T=z.getGCD(v,A);v/Ta&&(e=t-A*f,e+=A*Math.floor((Y-e)/A))}else if(s)if(u)t=e+A*m;else{var W=t;t=A*Math.ceil(t/A),Math.abs(t-e)/z.getGCD(v,A)>a&&(t=e+A*f,t+=A*Math.ceil((W-t)/A))}}else if(c.isMultipleYAxis&&u){var O=A*Math.floor(e/A),H=O+A*m;H0&&e16&&z.getPrimeFactors(m).length<2&&m++,!u&&i.forceNiceScale&&c.yValueDecimal===0&&m>v&&(m=v,A=Math.round(v/m)),m>a&&(!u&&!d||i.forceNiceScale)){var j=z.getPrimeFactors(m),q=j.length-1,J=m;e:for(var K=0;KSe);return{result:x,niceMin:x[0],niceMax:x[x.length-1]}}},{key:"linearScale",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:void 0,r=Math.abs(t-e),n=[];if(e===t)return{result:n=[e],niceMin:n[0],niceMax:n[n.length-1]};(i=this._adjustTicksForSmallRange(i,a,r))==="dataPoints"&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=e;i>=0;)n.push(o),o=z.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(e,t,i){t<=0&&(t=Math.max(e,i)),e<=0&&(e=Math.min(t,i));for(var a=[],s=Math.ceil(Math.log(t)/Math.log(i)+1),r=Math.floor(Math.log(e)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=r.forceNiceScale?this.logarithmicScaleNice(t,i,r.logBase):this.logarithmicScale(t,i,r.logBase)):i!==-Number.MAX_VALUE&&z.isNumber(i)&&t!==Number.MAX_VALUE&&z.isNumber(t)?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=this.niceScale(t,i,e)):a.yAxisScale[e]=this.niceScale(Number.MIN_VALUE,0,e)}},{key:"setXScale",value:function(e,t){var i=this.w,a=i.globals,s=Math.abs(t-e);if(t!==-Number.MAX_VALUE&&z.isNumber(t)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(e,t,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],a=[],s=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(d){return Array.isArray(d.seriesName)});t.series.forEach(function(d,u){s.push(u),a.push(null)}),t.yaxis.forEach(function(d,u){i[u]=[]});var n=[];t.yaxis.forEach(function(d,u){var f=!1;if(d.seriesName){var p=[];Array.isArray(d.seriesName)?p=d.seriesName:p.push(d.seriesName),p.forEach(function(x){t.series.forEach(function(m,v){if(m.name===x){var A=v;u===v||r?!r||s.indexOf(v)>-1?i[u].push([u,v]):console.warn("Series '"+m.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[v].push([v,u]),A=u),f=!0,(A=s.indexOf(A))!==-1&&s.splice(A,1)}})})}f||n.push(u)}),i=i.map(function(d,u){var f=[];return d.forEach(function(p){a[p[1]]=p[0],f.push(p[1])}),f});for(var o=t.yaxis.length-1,h=0;h0?function(){var c,d,u=Number.MAX_VALUE,f=-Number.MAX_VALUE,p=u,x=f;if(t.chart.stacked)(function(){var A=i.seriesX[n[0]],l=[],g=[],b=[];h.forEach(function(){l.push(A.map(function(){return Number.MIN_VALUE})),g.push(A.map(function(){return Number.MIN_VALUE})),b.push(A.map(function(){return Number.MIN_VALUE}))});for(var C=function(L){!c&&t.series[n[L]].type&&(c=t.series[n[L]].type);var R=n[L];d=t.series[R].group?t.series[R].group:"axis-".concat(o),!(i.collapsedSeriesIndices.indexOf(R)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(R)<0)||(i.allSeriesCollapsed=!1,h.forEach(function(T,Y){if(t.series[R].group===T)for(var W=0;W=0?g[Y][W]+=O:b[Y][W]+=O,l[Y][W]+=O,p=Math.min(p,O),x=Math.max(x,O)}})),c!=="bar"&&c!=="column"||i.barGroups.push(d)},k=0;k1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;a===null&&(a=e+1);var h=r.series,c=h,d=h;s.chart.type==="candlestick"?(c=r.seriesCandleL,d=r.seriesCandleH):s.chart.type==="boxPlot"?(c=r.seriesCandleO,d=r.seriesCandleC):r.isRangeData&&(c=r.seriesRangeStart,d=r.seriesRangeEnd);var u=!1;if(r.seriesX.length>=a){var f,p=(f=r.brushSource)===null||f===void 0?void 0:f.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||p!=null&&p.enabled&&p!=null&&p.autoScaleYaxis)&&(u=!0)}for(var x=e;xv&&r.seriesX[x][A]>s.xaxis.max;A--);}for(var l=v;l<=A&&lc[x][l]&&c[x][l]<0&&(o=c[x][l])}else r.hasNullValues=!0}m!=="bar"&&m!=="column"||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,t=Math.min(t,0)))}return s.chart.type==="rangeBar"&&r.seriesRangeStart.length&&r.isBarHorizontal&&(o=t),s.chart.type==="bar"&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:t,highestY:i}}},{key:"setYRange",value:function(){var e=this.w.globals,t=this.w.config;e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(e.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;se.dataPoints&&e.dataPoints!==0&&(a=e.dataPoints-1);else if(t.xaxis.tickAmount==="dataPoints"){if(e.series.length>1&&(a=e.series[e.maxValsInArrayIndex].length-1),e.isXNumeric){var s=e.maxX-e.minX;s<30&&(a=s-1)}}else a=t.xaxis.tickAmount;if(e.xTickAmount=a,t.xaxis.max!==void 0&&typeof t.xaxis.max=="number"&&(e.maxX=t.xaxis.max),t.xaxis.min!==void 0&&typeof t.xaxis.min=="number"&&(e.minX=t.xaxis.min),t.xaxis.range!==void 0&&(e.minX=e.maxX-t.xaxis.range),e.minX!==Number.MAX_VALUE&&e.maxX!==-Number.MAX_VALUE)if(t.xaxis.convertedCatToNumeric&&!e.dataFormatXNumeric){for(var r=[],n=e.minX-1;n0&&(e.xAxisScale=this.scales.linearScale(1,e.labels.length,a-1,0,t.xaxis.stepSize),e.seriesX=e.labels.slice());i&&(e.labels=e.xAxisScale.result.slice())}return e.isBarHorizontal&&e.labels.length&&(e.xTickAmount=e.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:e.minX,maxX:e.maxX}}},{key:"setZRange",value:function(){var e=this.w.globals;if(e.isDataXYZ){for(var t=0;t0){var n=s-a[r-1];n>0&&(e.minXDiff=Math.min(n,e.minXDiff))}}),e.dataPoints!==1&&e.minXDiff!==Number.MAX_VALUE||(e.minXDiff=.5)})}},{key:"_setStackedMinMax",value:function(){var e=this,t=this.w.globals;if(t.series.length){var i=t.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map(function(r){return r})]);var a={},s={};i.forEach(function(r){a[r]=[],s[r]=[],e.w.config.series.map(function(n,o){return r.indexOf(t.seriesNames[o])>-1?o:null}).filter(function(n){return n!==null}).forEach(function(n){for(var o=0;o0?a[r][o]+=parseFloat(t.series[n][o])+1e-4:s[r][o]+=parseFloat(t.series[n][o]))}})}),Object.entries(a).forEach(function(r){var n=Q(r,1)[0];a[n].forEach(function(o,h){t.maxY=Math.max(t.maxY,a[n][h]),t.minY=Math.min(t.minY,s[n][h])})})}}}]),y}(),pt=function(){function y(e,t){E(this,y),this.ctx=e,this.elgrid=t,this.w=e.w;var i=this.w;this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.axisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xAxisoffX=0,i.config.xaxis.position==="bottom"&&(this.xAxisoffX=i.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new Ie(e)}return I(y,[{key:"drawYaxis",value:function(e){var t=this,i=this.w,a=new B(this.ctx),s=i.config.yaxis[e].labels.style,r=s.fontSize,n=s.fontFamily,o=s.fontWeight,h=a.group({class:"apexcharts-yaxis",rel:e,transform:"translate("+i.globals.translateYAxisX[e]+", 0)"});if(this.axesUtils.isYAxisHidden(e))return h;var c=a.group({class:"apexcharts-yaxis-texts-g"});h.add(c);var d=i.globals.yAxisScale[e].result.length-1,u=i.globals.gridHeight/d,f=i.globals.yLabelFormatters[e],p=i.globals.yAxisScale[e].result.slice();p=this.axesUtils.checkForReversedLabels(e,p);var x="";if(i.config.yaxis[e].labels.show){var m=i.globals.translateY+i.config.yaxis[e].labels.offsetY;i.globals.isBarHorizontal?m=0:i.config.chart.type==="heatmap"&&(m-=u/2),m+=parseInt(i.config.yaxis[e].labels.style.fontSize,10)/3;for(var v=function(R){var T=p[R];T=f(T,R,i);var Y=i.config.yaxis[e].labels.padding;i.config.yaxis[e].opposite&&i.config.yaxis.length!==0&&(Y*=-1);var W="end";i.config.yaxis[e].opposite&&(W="start"),i.config.yaxis[e].labels.align==="left"?W="start":i.config.yaxis[e].labels.align==="center"?W="middle":i.config.yaxis[e].labels.align==="right"&&(W="end");var O=t.axesUtils.getYAxisForeColor(s.colors,e),H=z.listToArray(i.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label tspan"))).map(function(te){return te.textContent}),j=a.drawText({x:Y,y:m,text:H.indexOf(T)>=0?"":T,textAnchor:W,fontSize:r,fontFamily:n,fontWeight:o,maxWidth:i.config.yaxis[e].labels.maxWidth,foreColor:Array.isArray(O)?O[R]:O,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});R===d&&(x=j),c.add(j);var q=document.createElementNS(i.globals.SVGNS,"title");if(q.textContent=Array.isArray(T)?T.join(" "):T,j.node.appendChild(q),i.config.yaxis[e].labels.rotate!==0){var J=a.rotateAroundCenter(x.node),K=a.rotateAroundCenter(j.node);j.node.setAttribute("transform","rotate(".concat(i.config.yaxis[e].labels.rotate," ").concat(J.x," ").concat(K.y,")"))}m+=u},A=d;A>=0;A--)v(A)}if(i.config.yaxis[e].title.text!==void 0){var l=a.group({class:"apexcharts-yaxis-title"}),g=0;i.config.yaxis[e].opposite&&(g=i.globals.translateYAxisX[e]);var b=a.drawText({x:g,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[e].title.offsetY,text:i.config.yaxis[e].title.text,textAnchor:"end",foreColor:i.config.yaxis[e].title.style.color,fontSize:i.config.yaxis[e].title.style.fontSize,fontWeight:i.config.yaxis[e].title.style.fontWeight,fontFamily:i.config.yaxis[e].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[e].title.style.cssClass});l.add(b),h.add(l)}var C=i.config.yaxis[e].axisBorder,k=31+C.offsetX;if(i.config.yaxis[e].opposite&&(k=-31-C.offsetX),C.show){var L=a.drawLine(k,i.globals.translateY+C.offsetY-2,k,i.globals.gridHeight+i.globals.translateY+C.offsetY+2,C.color,0,C.width);h.add(L)}return i.config.yaxis[e].axisTicks.show&&this.axesUtils.drawYAxisTicks(k,d,C,i.config.yaxis[e].axisTicks,e,u,h),h}},{key:"drawYaxisInversed",value:function(e){var t=this.w,i=new B(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});a.add(s);var r=t.globals.yAxisScale[e].result.length-1,n=t.globals.gridWidth/r+.1,o=n+t.config.xaxis.labels.offsetX,h=t.globals.xLabelFormatter,c=t.globals.yAxisScale[e].result.slice(),d=t.globals.timescaleLabels;d.length>0&&(this.xaxisLabels=d.slice(),r=(c=d.slice()).length),c=this.axesUtils.checkForReversedLabels(e,c);var u=d.length;if(t.config.xaxis.labels.show)for(var f=u?0:r;u?f=0;u?f++:f--){var p=c[f];p=h(p,f,t);var x=t.globals.gridWidth+t.globals.padHorizontal-(o-n+t.config.xaxis.labels.offsetX);if(d.length){var m=this.axesUtils.getLabel(c,d,x,f,this.drawnLabels,this.xaxisFontSize);x=m.x,p=m.text,this.drawnLabels.push(m.text),f===0&&t.globals.skipFirstTimelinelabel&&(p=""),f===c.length-1&&t.globals.skipLastTimelinelabel&&(p="")}var v=i.drawText({x,y:this.xAxisoffX+t.config.xaxis.labels.offsetY+30-(t.config.xaxis.position==="top"?t.globals.xAxisHeight+t.config.xaxis.axisTicks.height-2:0),text:p,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[e]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:t.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+t.config.xaxis.labels.style.cssClass});s.add(v),v.tspan(p);var A=document.createElementNS(t.globals.SVGNS,"title");A.textContent=p,v.node.appendChild(A),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(e){var t=this.w,i=new B(this.ctx),a=t.config.xaxis.axisBorder;if(a.show){var s=0;t.config.chart.type==="bar"&&t.globals.isXNumeric&&(s-=15);var r=i.drawLine(t.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,t.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(r):e.add(r)}}},{key:"inversedYAxisTitleText",value:function(e){var t=this.w,i=new B(this.ctx);if(t.config.xaxis.title.text!==void 0){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(t.config.xaxis.title.style.fontSize)+t.config.xaxis.title.offsetY+20,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+t.config.xaxis.title.style.cssClass});a.add(s),e.add(a)}}},{key:"yAxisTitleRotate",value:function(e,t){var i=this.w,a=new B(this.ctx),s={width:0,height:0},r={width:0,height:0},n=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g"));n!==null&&(s=n.getBoundingClientRect());var o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-title text"));if(o!==null&&(r=o.getBoundingClientRect()),o!==null){var h=this.xPaddingForYAxisTitle(e,s,r,t);o.setAttribute("x",h.xPos-(t?10:0))}if(o!==null){var c=a.rotateAroundCenter(o);o.setAttribute("transform","rotate(".concat(t?-1*i.config.yaxis[e].title.rotate:i.config.yaxis[e].title.rotate," ").concat(c.x," ").concat(c.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(e,t,i,a){var s=this.w,r=0,n=0,o=10;return s.config.yaxis[e].title.text===void 0||e<0?{xPos:n,padd:0}:(a?(n=t.width+s.config.yaxis[e].title.offsetX+i.width/2+o/2,(r+=1)===0&&(n-=o/2)):(n=-1*t.width+s.config.yaxis[e].title.offsetX+o/2+i.width/2,s.globals.isBarHorizontal&&(o=25,n=-1*t.width-s.config.yaxis[e].title.offsetX-o)),{xPos:n,padd:o})}},{key:"setYAxisXPosition",value:function(e,t){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map(function(o,h){var c=i.globals.ignoreYAxisIndexes.indexOf(h)>-1||!o.show||o.floating||e[h].width===0,d=e[h].width+t[h].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[h]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,c||(n=n+d+20),i.globals.translateYAxisX[h]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,c||(r=r+d+20),i.globals.translateYAxisX[h]=a+o.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(t=z.listToArray(t)).forEach(function(i,a){var s=e.config.yaxis[a];if(s&&!s.floating&&s.labels.align!==void 0){var r=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(a,"'] .apexcharts-yaxis-texts-g")),n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(a,"'] .apexcharts-yaxis-label"));n=z.listToArray(n);var o=r.getBoundingClientRect();s.labels.align==="left"?(n.forEach(function(h,c){h.setAttribute("text-anchor","start")}),s.opposite||r.setAttribute("transform","translate(-".concat(o.width,", 0)"))):s.labels.align==="center"?(n.forEach(function(h,c){h.setAttribute("text-anchor","middle")}),r.setAttribute("transform","translate(".concat(o.width/2*(s.opposite?1:-1),", 0)"))):s.labels.align==="right"&&(n.forEach(function(h,c){h.setAttribute("text-anchor","end")}),s.opposite&&r.setAttribute("transform","translate(".concat(o.width,", 0)")))}})}}]),y}(),Ui=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.documentEvent=z.bind(this.documentEvent,this)}return I(y,[{key:"addEventListener",value:function(e,t){var i=this.w;i.globals.events.hasOwnProperty(e)?i.globals.events[e].push(t):i.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){var a=i.globals.events[e].indexOf(t);a!==-1&&i.globals.events[e].splice(a,1)}}},{key:"fireEvent",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var a=i.globals.events[e],s=a.length,r=0;r0&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(s){return s.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=z.extend(Yt,i);this.w.globals.locale=a.options}}]),y}(),Zi=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"drawAxis",value:function(e,t){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new Ue(this.ctx,t),h=new pt(this.ctx,t);r.axisCharts&&e!=="radar"&&(r.isBarHorizontal?(a=h.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map(function(c,d){if(r.ignoreYAxisIndexes.indexOf(d)===-1&&(a=h.drawYaxis(d),r.dom.Paper.add(a),s.w.config.grid.position==="back")){var u=r.dom.Paper.children()[1];u.remove(),r.dom.Paper.add(u)}})))}}]),y}(),xt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"drawXCrosshairs",value:function(){var e=this.w,t=new B(this.ctx),i=new ce(this.ctx),a=e.config.xaxis.crosshairs.fill.gradient,s=e.config.xaxis.crosshairs.dropShadow,r=e.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,h=a.opacityFrom,c=a.opacityTo,d=a.stops,u=s.enabled,f=s.left,p=s.top,x=s.blur,m=s.color,v=s.opacity,A=e.config.xaxis.crosshairs.fill.color;if(e.config.xaxis.crosshairs.show){r==="gradient"&&(A=t.drawGradient("vertical",n,o,h,c,null,d,null));var l=t.drawRect();e.config.xaxis.crosshairs.width===1&&(l=t.drawLine());var g=e.globals.gridHeight;(!z.isNumber(g)||g<0)&&(g=0);var b=e.config.xaxis.crosshairs.width;(!z.isNumber(b)||b<0)&&(b=0),l.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:g,width:b,height:g,fill:A,filter:"none","fill-opacity":e.config.xaxis.crosshairs.opacity,stroke:e.config.xaxis.crosshairs.stroke.color,"stroke-width":e.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":e.config.xaxis.crosshairs.stroke.dashArray}),u&&(l=i.dropShadow(l,{left:f,top:p,blur:x,color:m,opacity:v})),e.globals.dom.elGraphical.add(l)}}},{key:"drawYCrosshairs",value:function(){var e=this.w,t=new B(this.ctx),i=e.config.yaxis[0].crosshairs,a=e.globals.barPadForNumericAxis;if(e.config.yaxis[0].crosshairs.show){var s=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),e.globals.dom.elGraphical.add(s)}var r=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),e.globals.dom.elGraphical.add(r)}}]),y}(),$i=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"checkResponsiveConfig",value:function(e){var t=this,i=this.w,a=i.config;if(a.responsive.length!==0){var s=a.responsive.slice();s.sort(function(h,c){return h.breakpoint>c.breakpoint?1:c.breakpoint>h.breakpoint?-1:0}).reverse();var r=new je({}),n=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=s[0].breakpoint,d=window.innerWidth>0?window.innerWidth:screen.width;if(d>c){var u=z.clone(i.globals.initialConfig);u.series=z.clone(i.config.series);var f=de.extendArrayProps(r,u,i);h=z.extend(f,h),h=z.extend(i.config,h),t.overrideResponsiveOptions(h)}else for(var p=0;p0&&typeof i.config.colors[0]=="function"&&(i.globals.colors=i.config.series.map(function(p,x){var m=i.config.colors[x];return m||(m=i.config.colors[0]),typeof m=="function"?(t.isColorFn=!0,m({value:i.globals.axisCharts?i.globals.series[x][0]?i.globals.series[x][0]:0:i.globals.series[x],seriesIndex:x,dataPointIndex:x,w:i})):m}))),i.globals.seriesColors.map(function(p,x){p&&(i.globals.colors[x]=p)}),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var n=i.config.theme.monochrome.color,o=1/(r/i.config.theme.monochrome.shadeIntensity),h=i.config.theme.monochrome.shadeTo,c=0,d=0;d2&&arguments[2]!==void 0?arguments[2]:null,a=this.w,s=t||a.globals.series.length;if(i===null&&(i=this.isBarDistributed||this.isHeatmapDistributed||a.config.chart.type==="heatmap"&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),e.lengthe.globals.svgWidth&&(this.dCtx.lgRect.width=e.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var e=this,t=this.w,i=[];t.config.series.forEach(function(o,h){o.data.forEach(function(c,d){var u;u=t.globals.series[h][d],a=t.config.dataLabels.formatter(u,{ctx:e.dCtx.ctx,seriesIndex:h,dataPointIndex:d,w:t}),i.push(a)})});var a=z.getLargestStringFromArr(i),s=new B(this.dCtx.ctx),r=t.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(e,t){var i=e;if(this.w.globals.isMultiLineX){var a=t.map(function(r,n){return Array.isArray(r)?r.length:1}),s=Math.max.apply(Math,U(a));i=t[a.indexOf(s)]}return i}}]),y}(),ea=function(){function y(e){E(this,y),this.w=e.w,this.dCtx=e}return I(y,[{key:"getxAxisLabelsCoords",value:function(){var e,t=this.w,i=t.globals.labels.slice();if(t.config.xaxis.convertedCatToNumeric&&i.length===0&&(i=t.globals.categoryLabels),t.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();e={width:a.width,height:a.height},t.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=t.config.legend.position!=="left"&&t.config.legend.position!=="right"||t.config.legend.floating?0:this.dCtx.lgRect.width;var s=t.globals.xLabelFormatter,r=z.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);t.globals.isBarHorizontal&&(n=r=t.globals.yAxisScale[0].result.reduce(function(p,x){return p.length>x.length?p:x},0));var o=new Ve(this.dCtx.ctx),h=r;r=o.xLabelFormat(s,r,h,{i:void 0,dateFormatter:new me(this.dCtx.ctx).formatDate,w:t}),n=o.xLabelFormat(s,n,h,{i:void 0,dateFormatter:new me(this.dCtx.ctx).formatDate,w:t}),(t.config.xaxis.convertedCatToNumeric&&r===void 0||String(r).trim()==="")&&(n=r="1");var c=new B(this.dCtx.ctx),d=c.getTextRects(r,t.config.xaxis.labels.style.fontSize),u=d;if(r!==n&&(u=c.getTextRects(n,t.config.xaxis.labels.style.fontSize)),(e={width:d.width>=u.width?d.width:u.width,height:d.height>=u.height?d.height:u.height}).width*i.length>t.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&t.config.xaxis.labels.rotate!==0||t.config.xaxis.labels.rotateAlways){if(!t.globals.isBarHorizontal){t.globals.rotateXLabels=!0;var f=function(p){return c.getTextRects(p,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,"rotate(".concat(t.config.xaxis.labels.rotate," 0 0)"),!1)};d=f(r),r!==n&&(u=f(n)),e.height=(d.height>u.height?d.height:u.height)/1.5,e.width=d.width>u.width?d.width:u.width}}else t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(e={width:0,height:0}),{width:e.width,height:e.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var e,t=this.w;if(!t.globals.hasXaxisGroups)return{width:0,height:0};var i,a=((e=t.config.xaxis.group.style)===null||e===void 0?void 0:e.fontSize)||t.config.xaxis.labels.style.fontSize,s=t.globals.groups.map(function(d){return d.title}),r=z.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new B(this.dCtx.ctx),h=o.getTextRects(r,a),c=h;return r!==n&&(c=o.getTextRects(n,a)),i={width:h.width>=c.width?h.width:c.width,height:h.height>=c.height?h.height:c.height},t.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var e=this.w,t=0,i=0;if(e.config.xaxis.title.text!==void 0){var a=new B(this.dCtx.ctx).getTextRects(e.config.xaxis.title.text,e.config.xaxis.title.style.fontSize);t=a.width,i=a.height}return{width:t,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var e,t=this.w;this.dCtx.timescaleLabels=t.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map(function(s){return s.value}),a=i.reduce(function(s,r){return s===void 0?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):s.length>r.length?s:r},0);return 1.05*(e=new B(this.dCtx.ctx).getTextRects(a,t.config.xaxis.labels.style.fontSize)).width*i.length>t.globals.gridWidth&&t.config.xaxis.labels.rotate!==0&&(t.globals.overlappingXLabels=!0),e}},{key:"additionalPaddingXLabels",value:function(e){var t=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=e.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,h=function(c,d){s.yaxis.length>1&&function(u){return a.collapsedSeriesIndices.indexOf(u)!==-1}(d)||function(u){if(t.dCtx.timescaleLabels&&t.dCtx.timescaleLabels.length){var f=t.dCtx.timescaleLabels[0],p=t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length-1].position+n/1.75-t.dCtx.yAxisWidthRight,x=f.position-n/1.75+t.dCtx.yAxisWidthLeft,m=i.config.legend.position==="right"&&t.dCtx.lgRect.width>0?t.dCtx.lgRect.width:0;p>a.svgWidth-a.translateX-m&&(a.skipLastTimelinelabel=!0),x<-(u.show&&!u.floating||s.chart.type!=="bar"&&s.chart.type!=="candlestick"&&s.chart.type!=="rangeBar"&&s.chart.type!=="boxPlot"?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else r==="datetime"?t.dCtx.gridPad.right((k=String(d(b,o)))===null||k===void 0?void 0:k.length)?g:b},u),p=f=d(f,o);if(f!==void 0&&f.length!==0||(f=h.niceMax),t.globals.isBarHorizontal){a=0;var x=t.globals.labels.slice();f=z.getLargestStringFromArr(x),f=d(f,{seriesIndex:n,dataPointIndex:-1,w:t}),p=e.dCtx.dimHelpers.getLargestStringFromMultiArr(f,x)}var m=new B(e.dCtx.ctx),v="rotate(".concat(r.labels.rotate," 0 0)"),A=m.getTextRects(f,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1),l=A;f!==p&&(l=m.getTextRects(p,r.labels.style.fontSize,r.labels.style.fontFamily,v,!1)),i.push({width:(c>l.width||c>A.width?c:l.width>A.width?l.width:A.width)+a,height:l.height>A.height?l.height:A.height})}else i.push({width:0,height:0})}),i}},{key:"getyAxisTitleCoords",value:function(){var e=this,t=this.w,i=[];return t.config.yaxis.map(function(a,s){if(a.show&&a.title.text!==void 0){var r=new B(e.dCtx.ctx),n="rotate(".concat(a.title.rotate," 0 0)"),o=r.getTextRects(a.title.text,a.title.style.fontSize,a.title.style.fontFamily,n,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})}),i}},{key:"getTotalYAxisWidth",value:function(){var e=this.w,t=0,i=0,a=0,s=e.globals.yAxisScale.length>1?10:0,r=new Ie(this.dCtx.ctx),n=function(o,h){var c=e.config.yaxis[h].floating,d=0;o.width>0&&!c?(d=o.width+s,function(u){return e.globals.ignoreYAxisIndexes.indexOf(u)>-1}(h)&&(d=d-o.width-s)):d=c||r.isYAxisHidden(h)?0:5,e.config.yaxis[h].opposite?a+=d:i+=d,t+=d};return e.globals.yLabelsCoords.map(function(o,h){n(o,h)}),e.globals.yTitleCoords.map(function(o,h){n(o,h)}),e.globals.isBarHorizontal&&!e.config.yaxis[0].floating&&(t=e.globals.yLabelsCoords[0].width+e.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,t}}]),y}(),ia=function(){function y(e){E(this,y),this.w=e.w,this.dCtx=e}return I(y,[{key:"gridPadForColumnsInNumericAxis",value:function(e){var t=this.w,i=t.config,a=t.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(f){return f==="bar"||f==="rangeBar"||f==="candlestick"||f==="boxPlot"},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach(function(f){s(f.type)&&(o-=1)}),i.chart.stacked&&(o=1);var h=s(r)||a.comboBarCount>0,c=Math.abs(a.initialMaxX-a.initialMinX);if(h&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&c!==0){var d,u;c<=3&&(c=a.dataPoints),d=c/e,a.minXDiff&&a.minXDiff/d>0&&(u=a.minXDiff/d),u>e/2&&(u/=2),(n=u*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var e=this,t=this.w,i=t.globals,a=this.dCtx.isSparkline||!t.globals.axisCharts?0:10;["title","subtitle"].forEach(function(n){t.config[n].text!==void 0?a+=t.config[n].margin:a+=e.dCtx.isSparkline||!t.globals.axisCharts?0:5}),!t.config.legend.show||t.config.legend.position!=="bottom"||t.config.legend.floating||t.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(e,t){var i=this.w,a=new Ie(this.dCtx.ctx);i.config.yaxis.map(function(s,r){i.globals.ignoreYAxisIndexes.indexOf(r)!==-1||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(t[r].width+e[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))})}}]),y}(),et=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new Qi(this),this.dimYAxis=new ta(this),this.dimXAxis=new ea(this),this.dimGrid=new ia(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return I(y,[{key:"plotCoords",value:function(){var e=this,t=this.w,i=t.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,U(t.config.stroke.width)):t.config.stroke.width;this.isSparkline&&((t.config.markers.discrete.length>0||t.config.markers.size>0)&&Object.entries(this.gridPad).forEach(function(r){var n=Q(r,2),o=n[0],h=n[1];e.gridPad[o]=Math.max(h,e.w.globals.markers.largestSize/1.5)}),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var e=this,t=this.w,i=t.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),t.globals.yLabelsCoords=[],t.globals.yTitleCoords=[],t.config.yaxis.map(function(f,p){t.globals.yLabelsCoords.push({width:a[p].width,index:p}),t.globals.yTitleCoords.push({width:s[p].width,index:p})}),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=t.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=t.globals.rotateXLabels&&t.globals.isXNumeric&&t.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,t.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(t.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+t.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+t.config.xaxis.labels.offsetX;var h=this.yAxisWidth,c=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var d=10;(t.config.chart.type==="radar"||this.isSparkline)&&(h=0,c=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||t.config.chart.type==="treemap")&&(h=0,c=0,d=0),this.isSparkline||t.config.chart.type==="treemap"||this.dimXAxis.additionalPaddingXLabels(r);var u=function(){i.translateX=h+e.datalabelsCoords.width,i.gridHeight=i.svgHeight-e.lgRect.height-c-(e.isSparkline||t.config.chart.type==="treemap"?0:t.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-h-2*e.datalabelsCoords.width};switch(t.config.xaxis.position==="top"&&(d=i.xAxisHeight-t.config.xaxis.axisTicks.height-5),t.config.legend.position){case"bottom":i.translateY=d,u();break;case"top":i.translateY=this.lgRect.height+d,u();break;case"left":i.translateY=d,i.translateX=this.lgRect.width+h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width;break;case"right":i.translateY=d,i.translateX=h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new pt(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=e.config,a=0;e.config.legend.show&&!e.config.legend.floating&&(a=20);var s=i.chart.type==="pie"||i.chart.type==="polarArea"||i.chart.type==="donut"?"pie":"radialBar",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){t.gridHeight=t.svgHeight-i.grid.padding.top-i.grid.padding.bottom;var o=t.dom.elWrap.getBoundingClientRect().width;return t.gridWidth=Math.min(o,t.gridHeight)-i.grid.padding.left-i.grid.padding.right,t.translateY=r,void(t.translateX=n+(t.svgWidth-t.gridWidth)/2)}switch(i.legend.position){case"bottom":t.gridHeight=t.svgHeight-this.lgRect.height-t.goldenPadding,t.gridWidth=t.svgWidth,t.translateY=r-10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"top":t.gridHeight=t.svgHeight-this.lgRect.height-t.goldenPadding,t.gridWidth=t.svgWidth,t.translateY=this.lgRect.height+r+10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"left":t.gridWidth=t.svgWidth-this.lgRect.width-a,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+this.lgRect.width+a;break;case"right":t.gridWidth=t.svgWidth-this.lgRect.width-a-5,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(e,t,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+e.height+t.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,h=a.globals.rotateXLabels&&a.config.legend.position==="bottom"?10:0;this.xAxisHeight=r*n+s*o+h,this.xAxisWidth=e.width,this.xAxisHeight-t.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightd&&(this.yAxisWidth=d)}}]),y}(),aa=function(){function y(e){E(this,y),this.w=e.w,this.lgCtx=e}return I(y,[{key:"getLegendStyles",value:function(){var e,t,i,a=document.createElement("style");a.setAttribute("type","text/css");var s=((e=this.lgCtx.ctx)===null||e===void 0||(t=e.opts)===null||t===void 0||(i=t.chart)===null||i===void 0?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute("nonce",s);var r=document.createTextNode(` - .apexcharts-legend { - display: flex; - overflow: auto; - padding: 0 10px; - } - .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top { - flex-wrap: wrap - } - .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { - flex-direction: column; - bottom: 0; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { - justify-content: flex-start; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center { - justify-content: center; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right { - justify-content: flex-end; - } - .apexcharts-legend-series { - cursor: pointer; - line-height: normal; - display: flex; - align-items: center; - } - .apexcharts-legend-text { - position: relative; - font-size: 14px; - } - .apexcharts-legend-text *, .apexcharts-legend-marker * { - pointer-events: none; - } - .apexcharts-legend-marker { - position: relative; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - margin-right: 1px; - } - - .apexcharts-legend-series.apexcharts-no-click { - cursor: auto; - } - .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series { - display: none !important; - } - .apexcharts-inactive-legend { - opacity: 0.45; - }`);return a.appendChild(r),a}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend"),t=e.offsetWidth;return{clwh:e.offsetHeight,clww:t}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(e,t){var i=this,a=this.w;if(a.globals.axisCharts||a.config.chart.type==="radialBar"){a.globals.resized=!0;var s=null,r=null;a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(e+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),t?[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach(function(c){i.riseCollapsedSeries(c.cs,c.csi,r)}):this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(e+1,"'] path")),o=a.config.chart.type;if(o==="pie"||o==="polarArea"||o==="donut"){var h=a.config.plotOptions.pie.donut.labels;new B(this.lgCtx.ctx).pathMouseDown(n.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(n.members[0].node,h)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(e){var t=e.realIndex,i=this.w,a=i.globals,s=z.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[t]],n={index:t,data:s[t].data.slice(),type:s[t].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(t)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(t));else if(a.collapsedSeriesIndices.indexOf(t)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(t);var o=a.risingSeries.indexOf(t);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:t,data:s[t]}),a.collapsedSeriesIndices.push(t);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:"hideSeries",value:function(e){for(var t=e.seriesEl,i=e.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=t.childNodes,n=0;n0){for(var r=0;r1||!t.axisCharts)&&i.legend.show){for(;t.dom.elLegendWrap.firstChild;)t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);this.drawLegends(),this.legendHelpers.appendToForeignObject(),i.legend.position==="bottom"||i.legend.position==="top"?this.legendAlignHorizontal():i.legend.position!=="right"&&i.legend.position!=="left"||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(e){var t=e.i,i=e.fillcolor,a=this.w,s=document.createElement("span");s.classList.add("apexcharts-legend-marker");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[t]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[t]):parseFloat(a.config.legend.markers.size),h=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[t]):parseFloat(a.config.legend.markers.offsetX),c=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[t]):parseFloat(a.config.legend.markers.offsetY),d=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[t]):parseFloat(a.config.legend.markers.strokeWidth),u=s.style;if(u.height=2*(o+d)+"px",u.width=2*(o+d)+"px",u.left=h+"px",u.top=c+"px",a.config.legend.markers.customHTML)u.background="transparent",u.color=i[t],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[t]&&(s.innerHTML=a.config.legend.markers.customHTML[t]()):s.innerHTML=a.config.legend.markers.customHTML();else{var f=new Ne(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:t,strokeWidth:d,size:o}),p=SVG(s).size("100%","100%"),x=new B(this.ctx).drawMarker(0,0,V(V({},f),{},{pointFillColor:Array.isArray(i)?i[t]:f.pointFillColor,shape:n}));SVG.select(".apexcharts-legend-marker.apexcharts-marker").members.forEach(function(m){m.node.classList.contains("apexcharts-marker-triangle")?m.node.style.transform="translate(50%, 45%)":m.node.style.transform="translate(50%, 50%)"}),p.add(x)}return s}},{key:"drawLegends",value:function(){var e=this,t=this.w,i=t.config.legend.fontFamily,a=t.globals.seriesNames,s=t.config.legend.markers.fillColors?t.config.legend.markers.fillColors.slice():t.globals.colors.slice();if(t.config.chart.type==="heatmap"){var r=t.config.plotOptions.heatmap.colorScale.ranges;a=r.map(function(b){return b.name?b.name:b.from+" - "+b.to}),s=r.map(function(b){return b.color})}else this.isBarsDistributed&&(a=t.globals.labels.slice());t.config.legend.customLegendItems.length&&(a=t.config.legend.customLegendItems);for(var n=t.globals.legendFormatter,o=t.config.legend.inverseOrder,h=o?a.length-1:0;o?h>=0:h<=a.length-1;o?h--:h++){var c,d=n(a[h],{seriesIndex:h,w:t}),u=!1,f=!1;if(t.globals.collapsedSeries.length>0)for(var p=0;p0)for(var x=0;x0?h-10:0)+(c>0?c-10:0)}a.style.position="absolute",r=r+e+i.config.legend.offsetX,n=n+t+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=n+"px",i.config.legend.position==="bottom"?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):i.config.legend.position==="right"&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach(function(d){a.style[d]&&(a.style[d]=parseInt(i.config.legend[d],10)+"px")})}},{key:"legendAlignHorizontal",value:function(){var e=this.w;e.globals.dom.elLegendWrap.style.right=0;var t=this.legendHelpers.getLegendDimensions(),i=new et(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;e.config.legend.position==="bottom"?r=-t.clwh/1.8:e.config.legend.position==="top"&&(r=a.height+s.height+e.config.title.margin+e.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var e=this.w,t=this.legendHelpers.getLegendDimensions(),i=0;e.config.legend.position==="left"&&(i=20),e.config.legend.position==="right"&&(i=e.globals.svgWidth-t.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(e){var t=this.w,i=e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker");if(t.config.chart.type==="heatmap"||this.isBarsDistributed){if(i){var a=parseInt(e.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new Le(this.ctx).highlightRangeInSeries(e,e.target)}}else!e.target.classList.contains("apexcharts-inactive-legend")&&i&&new Le(this.ctx).toggleSeriesOnHover(e,e.target)}},{key:"onLegendClick",value:function(e){var t=this.w;if(!t.config.legend.customLegendItems.length&&(e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(e.target.getAttribute("rel"),10)-1,a=e.target.getAttribute("data:collapsed")==="true",s=this.w.config.chart.events.legendClick;typeof s=="function"&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;typeof r=="function"&&e.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),t.config.chart.type!=="treemap"&&t.config.chart.type!=="heatmap"&&!this.isBarsDistributed&&t.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),y}(),Vt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=t.globals.minX,this.maxX=t.globals.maxX}return I(y,[{key:"createToolbar",value:function(){var e=this,t=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=t.config.chart.toolbar.offsetY+"px",a.style.right=3-t.config.chart.toolbar.offsetX+"px",t.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s - - - -`),n("zoomOut",this.elZoomOut,` - - - -`);var o=function(d){e.t[d]&&t.config.chart[d].enabled&&r.push({el:d==="zoom"?e.elZoom:e.elSelection,icon:typeof e.t[d]=="string"?e.t[d]:d==="zoom"?` - - - -`:` - - -`,title:e.localeValues[d==="zoom"?"selectionZoom":"selection"],class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(d,"-icon")})};o("zoom"),o("selection"),this.t.pan&&t.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:typeof this.t.pan=="string"?this.t.pan:` - - - - - - - -`,title:this.localeValues.pan,class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,` - - -`),this.t.download&&r.push({el:this.elMenuIcon,icon:typeof this.t.download=="string"?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var h=0;hthis.wheelDelay&&(this.executeMouseWheelZoom(i),s.globals.lastWheelExecution=r),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(function(){r-s.globals.lastWheelExecution>a.wheelDelay&&(a.executeMouseWheelZoom(i),s.globals.lastWheelExecution=r)},this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(i){var a,s=this.w;this.minX=s.globals.isRangeBar?s.globals.minY:s.globals.minX,this.maxX=s.globals.isRangeBar?s.globals.maxY:s.globals.maxX;var r=(a=this.gridRect)===null||a===void 0?void 0:a.getBoundingClientRect();if(r){var n,o,h,c=(i.clientX-r.left)/r.width,d=this.minX,u=this.maxX,f=u-d;if(i.deltaY<0){var p=d+c*f;o=p-(n=.5*f)/2,h=p+n/2}else o=d-(n=1.5*f)/2,h=u+n/2;o=Math.max(o,s.globals.initialMinX),h=Math.min(h,s.globals.initialMaxX);var x=.01*(s.globals.initialMaxX-s.globals.initialMinX);if(h-o0&&a.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:i.globals.gridWidth,maxY:i.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var i=this.w,a=this.xyRatios;if(!i.globals.zoomEnabled){if(i.globals.selection!==void 0&&i.globals.selection!==null)this.drawSelectionRect(i.globals.selection);else if(i.config.chart.selection.xaxis.min!==void 0&&i.config.chart.selection.xaxis.max!==void 0){var s=(i.config.chart.selection.xaxis.min-i.globals.minX)/a.xRatio,r=i.globals.gridWidth-(i.globals.maxX-i.config.chart.selection.xaxis.max)/a.xRatio-s;i.globals.isRangeBar&&(s=(i.config.chart.selection.xaxis.min-i.globals.yAxisScale[0].niceMin)/a.invertedYRatio,r=(i.config.chart.selection.xaxis.max-i.config.chart.selection.xaxis.min)/a.invertedYRatio);var n={x:s,y:0,width:r,height:i.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(n),this.makeSelectionRectDraggable(),typeof i.config.chart.events.selection=="function"&&i.config.chart.events.selection(this.ctx,{xaxis:{min:i.config.chart.selection.xaxis.min,max:i.config.chart.selection.xaxis.max},yaxis:{}})}}}},{key:"drawSelectionRect",value:function(i){var a=i.x,s=i.y,r=i.width,n=i.height,o=i.translateX,h=o===void 0?0:o,c=i.translateY,d=c===void 0?0:c,u=this.w,f=this.zoomRect,p=this.selectionRect;if(this.dragged||u.globals.selection!==null){var x={transform:"translate("+h+", "+d+")"};u.globals.zoomEnabled&&this.dragged&&(r<0&&(r=1),f.attr({x:a,y:s,width:r,height:n,fill:u.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":u.config.chart.zoom.zoomedArea.fill.opacity,stroke:u.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":u.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":u.config.chart.zoom.zoomedArea.stroke.opacity}),B.setAttrs(f.node,x)),u.globals.selectionEnabled&&(p.attr({x:a,y:s,width:r>0?r:0,height:n>0?n:0,fill:u.config.chart.selection.fill.color,"fill-opacity":u.config.chart.selection.fill.opacity,stroke:u.config.chart.selection.stroke.color,"stroke-width":u.config.chart.selection.stroke.width,"stroke-dasharray":u.config.chart.selection.stroke.dashArray,"stroke-opacity":u.config.chart.selection.stroke.opacity}),B.setAttrs(p.node,x))}}},{key:"hideSelectionRect",value:function(i){i&&i.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(i){var a=i.context,s=i.zoomtype,r=this.w,n=a,o=this.gridRect.getBoundingClientRect(),h=n.startX-1,c=n.startY,d=!1,u=!1,f=n.clientX-o.left-h,p=n.clientY-o.top-c,x={};return Math.abs(f+h)>r.globals.gridWidth?f=r.globals.gridWidth-h:n.clientX-o.left<0&&(f=h),h>n.clientX-o.left&&(d=!0,f=Math.abs(f)),c>n.clientY-o.top&&(u=!0,p=Math.abs(p)),x=s==="x"?{x:d?h-f:h,y:0,width:f,height:r.globals.gridHeight}:s==="y"?{x:0,y:u?c-p:c,width:r.globals.gridWidth,height:p}:{x:d?h-f:h,y:u?c-p:c,width:f,height:p},n.drawSelectionRect(x),n.selectionDragging("resizing"),x}},{key:"selectionDragging",value:function(i,a){var s=this,r=this.w,n=this.xyRatios,o=this.selectionRect,h=0;i==="resizing"&&(h=30);var c=function(u){return parseFloat(o.node.getAttribute(u))},d={x:c("x"),y:c("y"),width:c("width"),height:c("height")};r.globals.selection=d,typeof r.config.chart.events.selection=="function"&&r.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var u,f,p,x,m=s.gridRect.getBoundingClientRect(),v=o.node.getBoundingClientRect();r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+(v.left-m.left)*n.invertedYRatio,f=r.globals.yAxisScale[0].niceMin+(v.right-m.left)*n.invertedYRatio,p=0,x=1):(u=r.globals.xAxisScale.niceMin+(v.left-m.left)*n.xRatio,f=r.globals.xAxisScale.niceMin+(v.right-m.left)*n.xRatio,p=r.globals.yAxisScale[0].niceMin+(m.bottom-v.bottom)*n.yRatio[0],x=r.globals.yAxisScale[0].niceMax-(v.top-m.top)*n.yRatio[0]);var A={xaxis:{min:u,max:f},yaxis:{min:p,max:x}};r.config.chart.events.selection(s.ctx,A),r.config.chart.brush.enabled&&r.config.chart.events.brushScrolled!==void 0&&r.config.chart.events.brushScrolled(s.ctx,A)},h))}},{key:"selectionDrawn",value:function(i){var a=i.context,s=i.zoomtype,r=this.w,n=a,o=this.xyRatios,h=this.ctx.toolbar;if(n.startX>n.endX){var c=n.startX;n.startX=n.endX,n.endX=c}if(n.startY>n.endY){var d=n.startY;n.startY=n.endY,n.endY=d}var u=void 0,f=void 0;r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+n.startX*o.invertedYRatio,f=r.globals.yAxisScale[0].niceMin+n.endX*o.invertedYRatio):(u=r.globals.xAxisScale.niceMin+n.startX*o.xRatio,f=r.globals.xAxisScale.niceMin+n.endX*o.xRatio);var p=[],x=[];if(r.config.yaxis.forEach(function(C,k){var L=r.globals.seriesYAxisMap[k][0];p.push(r.globals.yAxisScale[k].niceMax-o.yRatio[L]*n.startY),x.push(r.globals.yAxisScale[k].niceMax-o.yRatio[L]*n.endY)}),n.dragged&&(n.dragX>10||n.dragY>10)&&u!==f){if(r.globals.zoomEnabled){var m=z.clone(r.globals.initialConfig.yaxis),v=z.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(u=Math.floor(u),f=Math.floor(f),u<1&&(u=1,f=r.globals.dataPoints),f-u<2&&(f=u+1)),s!=="xy"&&s!=="x"||(v={min:u,max:f}),s!=="xy"&&s!=="y"||m.forEach(function(C,k){m[k].min=x[k],m[k].max=p[k]}),h){var A=h.getBeforeZoomRange(v,m);A&&(v=A.xaxis?A.xaxis:v,m=A.yaxis?A.yaxis:m)}var l={xaxis:v};r.config.chart.group||(l.yaxis=m),n.ctx.updateHelpers._updateOptions(l,!1,n.w.config.chart.animations.dynamicAnimation.enabled),typeof r.config.chart.events.zoomed=="function"&&h.zoomCallback(v,m)}else if(r.globals.selectionEnabled){var g,b=null;g={min:u,max:f},s!=="xy"&&s!=="y"||(b=z.clone(r.config.yaxis)).forEach(function(C,k){b[k].min=x[k],b[k].max=p[k]}),r.globals.selection=n.selection,typeof r.config.chart.events.selection=="function"&&r.config.chart.events.selection(n.ctx,{xaxis:g,yaxis:b})}}}},{key:"panDragging",value:function(i){var a=i.context,s=this.w,r=a;if(s.globals.lastClientPosition.x!==void 0){var n=s.globals.lastClientPosition.x-r.clientX,o=s.globals.lastClientPosition.y-r.clientY;Math.abs(n)>Math.abs(o)&&n>0?this.moveDirection="left":Math.abs(n)>Math.abs(o)&&n<0?this.moveDirection="right":Math.abs(o)>Math.abs(n)&&o>0?this.moveDirection="up":Math.abs(o)>Math.abs(n)&&o<0&&(this.moveDirection="down")}s.globals.lastClientPosition={x:r.clientX,y:r.clientY};var h=s.globals.isRangeBar?s.globals.minY:s.globals.minX,c=s.globals.isRangeBar?s.globals.maxY:s.globals.maxX;s.config.xaxis.convertedCatToNumeric||r.panScrolled(h,c)}},{key:"delayedPanScrolled",value:function(){var i=this.w,a=i.globals.minX,s=i.globals.maxX,r=(i.globals.maxX-i.globals.minX)/2;this.moveDirection==="left"?(a=i.globals.minX+r,s=i.globals.maxX+r):this.moveDirection==="right"&&(a=i.globals.minX-r,s=i.globals.maxX-r),a=Math.floor(a),s=Math.floor(s),this.updateScrolledChart({xaxis:{min:a,max:s}},a,s)}},{key:"panScrolled",value:function(i,a){var s=this.w,r=this.xyRatios,n=z.clone(s.globals.initialConfig.yaxis),o=r.xRatio,h=s.globals.minX,c=s.globals.maxX;s.globals.isRangeBar&&(o=r.invertedYRatio,h=s.globals.minY,c=s.globals.maxY),this.moveDirection==="left"?(i=h+s.globals.gridWidth/15*o,a=c+s.globals.gridWidth/15*o):this.moveDirection==="right"&&(i=h-s.globals.gridWidth/15*o,a=c-s.globals.gridWidth/15*o),s.globals.isRangeBar||(is.globals.initialMaxX)&&(i=h,a=c);var d={xaxis:{min:i,max:a}};s.config.chart.group||(d.yaxis=n),this.updateScrolledChart(d,i,a)}},{key:"updateScrolledChart",value:function(i,a,s){var r=this.w;this.ctx.updateHelpers._updateOptions(i,!1,!1),typeof r.config.chart.events.scrolled=="function"&&r.config.chart.events.scrolled(this.ctx,{xaxis:{min:a,max:s}})}}]),t}(Vt),_t=function(){function y(e){E(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return I(y,[{key:"getNearestValues",value:function(e){var t=e.hoverArea,i=e.elGrid,a=e.clientX,s=e.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,h=n.height,c=o/(r.globals.dataPoints-1),d=h/r.globals.dataPoints,u=this.hasBars();!r.globals.comboCharts&&!u||r.config.xaxis.convertedCatToNumeric||(c=o/r.globals.dataPoints);var f=a-n.left-r.globals.barPadForNumericAxis,p=s-n.top;f<0||p<0||f>o||p>h?(t.classList.remove("hovering-zoom"),t.classList.remove("hovering-pan")):r.globals.zoomEnabled?(t.classList.remove("hovering-pan"),t.classList.add("hovering-zoom")):r.globals.panEnabled&&(t.classList.remove("hovering-zoom"),t.classList.add("hovering-pan"));var x=Math.round(f/c),m=Math.floor(p/d);u&&!r.config.xaxis.convertedCatToNumeric&&(x=Math.ceil(f/c),x-=1);var v=null,A=null,l=r.globals.seriesXvalues.map(function(L){return L.filter(function(R){return z.isNumber(R)})}),g=r.globals.seriesYvalues.map(function(L){return L.filter(function(R){return z.isNumber(R)})});if(r.globals.isXNumeric){var b=this.ttCtx.getElGrid().getBoundingClientRect(),C=f*(b.width/o),k=p*(b.height/h);v=(A=this.closestInMultiArray(C,k,l,g)).index,x=A.j,v!==null&&(l=r.globals.seriesXvalues[v],x=(A=this.closestInArray(C,l)).index)}return r.globals.capturedSeriesIndex=v===null?-1:v,(!x||x<1)&&(x=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=m:r.globals.capturedDataPointIndex=x,{capturedSeries:v,j:r.globals.isBarHorizontal?m:x,hoverX:f,hoverY:p}}},{key:"closestInMultiArray",value:function(e,t,i,a){var s=this.w,r=0,n=null,o=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var h=i[r][0],c=Math.abs(e-h);if(i.forEach(function(f){f.forEach(function(p,x){var m=Math.abs(e-p);m<=c&&(c=m,o=x)})}),o!==-1){var d=a[r][o],u=Math.abs(t-d);n=r,a.forEach(function(f,p){var x=Math.abs(t-f[o]);x<=u&&(u=x,n=p)})}return{index:n,j:o}}},{key:"getFirstActiveXArray",value:function(e){for(var t=this.w,i=0,a=e.map(function(r,n){return r.length>0?n:-1}),s=0;s0)for(var a=0;a *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(e=U(e)).sort(function(i,a){var s=Number(i.getAttribute("data:realIndex")),r=Number(a.getAttribute("data:realIndex"));return rs?-1:0});var t=[];return e.forEach(function(i){t.push(i.querySelector(".apexcharts-marker"))}),t}},{key:"hasMarkers",value:function(e){return this.getElMarkers(e).length>0}},{key:"getPathFromPoint",value:function(e,t){var i=Number(e.getAttribute("cx")),a=Number(e.getAttribute("cy")),s=e.getAttribute("shape");return new B(this.ctx).getMarkerPath(i,a,s,t)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(e){var t=this.w,i=t.config.markers.hover.size;return i===void 0&&(i=t.globals.markers.size[e]+t.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(e){var t=this.w,i=this.ttCtx;i.allTooltipSeriesGroups.length===0&&(i.allTooltipSeriesGroups=t.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(T.attrs.name,""),R+="
".concat(T.val,"
")}),l.innerHTML=L+"",g.innerHTML=R+""};n?h.globals.seriesGoals[t][i]&&Array.isArray(h.globals.seriesGoals[t][i])?b():(l.innerHTML="",g.innerHTML=""):b()}else l.innerHTML="",g.innerHTML="";if(x!==null&&(a[t].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=h.config.tooltip.z.title,a[t].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=x!==void 0?x:""),n&&m[0]){if(h.config.tooltip.hideEmptySeries){var C=a[t].querySelector(".apexcharts-tooltip-marker"),k=a[t].querySelector(".apexcharts-tooltip-text");parseFloat(d)==0?(C.style.display="none",k.style.display="none"):(C.style.display="block",k.style.display="block")}d==null||h.globals.ancillaryCollapsedSeriesIndices.indexOf(t)>-1||h.globals.collapsedSeriesIndices.indexOf(t)>-1||Array.isArray(c.tConfig.enabledOnSeries)&&c.tConfig.enabledOnSeries.indexOf(t)===-1?m[0].parentNode.style.display="none":m[0].parentNode.style.display=h.config.tooltip.items.display}else Array.isArray(c.tConfig.enabledOnSeries)&&c.tConfig.enabledOnSeries.indexOf(t)===-1&&(m[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(e,t){var i=this.w;if(e)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var a=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(t));a&&(a.classList.add("apexcharts-active"),a.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(e){var t=e.i,i=e.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",n="",o=null,h=null,c={series:a.globals.series,seriesIndex:t,dataPointIndex:i,w:a},d=a.globals.ttZFormatter;i===null?h=a.globals.series[t]:a.globals.isXNumeric&&a.config.chart.type!=="treemap"?(r=s[t][i],s[t].length===0&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=a.globals.labels[i]!==void 0?a.globals.labels[i]:"";var u=r;return a.globals.isXNumeric&&a.config.xaxis.type==="datetime"?r=new Ve(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,u,u,{i:void 0,dateFormatter:new me(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](u,c):a.globals.xLabelFormatter(u,c),a.config.tooltip.x.formatter!==void 0&&(r=a.globals.ttKeyFormatter(u,c)),a.globals.seriesZ.length>0&&a.globals.seriesZ[t].length>0&&(o=d(a.globals.seriesZ[t][i],a)),n=typeof a.config.xaxis.tooltip.formatter=="function"?a.globals.xaxisTooltipFormatter(u,c):r,{val:Array.isArray(h)?h.join(" "):h,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(e){var t=e.i,i=e.j,a=e.y1,s=e.y2,r=e.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[t]&&(o=o[t]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:t,dataPointIndex:i,y1:a,y2:s,w:r})}}]),y}(),jt=function(){function y(e){E(this,y),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return I(y,[{key:"moveXCrosshairs",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=e-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(t!==null&&(r=a.globals.gridWidth/n*t),s===null||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;a.config.xaxis.crosshairs.width!=="tickWidth"&&a.config.xaxis.crosshairs.width!=="barWidth"||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(e){var t=this.ttCtx;t.ycrosshairs!==null&&B.setAttrs(t.ycrosshairs,{y1:e,y2:e}),t.ycrosshairsHidden!==null&&B.setAttrs(t.ycrosshairsHidden,{y1:e,y2:e})}},{key:"moveXAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;if(i.xaxisTooltip!==null&&i.xcrosshairsWidth!==0){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+t.config.xaxis.tooltip.offsetY+t.globals.translateY+1+t.config.xaxis.offsetY;if(e-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(e)){e+=t.globals.translateX;var s;s=new B(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=e+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;i.yaxisTTEls===null&&(i.yaxisTTEls=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=t.globals.translateY+a,r=i.yaxisTTEls[e].getBoundingClientRect().height,n=t.globals.translateYAxisX[e]-2;t.config.yaxis[e].opposite&&(n-=26),s-=r/2,t.globals.ignoreYAxisIndexes.indexOf(e)===-1?(i.yaxisTTEls[e].classList.add("apexcharts-active"),i.yaxisTTEls[e].style.top=s+"px",i.yaxisTTEls[e].style.left=n+t.config.yaxis[e].tooltip.offsetX+"px"):i.yaxisTTEls[e].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=i!==null?parseFloat(i):1,h=parseFloat(e)+o+5,c=parseFloat(t)+o/2;if(h>a.globals.gridWidth/2&&(h=h-n.ttWidth-o-10),h>a.globals.gridWidth-n.ttWidth-10&&(h=a.globals.gridWidth-n.ttWidth),h<-20&&(h=-20),a.config.tooltip.followCursor){var d=s.getElGrid().getBoundingClientRect();(h=s.e.clientX-d.left)>a.globals.gridWidth/2&&(h-=s.tooltipRect.ttWidth),(c=s.e.clientY+a.globals.translateY-d.top)>a.globals.gridHeight/2&&(c-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+c>a.globals.gridHeight&&(c=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(h)||(h+=a.globals.translateX,r.style.left=h+"px",r.style.top=c+"px")}},{key:"moveMarkers",value:function(e,t){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[e]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-marker")),r=0;r0){var p=f.getAttribute("shape"),x=h.getMarkerPath(s,r,p,1.5*d);f.setAttribute("d",x)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,d)}}},{key:"moveDynamicPointsOnHover",value:function(e){var t,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Le(this.ctx),h=new B(this.ctx);t=o.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var c=i.tooltipUtil.getHoverMarkerSize(t);n[t]&&(s=n[t][e][0],r=n[t][e][1]);var d=i.tooltipUtil.getAllMarkers();if(d!==null)for(var u=0;u0){var A=h.getMarkerPath(s,p,m,c);d[u].setAttribute("d",A)}else d[u].setAttribute("d","")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,c)}},{key:"moveStickyTooltipOverBars",value:function(e,t){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Le(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(e,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"']"));n||typeof t!="number"||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,`'], - .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], - .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], - .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,"']")));var o=n?parseFloat(n.getAttribute("cx")):0,h=n?parseFloat(n.getAttribute("cy")):0,c=n?parseFloat(n.getAttribute("barWidth")):0,d=a.getElGrid().getBoundingClientRect(),u=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!u&&(o-=s%2!=0?c/2:0),n&&u&&i.globals.comboCharts&&(o-=c/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[e-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[e]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?h-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?h=a.e.clientY-d.top-a.tooltipRect.ttHeight/2:h+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(h=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,h||i.globals.gridHeight)}}]),y}(),na=function(){function y(e){E(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new jt(e)}return I(y,[{key:"drawDynamicPoints",value:function(){var e=this.w,t=new B(this.ctx),i=new Ne(this.ctx),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=U(a),e.config.chart.stacked&&a.sort(function(d,u){return parseFloat(d.getAttribute("data:realIndex"))-parseFloat(u.getAttribute("data:realIndex"))});for(var s=0;s2&&arguments[2]!==void 0?arguments[2]:null,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,s=this.w;s.config.chart.type!=="bubble"&&this.newPointSize(e,t);var r=t.getAttribute("cx"),n=t.getAttribute("cy");if(i!==null&&a!==null&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(s.config.chart.type==="radar"){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(e){for(var t=this.w,i=this,a=this.ttCtx,s=e,r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=t.config.markers.hover.size,o=0;o=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(e[t],i);e[t].setAttribute("d",a)}else e[t].setAttribute("d","M0,0")}}}]),y}(),oa=function(){function y(e){E(this,y),this.w=e.w;var t=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.config.chart.type==="rangeBar"&&t.config.plotOptions.bar.rangeBarGroupRows}return I(y,[{key:"getAttr",value:function(e,t){return parseFloat(e.target.getAttribute(t))}},{key:"handleHeatTreeTooltip",value:function(e){var t=e.e,i=e.opt,a=e.x,s=e.y,r=e.type,n=this.ttCtx,o=this.w;if(t.target.classList.contains("apexcharts-".concat(r,"-rect"))){var h=this.getAttr(t,"i"),c=this.getAttr(t,"j"),d=this.getAttr(t,"cx"),u=this.getAttr(t,"cy"),f=this.getAttr(t,"width"),p=this.getAttr(t,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:h,j:c,shared:!1,e:t}),o.globals.capturedSeriesIndex=h,o.globals.capturedDataPointIndex=c,a=d+n.tooltipRect.ttWidth/2+f,s=u+n.tooltipRect.ttHeight/2-p/2,n.tooltipPosition.moveXCrosshairs(d+f/2),a>o.globals.gridWidth/2&&(a=d-n.tooltipRect.ttWidth/2+f),n.w.config.tooltip.followCursor){var x=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-x.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-x.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(e){var t,i,a=e.e,s=e.opt,r=e.x,n=e.y,o=this.w,h=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var c=parseInt(s.paths.getAttribute("cx"),10),d=parseInt(s.paths.getAttribute("cy"),10),u=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),t=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,h.intersect){var f=z.findAncestor(s.paths,"apexcharts-series");f&&(t=parseInt(f.getAttribute("data:realIndex"),10))}if(h.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:t,j:i,shared:!h.showOnIntersect&&o.config.tooltip.shared,e:a}),a.type==="mouseup"&&h.markerClick(a,t,i),o.globals.capturedSeriesIndex=t,o.globals.capturedDataPointIndex=i,r=c,n=d+o.globals.translateY-1.4*h.tooltipRect.ttHeight,h.w.config.tooltip.followCursor){var p=h.getElGrid().getBoundingClientRect();n=h.e.clientY+o.globals.translateY-p.top}u<0&&(n=d),h.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(e){var t,i,a=e.e,s=e.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),h=0,c=0,d=0,u=this.getBarTooltipXY({e:a,opt:s});t=u.i;var f=u.j;r.globals.capturedSeriesIndex=t,r.globals.capturedDataPointIndex=f,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(c=u.x,d=u.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[t]:r.config.stroke.width,h=c):r.globals.comboCharts||r.config.tooltip.shared||(h/=2),isNaN(d)&&(d=r.globals.svgHeight-n.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10);if(r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed,c+n.tooltipRect.ttWidth>r.globals.gridWidth?c-=n.tooltipRect.ttWidth:c<0&&(c=0),n.w.config.tooltip.followCursor){var x=n.getElGrid().getBoundingClientRect();d=n.e.clientY-x.top}n.tooltip===null&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(h+i/2):n.tooltipPosition.moveXCrosshairs(h)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(d=d+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=c+r.globals.translateX+"px",o.style.top=d+"px")}},{key:"getBarTooltipXY",value:function(e){var t=this,i=e.e,a=e.opt,s=this.w,r=null,n=this.ttCtx,o=0,h=0,c=0,d=0,u=0,f=i.target.classList;if(f.contains("apexcharts-bar-area")||f.contains("apexcharts-candlestick-area")||f.contains("apexcharts-boxPlot-area")||f.contains("apexcharts-rangebar-area")){var p=i.target,x=p.getBoundingClientRect(),m=a.elGrid.getBoundingClientRect(),v=x.height;u=x.height;var A=x.width,l=parseInt(p.getAttribute("cx"),10),g=parseInt(p.getAttribute("cy"),10);d=parseFloat(p.getAttribute("barWidth"));var b=i.type==="touchmove"?i.touches[0].clientX:i.clientX;r=parseInt(p.getAttribute("j"),10),o=parseInt(p.parentNode.getAttribute("rel"),10)-1;var C=p.getAttribute("data-range-y1"),k=p.getAttribute("data-range-y2");s.globals.comboCharts&&(o=parseInt(p.parentNode.getAttribute("data:realIndex"),10));var L=function(T){return s.globals.isXNumeric?l-A/2:t.isVerticalGroupedRangeBar?l+A/2:l-n.dataPointsDividedWidth+A/2},R=function(){return g-n.dataPointsDividedHeight+v/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:C?parseInt(C,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(h=b-m.left+15,c=R()):(h=L(),c=i.clientY-m.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((h=l)0&&i.setAttribute("width",t.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var e=this.w,t=this.ttCtx;t.ycrosshairs=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),t.ycrosshairsHidden=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(e,t,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[e];if(a.yaxisTooltips[e]&&n.length>0){var o=r.yLabelFormatters[e],h=a.getElGrid().getBoundingClientRect(),c=n[0],d=0;i.yRatio.length>1&&(d=c);var u=(t-h.top)*i.yRatio[d],f=r.maxYArr[c]-r.minYArr[c],p=r.minYArr[c]+(f-u);s.config.yaxis[e].reversed&&(p=r.maxYArr[c]-(f-u)),a.tooltipPosition.moveYCrosshairs(t-h.top),a.yaxisTooltipText[e].innerHTML=o(p),a.tooltipPosition.moveYAxisTooltip(e)}}}]),y}(),Ut=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.tConfig=t.config.tooltip,this.tooltipUtil=new _t(this),this.tooltipLabels=new ra(this),this.tooltipPosition=new jt(this),this.marker=new na(this),this.intersect=new oa(this),this.axesTooltip=new la(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!t.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return I(y,[{key:"getElTooltip",value:function(e){return e||(e=this),e.w.globals.dom.baseEl?e.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(e){var t=this.w;this.xyRatios=e,this.isXAxisTooltipEnabled=t.config.xaxis.tooltip.enabled&&t.globals.axisCharts,this.yaxisTooltips=t.config.yaxis.map(function(r,n){return!!(r.show&&r.tooltip.enabled&&t.globals.axisCharts)}),this.allTooltipSeriesGroups=[],t.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),t.config.tooltip.cssClass&&i.classList.add(t.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),t.globals.dom.elWrap.appendChild(i),t.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Ue(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!t.globals.comboCharts&&!this.tConfig.intersect&&t.config.chart.type!=="rangeBar"||this.tConfig.shared||(this.showOnIntersect=!0),t.config.markers.size!==0&&t.globals.markers.largestSize!==0||this.marker.drawDynamicPoints(this),t.globals.collapsedSeries.length!==t.globals.series.length){this.dataPointsDividedHeight=t.globals.gridHeight/t.globals.dataPoints,this.dataPointsDividedWidth=t.globals.gridWidth/t.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||t.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=t.globals.series.length;(t.globals.xyCharts||t.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:t.globals.series.length),this.legendLabels=t.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(e){for(var t=this,i=this.w,a=[],s=this.getElTooltip(),r=function(o){var h=document.createElement("div");h.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(o)),h.style.order=i.config.tooltip.inverseOrder?e-o:o+1;var c=document.createElement("span");c.classList.add("apexcharts-tooltip-marker"),c.style.backgroundColor=i.globals.colors[o],h.appendChild(c);var d=document.createElement("div");d.classList.add("apexcharts-tooltip-text"),d.style.fontFamily=t.tConfig.style.fontFamily||i.config.chart.fontFamily,d.style.fontSize=t.tConfig.style.fontSize,["y","goals","z"].forEach(function(u){var f=document.createElement("div");f.classList.add("apexcharts-tooltip-".concat(u,"-group"));var p=document.createElement("span");p.classList.add("apexcharts-tooltip-text-".concat(u,"-label")),f.appendChild(p);var x=document.createElement("span");x.classList.add("apexcharts-tooltip-text-".concat(u,"-value")),f.appendChild(x),d.appendChild(f)}),h.appendChild(d),s.appendChild(h),a.push(h)},n=0;n0&&this.addPathsEventListeners(p,d),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(d)}}},{key:"drawFixedTooltipRect",value:function(){var e=this.w,t=this.getElTooltip(),i=t.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(r=r+e.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+e.globals.svgHeight-s-10),t.style.left=r+"px",t.style.top=n+"px",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(e){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(t,e)}},{key:"addPathsEventListeners",value:function(e,t){for(var i=this,a=function(r){var n={paths:e[r],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(o){return e[r].addEventListener(o,i.onSeriesHover.bind(i,n),{capture:!1,passive:!0})})},s=0;s=100?this.seriesHover(e,t):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout(function(){i.seriesHover(e,t)},100-a))}},{key:"seriesHover",value:function(e,t){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||s.globals.dataPoints===0)||(a.length?a.forEach(function(r){var n=i.getElTooltip(r),o={paths:e.paths,tooltipEl:n,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:r.w.globals.tooltip.ttItems};r.w.globals.minX===i.w.globals.minX&&r.w.globals.maxX===i.w.globals.maxX&&r.w.globals.tooltip.seriesHoverByContext({chartCtx:r,ttCtx:r.w.globals.tooltip,opt:o,e:t})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:e,e:t}))}},{key:"seriesHoverByContext",value:function(e){var t=e.chartCtx,i=e.ttCtx,a=e.opt,s=e.e,r=t.w,n=this.getElTooltip(t);n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared&&this.tConfig.onDatasetHover.highlightDataSeries&&new Le(t).toggleSeriesOnHover(s,s.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(e){var t,i,a=e.e,s=e.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o=a.type==="touchmove"?a.touches[0].clientX:a.clientX,h=a.type==="touchmove"?a.touches[0].clientY:a.clientY;if(this.clientY=h,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,hn.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var c=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(c)<0)return void this.handleMouseOut(s)}var d=this.getElTooltip(),u=this.getElXCrosshairs(),f=[];r.config.chart.group&&(f=this.ctx.getSyncedCharts());var p=r.globals.xyCharts||r.config.chart.type==="bar"&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(a.type==="mousemove"||a.type==="touchmove"||a.type==="mouseup"){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;u!==null&&u.classList.add("apexcharts-active");var x=this.yaxisTooltips.filter(function(A){return A===!0});if(this.ycrosshairs!==null&&x.length&&this.ycrosshairs.classList.add("apexcharts-active"),p&&!this.showOnIntersect||f.length>1)this.handleStickyTooltip(a,o,h,s);else if(r.config.chart.type==="heatmap"||r.config.chart.type==="treemap"){var m=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:t,y:i,type:r.config.chart.type});t=m.x,i=m.y,d.style.left=t+"px",d.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:t,y:i});if(this.yaxisTooltips.length)for(var v=0;vh.width)this.handleMouseOut(a);else if(o!==null)this.handleStickyCapturedSeries(e,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var c=s.globals.series.findIndex(function(d,u){return!s.globals.collapsedSeriesIndices.includes(u)});this.create(e,this,c,n,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(e,t,i,a){var s=this.w;if(!this.tConfig.shared&&s.globals.series[t][a]===null)return void this.handleMouseOut(i);if(s.globals.series[t][a]!==void 0)this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(e,this,t,a,i.ttItems):this.create(e,this,t,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex(function(n,o){return!s.globals.collapsedSeriesIndices.includes(o)});this.create(e,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var e=this.w,t=new B(this.ctx),i=e.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&arguments[5]!==void 0?arguments[5]:null,k=this.w,L=t;e.type==="mouseup"&&this.markerClick(e,i,a),C===null&&(C=this.tConfig.shared);var R=this.tooltipUtil.hasMarkers(i),T=this.tooltipUtil.getElBars();if(k.config.legend.tooltipHoverFormatter){var Y=k.config.legend.tooltipHoverFormatter,W=Array.from(this.legendLabels);W.forEach(function(ge){var fe=ge.getAttribute("data:default-text");ge.innerHTML=decodeURIComponent(fe)});for(var O=0;O0?L.marker.enlargePoints(a):L.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(T),this.barSeriesHeight>0)){var te=new B(this.ctx),ee=k.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var re=0;re0&&t.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(f-=c*k)),C&&(f=f+u.height/2-A/2-2);var R=t.globals.series[i][a]<0,T=o;switch(this.barCtx.isReversed&&(T=o+(R?d:-d)),m.position){case"center":p=C?R?T-d/2+g:T+d/2-g:R?T-d/2+u.height/2+g:T+d/2+u.height/2-g;break;case"bottom":p=C?R?T-d+g:T+d-g:R?T-d+u.height+A+g:T+d-u.height/2+A-g;break;case"top":p=C?R?T+g:T-g:R?T-u.height/2-g:T+u.height+g}if(this.barCtx.lastActiveBarSerieIndex===s&&v.enabled){var Y=new B(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),x.fontSize);r=R?T-Y.height/2-g-v.offsetY+18:T+Y.height+g+v.offsetY-18;var W=L;n=b+(t.globals.isXNumeric?-c*t.globals.barGroups.length/2:t.globals.barGroups.length*c/2-(t.globals.barGroups.length-1)*c-W)+v.offsetX}return t.config.chart.stacked||(p<0?p=0+A:p+u.height/3>t.globals.gridHeight&&(p=t.globals.gridHeight-A)),{bcx:h,bcy:o,dataLabelsX:f,dataLabelsY:p,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(e){var t=this.w,i=e.x,a=e.i,s=e.j,r=e.realIndex,n=e.bcy,o=e.barHeight,h=e.barWidth,c=e.textRects,d=e.dataLabelsX,u=e.strokeWidth,f=e.dataLabelsConfig,p=e.barDataLabelsConfig,x=e.barTotalDataLabelsConfig,m=e.offX,v=e.offY,A=t.globals.gridHeight/t.globals.dataPoints;h=Math.abs(h);var l,g,b=n-(this.barCtx.isRangeBar?0:A)+o/2+c.height/2+v-3,C="start",k=t.globals.series[a][s]<0,L=i;switch(this.barCtx.isReversed&&(L=i+(k?-h:h),C=k?"start":"end"),p.position){case"center":d=k?L+h/2-m:Math.max(c.width/2,L-h/2)+m;break;case"bottom":d=k?L+h-u-m:L-h+u+m;break;case"top":d=k?L-u-m:L-u+m}if(this.barCtx.lastActiveBarSerieIndex===r&&x.enabled){var R=new B(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),f.fontSize);k?(l=L-u-m-x.offsetX,C="end"):l=L+m+x.offsetX+(this.barCtx.isReversed?-(h+u):u),g=b-c.height/2+R.height/2+x.offsetY+u}return t.config.chart.stacked||(f.textAnchor==="start"?d-c.width<0?d=k?c.width+u:u:d+c.width>t.globals.gridWidth&&(d=k?t.globals.gridWidth-u:t.globals.gridWidth-c.width-u):f.textAnchor==="middle"?d-c.width/2<0?d=c.width/2+u:d+c.width/2>t.globals.gridWidth&&(d=t.globals.gridWidth-c.width/2-u):f.textAnchor==="end"&&(d<1?d=c.width+u:d+1>t.globals.gridWidth&&(d=t.globals.gridWidth-c.width-u))),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:b,totalDataLabelsX:l,totalDataLabelsY:g,totalDataLabelsAnchor:C}}},{key:"drawCalculatedDataLabels",value:function(e){var t=e.x,i=e.y,a=e.val,s=e.i,r=e.j,n=e.textRects,o=e.barHeight,h=e.barWidth,c=e.dataLabelsConfig,d=this.w,u="rotate(0)";d.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(u="rotate(-90, ".concat(t,", ").concat(i,")"));var f=new He(this.barCtx.ctx),p=new B(this.barCtx.ctx),x=c.formatter,m=null,v=d.globals.collapsedSeriesIndices.indexOf(s)>-1;if(c.enabled&&!v){m=p.group({class:"apexcharts-data-labels",transform:u});var A="";a!==void 0&&(A=x(a,V(V({},d),{},{seriesIndex:s,dataPointIndex:r,w:d}))),!a&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(A="");var l=d.globals.series[s][r]<0,g=d.config.plotOptions.bar.dataLabels.position;d.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(g==="top"&&(c.textAnchor=l?"end":"start"),g==="center"&&(c.textAnchor="middle"),g==="bottom"&&(c.textAnchor=l?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&hMath.abs(h)&&(A=""):n.height/1.6>Math.abs(o)&&(A=""));var b=V({},c);this.barCtx.isHorizontal&&a<0&&(c.textAnchor==="start"?b.textAnchor="end":c.textAnchor==="end"&&(b.textAnchor="start")),f.plotDataLabelsText({x:t,y:i,text:A,i:s,j:r,parent:m,dataLabelsConfig:b,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return m}},{key:"drawTotalDataLabels",value:function(e){var t=e.x,i=e.y,a=e.val,s=e.realIndex,r=e.textAnchor,n=e.barTotalDataLabelsConfig;this.w;var o,h=new B(this.barCtx.ctx);return n.enabled&&t!==void 0&&i!==void 0&&this.barCtx.lastActiveBarSerieIndex===s&&(o=h.drawText({x:t,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),y}(),ca=function(){function y(e){E(this,y),this.w=e.w,this.barCtx=e}return I(y,[{key:"initVariables",value:function(e){var t=this.w;this.barCtx.series=e,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=e[i].length),t.globals.isXNumeric)for(var a=0;at.globals.minX&&t.globals.seriesX[i][a]0&&(a=h.globals.minXDiff/u),(r=a/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}String(this.barCtx.barOptions.columnWidth).indexOf("%")===-1&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e=h.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return h.globals.barHeight=s,h.globals.barWidth=r,{x:e,y:t,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:"initializeStackedPrevVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].prevY=[],e[t].prevX=[],e[t].prevYF=[],e[t].prevXF=[],e[t].prevYVal=[],e[t].prevXVal=[]})}},{key:"initializeStackedXYVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].xArrj=[],e[t].xArrjF=[],e[t].xArrjVal=[],e[t].yArrj=[],e[t].yArrjF=[],e[t].yArrjVal=[]})}},{key:"getPathFillColor",value:function(e,t,i,a){var s,r,n,o,h,c=this.w,d=this.barCtx.ctx.fill,u=null,f=this.barCtx.barOptions.distributed?i:t;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(function(p){e[t][i]>=p.from&&e[t][i]<=p.to&&(u=p.color)}),(s=c.config.series[t].data[i])!==null&&s!==void 0&&s.fillColor&&(u=c.config.series[t].data[i].fillColor),d.fillPath({seriesNumber:this.barCtx.barOptions.distributed?f:a,dataPointIndex:i,color:u,value:e[t][i],fillConfig:(r=c.config.series[t].data[i])===null||r===void 0?void 0:r.fill,fillType:(n=c.config.series[t].data[i])!==null&&n!==void 0&&(o=n.fill)!==null&&o!==void 0&&o.type?(h=c.config.series[t].data[i])===null||h===void 0?void 0:h.fill.type:Array.isArray(c.config.fill.type)?c.config.fill.type[a]:c.config.fill.type})}},{key:"getStrokeWidth",value:function(e,t,i){var a=0,s=this.w;return this.barCtx.series[e][t]===void 0||this.barCtx.series[e][t]===null?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(e){var t=this.w,i=!1;return t.config.plotOptions.bar.borderRadius>0&&(t.config.chart.stacked&&t.config.plotOptions.bar.borderRadiusWhenStacked==="last"?this.barCtx.lastActiveBarSerieIndex===e&&(i=!0):i=!0),i}},{key:"barBackground",value:function(e){var t=e.j,i=e.i,a=e.x1,s=e.x2,r=e.y1,n=e.y2,o=e.elSeries,h=this.w,c=new B(this.barCtx.ctx),d=new Le(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&d===i){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);var u=this.barCtx.barOptions.colors.backgroundBarColors[t],f=c.drawRect(a!==void 0?a:0,r!==void 0?r:0,s!==void 0?s:h.globals.gridWidth,n!==void 0?n:h.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,u,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(f),f.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(e){var t,i=e.barWidth,a=e.barXPosition,s=e.y1,r=e.y2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,u=e.w,f=new B(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var p=i,x=a;(t=u.config.series[h].data[d])!==null&&t!==void 0&&t.columnWidthOffset&&(x=a-u.config.series[h].data[d].columnWidthOffset/2,p=i+u.config.series[h].data[d].columnWidthOffset);var m=n/2,v=x+m,A=x+p-m;s+=.001-m,r+=.001+m;var l=f.move(v,s),g=f.move(v,s),b=f.line(A,s);if(u.globals.previousPaths.length>0&&(g=this.barCtx.getPreviousPath(h,d,!1)),l=l+f.line(v,r)+f.line(A,r)+f.line(A,s)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),g=g+f.line(v,s)+b+b+b+b+b+f.line(v,s)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),this.shouldApplyRadius(h)&&(l=f.roundPathCorners(l,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[o]).yArrj.push(r-m),C.yArrjF.push(Math.abs(s-r+n)),C.yArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:g}}},{key:"getBarpaths",value:function(e){var t,i=e.barYPosition,a=e.barHeight,s=e.x1,r=e.x2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,u=e.w,f=new B(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var p=i,x=a;(t=u.config.series[h].data[d])!==null&&t!==void 0&&t.barHeightOffset&&(p=i-u.config.series[h].data[d].barHeightOffset/2,x=a+u.config.series[h].data[d].barHeightOffset);var m=n/2,v=p+m,A=p+x-m;s+=.001-m,r+=.001+m;var l=f.move(s,v),g=f.move(s,v);u.globals.previousPaths.length>0&&(g=this.barCtx.getPreviousPath(h,d,!1));var b=f.line(s,A);if(l=l+f.line(r,v)+f.line(r,A)+b+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),g=g+f.line(s,v)+b+b+b+b+b+f.line(s,v)+(u.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z"),this.shouldApplyRadius(h)&&(l=f.roundPathCorners(l,u.config.plotOptions.bar.borderRadius)),u.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[o]).xArrj.push(r+m),C.xArrjF.push(Math.abs(s-r)),C.xArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:g}}},{key:"checkZeroSeries",value:function(e){for(var t=e.series,i=this.w,a=0;a2&&arguments[2]!==void 0)||arguments[2]?t:null;return e!=null&&(i=t+e/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?e/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(e,t,i){var a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3]?t:null;return e!=null&&(a=t-e/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?e/this.barCtx.yRatio[i]:0)),a}},{key:"getGoalValues",value:function(e,t,i,a,s,r){var n=this,o=this.w,h=[],c=function(f,p){var x;h.push((N(x={},e,e==="x"?n.getXForValue(f,t,!1):n.getYForValue(f,i,r,!1)),N(x,"attrs",p),x))};if(o.globals.seriesGoals[a]&&o.globals.seriesGoals[a][s]&&Array.isArray(o.globals.seriesGoals[a][s])&&o.globals.seriesGoals[a][s].forEach(function(f){c(f.value,f)}),this.barCtx.barOptions.isDumbbell&&o.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:o.globals.colors,u={strokeHeight:e==="x"?0:o.globals.markers.size[a],strokeWidth:e==="x"?o.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(o.globals.seriesRangeStart[a][s],u),c(o.globals.seriesRangeEnd[a][s],V(V({},u),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:"drawGoalLine",value:function(e){var t=e.barXPosition,i=e.barYPosition,a=e.goalX,s=e.goalY,r=e.barWidth,n=e.barHeight,o=new B(this.barCtx.ctx),h=o.group({className:"apexcharts-bar-goals-groups"});h.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:h.node}),h.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var c=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(function(d){if(d.x>=-1&&d.x<=o.w.globals.gridWidth+1){var u=d.attrs.strokeHeight!==void 0?d.attrs.strokeHeight:n/2,f=i+u+n/2;c=o.drawLine(d.x,f-2*u,d.x,f,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeWidth?d.attrs.strokeWidth:2,d.attrs.strokeLineCap),h.add(c)}}):Array.isArray(s)&&s.forEach(function(d){if(d.y>=-1&&d.y<=o.w.globals.gridHeight+1){var u=d.attrs.strokeWidth!==void 0?d.attrs.strokeWidth:r/2,f=t+u+r/2;c=o.drawLine(f-2*u,d.y,f,d.y,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeHeight?d.attrs.strokeHeight:2,d.attrs.strokeLineCap),h.add(c)}}),h}},{key:"drawBarShadow",value:function(e){var t=e.prevPaths,i=e.currPaths,a=e.color,s=this.w,r=t.x,n=t.x1,o=t.barYPosition,h=i.x,c=i.x1,d=i.barYPosition,u=o+i.barHeight,f=new B(this.barCtx.ctx),p=new z,x=f.move(n,u)+f.line(r,u)+f.line(h,d)+f.line(c,d)+f.line(n,u)+(s.config.plotOptions.bar.borderRadiusApplication==="around"?" Z":" z");return f.drawPath({d:x,fill:p.shadeColor(.5,z.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadows"})}},{key:"getZeroValueEncounters",value:function(e){var t,i=e.i,a=e.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map(function(o,h){return h}):((t=s.globals.columnSeries)===null||t===void 0?void 0:t.i.map(function(o){return o}))||[]).forEach(function(o){var h=s.globals.seriesPercent[o][a];h&&r++,o-1}),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),y}(),Be=function(){function y(e,t){E(this,y),this.ctx=e,this.w=e.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.isRangeBar=i.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&i.globals.seriesRange.length&&i.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=t,this.xyRatios!==null&&(this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.invertedXRatio=t.invertedXRatio,this.invertedYRatio=t.invertedYRatio,this.baseLineY=t.baseLineY,this.baseLineInvertedY=t.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var a=new Le(this.ctx);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var s=a.getBarSeriesIndices(),r=new de(this.ctx);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map(function(n,o){return s.indexOf(o)===-1?o:-1}).filter(function(n){return n!==-1})),this.barHelpers=new ca(this)}return I(y,[{key:"draw",value:function(e,t){var i=this.w,a=new B(this.ctx),s=new de(this.ctx,i);e=s.getLogSeries(e),this.series=e,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(e);var r=a.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,o=0;n0&&(this.visibleI=this.visibleI+1);var g=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[v],this.translationsIndex=v);var C=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var k=this.barHelpers.initialPositions();p=k.y,g=k.barHeight,c=k.yDivision,u=k.zeroW,f=k.x,b=k.barWidth,h=k.xDivision,d=k.zeroH,this.horizontal||m.push(f+b/2);var L=a.group({class:"apexcharts-datalabels","data:realIndex":v});i.globals.delayedElements.push({el:L.node}),L.node.classList.add("apexcharts-element-hidden");var R=a.group({class:"apexcharts-bar-goals-markers"}),T=a.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:T.node}),T.node.classList.add("apexcharts-element-hidden");for(var Y=0;Y0){var q=this.barHelpers.drawBarShadow({color:typeof j=="string"&&(j==null?void 0:j.indexOf("url"))===-1?j:z.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:O});q&&T.add(q)}this.pathArr.push(O);var J=this.barHelpers.drawGoalLine({barXPosition:O.barXPosition,barYPosition:O.barYPosition,goalX:O.goalX,goalY:O.goalY,barHeight:g,barWidth:b});J&&R.add(J),p=O.y,f=O.x,Y>0&&m.push(f+b/2),x.push(p),this.renderSeries({realIndex:v,pathFill:j,j:Y,i:n,columnGroupIndex:A,pathFrom:O.pathFrom,pathTo:O.pathTo,strokeWidth:W,elSeries:l,x:f,y:p,series:e,barHeight:Math.abs(O.barHeight?O.barHeight:g),barWidth:Math.abs(O.barWidth?O.barWidth:b),elDataLabelsWrap:L,elGoalsMarkers:R,elBarShadows:T,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[v]=m,i.globals.seriesYvalues[v]=x,r.add(l)}return r}},{key:"renderSeries",value:function(e){var t=e.realIndex,i=e.pathFill,a=e.lineFill,s=e.j,r=e.i,n=e.columnGroupIndex,o=e.pathFrom,h=e.pathTo,c=e.strokeWidth,d=e.elSeries,u=e.x,f=e.y,p=e.y1,x=e.y2,m=e.series,v=e.barHeight,A=e.barWidth,l=e.barXPosition,g=e.barYPosition,b=e.elDataLabelsWrap,C=e.elGoalsMarkers,k=e.elBarShadows,L=e.visibleSeries,R=e.type,T=this.w,Y=new B(this.ctx);if(!a){var W=typeof T.globals.stroke.colors[t]=="function"?function(J){var K,te=T.config.stroke.colors;return Array.isArray(te)&&te.length>0&&((K=te[J])||(K=""),typeof K=="function")?K({value:T.globals.series[J][s],dataPointIndex:s,w:T}):K}(t):T.globals.stroke.colors[t];a=this.barOptions.distributed?T.globals.stroke.colors[s]:W}T.config.series[r].data[s]&&T.config.series[r].data[s].strokeColor&&(a=T.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var O=s/T.config.chart.animations.animateGradually.delay*(T.config.chart.animations.speed/T.globals.dataPoints)/2.4,H=Y.renderPaths({i:r,j:s,realIndex:t,pathFrom:o,pathTo:h,stroke:a,strokeWidth:c,strokeLineCap:T.config.stroke.lineCap,fill:i,animationDelay:O,initialSpeed:T.config.chart.animations.speed,dataChangeSpeed:T.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(R,"-area")});H.attr("clip-path","url(#gridRectMask".concat(T.globals.cuid,")"));var j=T.config.forecastDataPoints;j.count>0&&s>=T.globals.dataPoints-j.count&&(H.node.setAttribute("stroke-dasharray",j.dashArray),H.node.setAttribute("stroke-width",j.strokeWidth),H.node.setAttribute("fill-opacity",j.fillOpacity)),p!==void 0&&x!==void 0&&(H.attr("data-range-y1",p),H.attr("data-range-y2",x)),new ce(this.ctx).setSelectionFilter(H,t,s),d.add(H);var q=new ha(this).handleBarDataLabels({x:u,y:f,y1:p,y2:x,i:r,j:s,series:m,realIndex:t,columnGroupIndex:n,barHeight:v,barWidth:A,barXPosition:l,barYPosition:g,renderedPath:H,visibleSeries:L});return q.dataLabels!==null&&b.add(q.dataLabels),q.totalDataLabels&&b.add(q.totalDataLabels),d.add(b),C&&d.add(C),k&&d.add(k),d}},{key:"drawBarPaths",value:function(e){var t,i=e.indexes,a=e.barHeight,s=e.strokeWidth,r=e.zeroW,n=e.x,o=e.y,h=e.yDivision,c=e.elSeries,d=this.w,u=i.i,f=i.j;if(d.globals.isXNumeric)t=(o=(d.globals.seriesX[u][f]-d.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var p=0,x=0;d.globals.seriesPercent.forEach(function(v,A){v[f]&&p++,A0&&(a=this.seriesLen*a/p),t=o+a*this.visibleI,t-=a*x}else t=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[u][f],r)-r)/2),n=this.barHelpers.getXForValue(this.series[u][f],r);var m=this.barHelpers.getBarpaths({barYPosition:t,barHeight:a,x1:r,x2:n,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:u,j:f,w:d});return d.globals.isXNumeric||(o+=h),this.barHelpers.barBackground({j:f,i:u,y1:t-a*this.visibleI,y2:a*this.seriesLen,elSeries:c}),{pathTo:m.pathTo,pathFrom:m.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues("x",r,null,u,f),barYPosition:t,barHeight:a}}},{key:"drawColumnPaths",value:function(e){var t,i=e.indexes,a=e.x,s=e.y,r=e.xDivision,n=e.barWidth,o=e.zeroH,h=e.strokeWidth,c=e.elSeries,d=this.w,u=i.realIndex,f=i.translationsIndex,p=i.i,x=i.j,m=i.bc;if(d.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:a,j:x,realIndex:u,barWidth:n});a=v.x,t=v.barXPosition}else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var A=this.barHelpers.getZeroValueEncounters({i:p,j:x}),l=A.nonZeroColumns,g=A.zeroEncounters;l>0&&(n=this.seriesLen*n/l),t=a+n*this.visibleI,t-=n*g}else t=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[p][x],o,f);var b=this.barHelpers.getColumnPaths({barXPosition:t,barWidth:n,y1:o,y2:s,strokeWidth:h,series:this.series,realIndex:u,i:p,j:x,w:d});return d.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:m,j:x,i:p,x1:t-h/2-n*this.visibleI,x2:n*this.seriesLen+h/2,elSeries:c}),{pathTo:b.pathTo,pathFrom:b.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,o,p,x,f),barXPosition:t,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(e){var t=e.x,i=e.barWidth,a=e.realIndex,s=e.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),r.globals.seriesX[n][s]&&(t=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:t+i*this.visibleI,x:t}}},{key:"getPreviousPath",value:function(e,t){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(e,10)&&a.globals.previousPaths[s].paths[t]!==void 0&&(i=a.globals.previousPaths[s].paths[t].d)}return i}}]),y}(),qt=function(y){_(t,y);var e=F(t);function t(){return E(this,t),e.apply(this,arguments)}return I(t,[{key:"draw",value:function(i,a){var s=this,r=this.w;this.graphics=new B(this.ctx),this.bar=new Be(this.ctx,this.xyRatios);var n=new de(this.ctx,r);i=n.getLogSeries(i),this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i),r.config.chart.stackType==="100%"&&(i=r.globals.comboCharts?a.map(function(p){return r.globals.seriesPercent[p]}):r.globals.seriesPercent.slice()),this.series=i,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),h=0,c=0,d=function(p,x){var m=void 0,v=void 0,A=void 0,l=void 0,g=r.globals.comboCharts?a[p]:p,b=s.barHelpers.getGroupIndex(g),C=b.groupIndex,k=b.columnGroupIndex;s.groupCtx=s[r.globals.seriesGroups[C]];var L=[],R=[],T=0;s.yRatio.length>1&&(s.yaxisIndex=r.globals.seriesYAxisReverseMap[g][0],T=g),s.isReversed=r.config.yaxis[s.yaxisIndex]&&r.config.yaxis[s.yaxisIndex].reversed;var Y=s.graphics.group({class:"apexcharts-series",seriesName:z.escapeString(r.globals.seriesNames[g]),rel:p+1,"data:realIndex":g});s.ctx.series.addCollapsedClassToSeries(Y,g);var W=s.graphics.group({class:"apexcharts-datalabels","data:realIndex":g}),O=s.graphics.group({class:"apexcharts-bar-goals-markers"}),H=0,j=0,q=s.initialPositions(h,c,m,v,A,l,T);c=q.y,H=q.barHeight,v=q.yDivision,l=q.zeroW,h=q.x,j=q.barWidth,m=q.xDivision,A=q.zeroH,r.globals.barHeight=H,r.globals.barWidth=j,s.barHelpers.initializeStackedXYVars(s),s.groupCtx.prevY.length===1&&s.groupCtx.prevY[0].every(function(fe){return isNaN(fe)})&&(s.groupCtx.prevY[0]=s.groupCtx.prevY[0].map(function(){return A}),s.groupCtx.prevYF[0]=s.groupCtx.prevYF[0].map(function(){return 0}));for(var J=0;J1?d=(s=u.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:String(p).indexOf("%")===-1?d=parseInt(p,10):d*=parseInt(p,10)/100,n=this.isReversed?this.baseLineY[h]:u.globals.gridHeight-this.baseLineY[h],i=u.globals.padHorizontal+(s-d)/2}var x=u.globals.barGroups.length||1;return{x:i,y:a,yDivision:r,xDivision:s,barHeight:c/x,barWidth:d/x,zeroH:n,zeroW:o}}},{key:"drawStackedBarPaths",value:function(i){for(var a,s=i.indexes,r=i.barHeight,n=i.strokeWidth,o=i.zeroW,h=i.x,c=i.y,d=i.columnGroupIndex,u=i.seriesGroup,f=i.yDivision,p=i.elSeries,x=this.w,m=c+d*r,v=s.i,A=s.j,l=s.realIndex,g=s.translationsIndex,b=0,C=0;C0){var L=o;this.groupCtx.prevXVal[k-1][A]<0?L=this.series[v][A]>=0?this.groupCtx.prevX[k-1][A]+b-2*(this.isReversed?b:0):this.groupCtx.prevX[k-1][A]:this.groupCtx.prevXVal[k-1][A]>=0&&(L=this.series[v][A]>=0?this.groupCtx.prevX[k-1][A]:this.groupCtx.prevX[k-1][A]-b+2*(this.isReversed?b:0)),a=L}else a=o;h=this.series[v][A]===null?a:a+this.series[v][A]/this.invertedYRatio-2*(this.isReversed?this.series[v][A]/this.invertedYRatio:0);var R=this.barHelpers.getBarpaths({barYPosition:m,barHeight:r,x1:a,x2:h,strokeWidth:n,series:this.series,realIndex:s.realIndex,seriesGroup:u,i:v,j:A,w:x});return this.barHelpers.barBackground({j:A,i:v,y1:m,y2:r,elSeries:p}),c+=f,{pathTo:R.pathTo,pathFrom:R.pathFrom,goalX:this.barHelpers.getGoalValues("x",o,null,v,A,g),barXPosition:a,barYPosition:m,x:h,y:c}}},{key:"drawStackedColumnPaths",value:function(i){var a=i.indexes,s=i.x,r=i.y,n=i.xDivision,o=i.barWidth,h=i.zeroH,c=i.columnGroupIndex,d=i.seriesGroup,u=i.elSeries,f=this.w,p=a.i,x=a.j,m=a.bc,v=a.realIndex,A=a.translationsIndex;if(f.globals.isXNumeric){var l=f.globals.seriesX[v][x];l||(l=0),s=(l-f.globals.minX)/this.xRatio-o/2*f.globals.barGroups.length}for(var g,b=s+c*o,C=0,k=0;k0&&!f.globals.isXNumeric||L>0&&f.globals.isXNumeric&&f.globals.seriesX[v-1][x]===f.globals.seriesX[v][x]){var R,T,Y,W=Math.min(this.yRatio.length+1,v+1);if(this.groupCtx.prevY[L-1]!==void 0&&this.groupCtx.prevY[L-1].length)for(var O=1;O=0?Y-C+2*(this.isReversed?C:0):Y;break}if(((J=this.groupCtx.prevYVal[L-j])===null||J===void 0?void 0:J[x])>=0){T=this.series[p][x]>=0?Y:Y+C-2*(this.isReversed?C:0);break}}T===void 0&&(T=f.globals.gridHeight),g=(R=this.groupCtx.prevYF[0])!==null&&R!==void 0&&R.every(function(te){return te===0})&&this.groupCtx.prevYF.slice(1,L).every(function(te){return te.every(function(ee){return isNaN(ee)})})?h:T}else g=h;r=this.series[p][x]?g-this.series[p][x]/this.yRatio[A]+2*(this.isReversed?this.series[p][x]/this.yRatio[A]:0):g;var K=this.barHelpers.getColumnPaths({barXPosition:b,barWidth:o,y1:g,y2:r,yRatio:this.yRatio[A],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:d,realIndex:a.realIndex,i:p,j:x,w:f});return this.barHelpers.barBackground({bc:m,j:x,i:p,x1:b,x2:o,elSeries:u}),{pathTo:K.pathTo,pathFrom:K.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,h,p,x),barXPosition:b,x:f.globals.isXNumeric?s:s+n,y:r}}}]),t}(Be),bt=function(y){_(t,y);var e=F(t);function t(){return E(this,t),e.apply(this,arguments)}return I(t,[{key:"draw",value:function(i,a,s){var r=this,n=this.w,o=new B(this.ctx),h=n.globals.comboCharts?a:n.config.chart.type,c=new Pe(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=n.config.plotOptions.bar.horizontal;var d=new de(this.ctx,n);i=d.getLogSeries(i),this.series=i,this.yRatio=d.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i);for(var u=o.group({class:"apexcharts-".concat(h,"-series apexcharts-plot-series")}),f=function(x){r.isBoxPlot=n.config.chart.type==="boxPlot"||n.config.series[x].type==="boxPlot";var m,v,A,l,g=void 0,b=void 0,C=[],k=[],L=n.globals.comboCharts?s[x]:x,R=r.barHelpers.getGroupIndex(L).columnGroupIndex,T=o.group({class:"apexcharts-series",seriesName:z.escapeString(n.globals.seriesNames[L]),rel:x+1,"data:realIndex":L});r.ctx.series.addCollapsedClassToSeries(T,L),i[x].length>0&&(r.visibleI=r.visibleI+1);var Y,W,O=0;r.yRatio.length>1&&(r.yaxisIndex=n.globals.seriesYAxisReverseMap[L][0],O=L);var H=r.barHelpers.initialPositions();b=H.y,Y=H.barHeight,v=H.yDivision,l=H.zeroW,g=H.x,W=H.barWidth,m=H.xDivision,A=H.zeroH,k.push(g+W/2);for(var j=o.group({class:"apexcharts-datalabels","data:realIndex":L}),q=function(K){var te=r.barHelpers.getStrokeWidth(x,K,L),ee=null,re={indexes:{i:x,j:K,realIndex:L,translationsIndex:O},x:g,y:b,strokeWidth:te,elSeries:T};ee=r.isHorizontal?r.drawHorizontalBoxPaths(V(V({},re),{},{yDivision:v,barHeight:Y,zeroW:l})):r.drawVerticalBoxPaths(V(V({},re),{},{xDivision:m,barWidth:W,zeroH:A})),b=ee.y,g=ee.x,K>0&&k.push(g+W/2),C.push(b),ee.pathTo.forEach(function(ge,fe){var he=!r.isBoxPlot&&r.candlestickOptions.wick.useFillColor?ee.color[fe]:n.globals.stroke.colors[x],Se=c.fillPath({seriesNumber:L,dataPointIndex:K,color:ee.color[fe],value:i[x][K]});r.renderSeries({realIndex:L,pathFill:Se,lineFill:he,j:K,i:x,pathFrom:ee.pathFrom,pathTo:ge,strokeWidth:te,elSeries:T,x:g,y:b,series:i,columnGroupIndex:R,barHeight:Y,barWidth:W,elDataLabelsWrap:j,visibleSeries:r.visibleI,type:n.config.chart.type})})},J=0;Jg.c&&(p=!1);var k=Math.min(g.o,g.c),L=Math.max(g.o,g.c),R=g.m;c.globals.isXNumeric&&(s=(c.globals.seriesX[l][f]-c.globals.minX)/this.xRatio-n/2);var T=s+n*this.visibleI;this.series[u][f]===void 0||this.series[u][f]===null?(k=o,L=o):(k=o-k/A,L=o-L/A,b=o-g.h/A,C=o-g.l/A,R=o-g.m/A);var Y=d.move(T,o),W=d.move(T+n/2,k);return c.globals.previousPaths.length>0&&(W=this.getPreviousPath(l,f,!0)),Y=this.isBoxPlot?[d.move(T,k)+d.line(T+n/2,k)+d.line(T+n/2,b)+d.line(T+n/4,b)+d.line(T+n-n/4,b)+d.line(T+n/2,b)+d.line(T+n/2,k)+d.line(T+n,k)+d.line(T+n,R)+d.line(T,R)+d.line(T,k+h/2),d.move(T,R)+d.line(T+n,R)+d.line(T+n,L)+d.line(T+n/2,L)+d.line(T+n/2,C)+d.line(T+n-n/4,C)+d.line(T+n/4,C)+d.line(T+n/2,C)+d.line(T+n/2,L)+d.line(T,L)+d.line(T,R)+"z"]:[d.move(T,L)+d.line(T+n/2,L)+d.line(T+n/2,b)+d.line(T+n/2,L)+d.line(T+n,L)+d.line(T+n,k)+d.line(T+n/2,k)+d.line(T+n/2,C)+d.line(T+n/2,k)+d.line(T,k)+d.line(T,L-h/2)],W+=d.move(T,k),c.globals.isXNumeric||(s+=r),{pathTo:Y,pathFrom:W,x:s,y:L,barXPosition:T,color:this.isBoxPlot?v:p?[x]:[m]}}},{key:"drawHorizontalBoxPaths",value:function(i){var a=i.indexes;i.x;var s=i.y,r=i.yDivision,n=i.barHeight,o=i.zeroW,h=i.strokeWidth,c=this.w,d=new B(this.ctx),u=a.i,f=a.j,p=this.boxOptions.colors.lower;this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var x=this.invertedYRatio,m=a.realIndex,v=this.getOHLCValue(m,f),A=o,l=o,g=Math.min(v.o,v.c),b=Math.max(v.o,v.c),C=v.m;c.globals.isXNumeric&&(s=(c.globals.seriesX[m][f]-c.globals.minX)/this.invertedXRatio-n/2);var k=s+n*this.visibleI;this.series[u][f]===void 0||this.series[u][f]===null?(g=o,b=o):(g=o+g/x,b=o+b/x,A=o+v.h/x,l=o+v.l/x,C=o+v.m/x);var L=d.move(o,k),R=d.move(g,k+n/2);return c.globals.previousPaths.length>0&&(R=this.getPreviousPath(m,f,!0)),L=[d.move(g,k)+d.line(g,k+n/2)+d.line(A,k+n/2)+d.line(A,k+n/2-n/4)+d.line(A,k+n/2+n/4)+d.line(A,k+n/2)+d.line(g,k+n/2)+d.line(g,k+n)+d.line(C,k+n)+d.line(C,k)+d.line(g+h/2,k),d.move(C,k)+d.line(C,k+n)+d.line(b,k+n)+d.line(b,k+n/2)+d.line(l,k+n/2)+d.line(l,k+n-n/4)+d.line(l,k+n/4)+d.line(l,k+n/2)+d.line(b,k+n/2)+d.line(b,k)+d.line(C,k)+"z"],R+=d.move(g,k),c.globals.isXNumeric||(s+=r),{pathTo:L,pathFrom:R,x:b,y:s,barYPosition:k,color:p}}},{key:"getOHLCValue",value:function(i,a){var s=this.w;return{o:this.isBoxPlot?s.globals.seriesCandleH[i][a]:s.globals.seriesCandleO[i][a],h:this.isBoxPlot?s.globals.seriesCandleO[i][a]:s.globals.seriesCandleH[i][a],m:s.globals.seriesCandleM[i][a],l:this.isBoxPlot?s.globals.seriesCandleC[i][a]:s.globals.seriesCandleL[i][a],c:this.isBoxPlot?s.globals.seriesCandleL[i][a]:s.globals.seriesCandleC[i][a]}}}]),t}(Be),Zt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"checkColorRange",value:function(){var e=this.w,t=!1,i=e.config.plotOptions[e.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map(function(a,s){a.from<=0&&(t=!0)}),t}},{key:"getShadeColor",value:function(e,t,i,a){var s=this.w,r=1,n=s.config.plotOptions[e].shadeIntensity,o=this.determineColor(e,t,i);s.globals.hasNegs||a?r=s.config.plotOptions[e].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,e==="treemap"&&(r=(1-o.percent/100)*(1.25*n)));var h=o.color,c=new z;if(s.config.plotOptions[e].enableShades)if(this.w.config.theme.mode==="dark"){var d=c.shadeColor(-1*r,o.color);h=z.hexToRgba(z.isColorHex(d)?d:z.rgb2hex(d),s.config.fill.opacity)}else{var u=c.shadeColor(r,o.color);h=z.hexToRgba(z.isColorHex(u)?u:z.rgb2hex(u),s.config.fill.opacity)}return{color:h,colorProps:o}}},{key:"determineColor",value:function(e,t,i){var a=this.w,s=a.globals.series[t][i],r=a.config.plotOptions[e],n=r.colorScale.inverse?i:t;r.distributed&&a.config.chart.type==="treemap"&&(n=i);var o=a.globals.colors[n],h=null,c=Math.min.apply(Math,U(a.globals.series[t])),d=Math.max.apply(Math,U(a.globals.series[t]));r.distributed||e!=="heatmap"||(c=a.globals.minY,d=a.globals.maxY),r.colorScale.min!==void 0&&(c=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var u=Math.abs(d)+Math.abs(c),f=100*s/(u===0?u-1e-6:u);return r.colorScale.ranges.length>0&&r.colorScale.ranges.map(function(p,x){if(s>=p.from&&s<=p.to){o=p.color,h=p.foreColor?p.foreColor:null,c=p.from,d=p.to;var m=Math.abs(d)+Math.abs(c);f=100*s/(m===0?m-1e-6:m)}}),{color:o,foreColor:h,percent:f}}},{key:"calculateDataLabels",value:function(e){var t=e.text,i=e.x,a=e.y,s=e.i,r=e.j,n=e.colorProps,o=e.fontSize,h=this.w.config.dataLabels,c=new B(this.ctx),d=new He(this.ctx),u=null;if(h.enabled){u=c.group({class:"apexcharts-data-labels"});var f=h.offsetX,p=h.offsetY,x=i+f,m=a+parseFloat(h.style.fontSize)/3+p;d.plotDataLabelsText({x,y:m,text:t,i:s,j:r,color:n.foreColor,parent:u,fontSize:o,dataLabelsConfig:h})}return u}},{key:"addListeners",value:function(e){var t=new B(this.ctx);e.node.addEventListener("mouseenter",t.pathMouseEnter.bind(this,e)),e.node.addEventListener("mouseleave",t.pathMouseLeave.bind(this,e)),e.node.addEventListener("mousedown",t.pathMouseDown.bind(this,e))}}]),y}(),da=function(){function y(e,t){E(this,y),this.ctx=e,this.w=e.w,this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new Zt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return I(y,[{key:"draw",value:function(e){var t=this.w,i=new B(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(t.globals.cuid,")"));var s=t.globals.gridWidth/t.globals.dataPoints,r=t.globals.gridHeight/t.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var h=e.slice();t.config.yaxis[0].reversed&&(o=!0,h.reverse());for(var c=o?0:h.length-1;o?c=0;o?c++:c--){var d=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:z.escapeString(t.globals.seriesNames[c]),rel:c+1,"data:realIndex":c});if(this.ctx.series.addCollapsedClassToSeries(d,c),t.config.chart.dropShadow.enabled){var u=t.config.chart.dropShadow;new ce(this.ctx).dropShadow(d,u,c)}for(var f=0,p=t.config.plotOptions.heatmap.shadeIntensity,x=0;x-1&&this.pieClicked(u),i.config.dataLabels.enabled){var b=l.x,C=l.y,k=100*p/this.fullAngle+"%";if(p!==0&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?t.endAngle=t.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(c=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(c)>this.fullAngle&&(c-=this.fullAngle);var d=Math.PI*(c-90)/180,u=i.centerX+r*Math.cos(h),f=i.centerY+r*Math.sin(h),p=i.centerX+r*Math.cos(d),x=i.centerY+r*Math.sin(d),m=z.polarToCartesian(i.centerX,i.centerY,i.donutSize,c),v=z.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),A=s>180?1:0,l=["M",u,f,"A",r,r,0,A,1,p,x];return t=i.chartType==="donut"?[].concat(l,["L",m.x,m.y,"A",i.donutSize,i.donutSize,0,A,0,v.x,v.y,"L",u,f,"z"]).join(" "):i.chartType==="pie"||i.chartType==="polarArea"?[].concat(l,["L",i.centerX,i.centerY,"L",u,f]).join(" "):[].concat(l).join(" "),n.roundPathCorners(t,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(e){var t=this.w,i=new Wt(this.ctx),a=new B(this.ctx),s=new $t(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),h=o.result.reverse(),c=o.result.length;this.maxY=o.niceMax;for(var d=t.globals.radialSize,u=d/(c-1),f=0;f1&&e.total.show&&(s=e.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,e.value.formatter)(i,r),a||typeof e.total.formatter!="function"||(i=e.total.formatter(r));var h=t===e.total.label;t=e.name.formatter(t,h,r),n!==null&&(n.textContent=t),o!==null&&(o.textContent=i),n!==null&&(n.style.fill=s)}},{key:"printDataLabelsInner",value:function(e,t){var i=this.w,a=e.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(t,s,a,e);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");r!==null&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(e){var t=this,i=this.w,a=new B(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(s.strokeWidth!==0){for(var r=[],n=360/i.globals.series.length,o=0;o0&&(C=t.getPreviousPath(v));for(var k=0;k=10?e.x>0?(i="start",a+=10):e.x<0&&(i="end",a-=10):i="middle",Math.abs(e.y)>=t-10&&(e.y<0?s-=10:e.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(e){for(var t=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(e,10)&&t.globals.previousPaths[a].paths[0]!==void 0&&(i=t.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.dataPointsLen;e=e||[],t=t||[];for(var a=[],s=0;s=360&&(x=360-Math.abs(this.startAngle)-.1);var m=s.drawPath({d:"",stroke:f,strokeWidth:h*parseInt(u.strokeWidth,10)/100,fill:"none",strokeOpacity:u.opacity,classes:"apexcharts-radialbar-area"});if(u.dropShadow.enabled){var v=u.dropShadow;n.dropShadow(m,v)}d.add(m),m.attr("id","apexcharts-radialbarTrack-"+c),this.animatePaths(m,{centerX:i.centerX,centerY:i.centerY,endAngle:x,startAngle:p,size:i.size,i:c,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:a.globals.easing})}return r}},{key:"drawArcs",value:function(i){var a=this.w,s=new B(this.ctx),r=new Pe(this.ctx),n=new ce(this.ctx),o=s.group(),h=this.getStrokeWidth(i);i.size=i.size-h/2;var c=a.config.plotOptions.radialBar.hollow.background,d=i.size-h*i.series.length-this.margin*i.series.length-h*parseInt(a.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,u=d-a.config.plotOptions.radialBar.hollow.margin;a.config.plotOptions.radialBar.hollow.image!==void 0&&(c=this.drawHollowImage(i,o,d,c));var f=this.drawHollow({size:u,centerX:i.centerX,centerY:i.centerY,fill:c||"transparent"});if(a.config.plotOptions.radialBar.hollow.dropShadow.enabled){var p=a.config.plotOptions.radialBar.hollow.dropShadow;n.dropShadow(f,p)}var x=1;!this.radialDataLabels.total.show&&a.globals.series.length>1&&(x=0);var m=null;if(this.radialDataLabels.show){var v=a.globals.dom.Paper.select(".apexcharts-datalabels-group").members[0];m=this.renderInnerDataLabels(v,this.radialDataLabels,{hollowSize:d,centerX:i.centerX,centerY:i.centerY,opacity:x})}a.config.plotOptions.radialBar.hollow.position==="back"&&(o.add(f),m&&o.add(m));var A=!1;a.config.plotOptions.radialBar.inverseOrder&&(A=!0);for(var l=A?i.series.length-1:0;A?l>=0:l100?100:i.series[l])/100,R=Math.round(this.totalAngle*L)+this.startAngle,T=void 0;a.globals.dataChanged&&(k=this.startAngle,T=Math.round(this.totalAngle*z.negToZero(a.globals.previousPaths[l])/100)+k),Math.abs(R)+Math.abs(C)>=360&&(R-=.01),Math.abs(T)+Math.abs(k)>=360&&(T-=.01);var Y=R-C,W=Array.isArray(a.config.stroke.dashArray)?a.config.stroke.dashArray[l]:a.config.stroke.dashArray,O=s.drawPath({d:"",stroke:b,strokeWidth:h,fill:"none",fillOpacity:a.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+l,strokeDashArray:W});if(B.setAttrs(O.node,{"data:angle":Y,"data:value":i.series[l]}),a.config.chart.dropShadow.enabled){var H=a.config.chart.dropShadow;n.dropShadow(O,H,l)}if(n.setSelectionFilter(O,0,l),this.addListeners(O,this.radialDataLabels),g.add(O),O.attr({index:0,j:l}),this.barLabels.enabled){var j=z.polarToCartesian(i.centerX,i.centerY,i.size,C),q=this.barLabels.formatter(a.globals.seriesNames[l],{seriesIndex:l,w:a}),J=["apexcharts-radialbar-label"];this.barLabels.onClick||J.push("apexcharts-no-click");var K=this.barLabels.useSeriesColors?a.globals.colors[l]:a.config.chart.foreColor;K||(K=a.config.chart.foreColor);var te=j.x+this.barLabels.offsetX,ee=j.y+this.barLabels.offsetY,re=s.drawText({x:te,y:ee,text:q,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:K,cssClass:J.join(" ")});re.on("click",this.onBarLabelClick),re.attr({rel:l+1}),C!==0&&re.attr({"transform-origin":"".concat(te," ").concat(ee),transform:"rotate(".concat(C," 0 0)")}),g.add(re)}var ge=0;!this.initialAnim||a.globals.resized||a.globals.dataChanged||(ge=a.config.chart.animations.speed),a.globals.dataChanged&&(ge=a.config.chart.animations.dynamicAnimation.speed),this.animDur=ge/(1.2*i.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(O,{centerX:i.centerX,centerY:i.centerY,endAngle:R,startAngle:C,prevEndAngle:T,prevStartAngle:k,size:i.size,i:l,totalItems:2,animBeginArr:this.animBeginArr,dur:ge,shouldSetPrevPaths:!0,easing:a.globals.easing})}return{g:o,elHollow:f,dataLabels:m}}},{key:"drawHollow",value:function(i){var a=new B(this.ctx).drawCircle(2*i.size);return a.attr({class:"apexcharts-radialbar-hollow",cx:i.centerX,cy:i.centerY,r:i.size,fill:i.fill}),a}},{key:"drawHollowImage",value:function(i,a,s,r){var n=this.w,o=new Pe(this.ctx),h=z.randomId(),c=n.config.plotOptions.radialBar.hollow.image;if(n.config.plotOptions.radialBar.hollow.imageClipped)o.clippedImgArea({width:s,height:s,image:c,patternID:"pattern".concat(n.globals.cuid).concat(h)}),r="url(#pattern".concat(n.globals.cuid).concat(h,")");else{var d=n.config.plotOptions.radialBar.hollow.imageWidth,u=n.config.plotOptions.radialBar.hollow.imageHeight;if(d===void 0&&u===void 0){var f=n.globals.dom.Paper.image(c).loaded(function(x){this.move(i.centerX-x.width/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-x.height/2+n.config.plotOptions.radialBar.hollow.imageOffsetY)});a.add(f)}else{var p=n.globals.dom.Paper.image(c).loaded(function(x){this.move(i.centerX-d/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-u/2+n.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(d,u)});a.add(p)}}return r}},{key:"getStrokeWidth",value:function(i){var a=this.w;return i.size*(100-parseInt(a.config.plotOptions.radialBar.hollow.size,10))/100/(i.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(i){var a=parseInt(i.target.getAttribute("rel"),10)-1,s=this.barLabels.onClick,r=this.w;s&&s(r.globals.seriesNames[a],{w:r,seriesIndex:a})}}]),t}(Jt),fa=function(y){_(t,y);var e=F(t);function t(){return E(this,t),e.apply(this,arguments)}return I(t,[{key:"draw",value:function(i,a){var s=this.w,r=new B(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=i,this.seriesRangeStart=s.globals.seriesRangeStart,this.seriesRangeEnd=s.globals.seriesRangeEnd,this.barHelpers.initVariables(i);for(var n=r.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var A=0,l=0,g=0;this.yRatio.length>1&&(this.yaxisIndex=s.globals.seriesYAxisReverseMap[x][0],g=x);var b=this.barHelpers.initialPositions();p=b.y,u=b.zeroW,f=b.x,l=b.barWidth,A=b.barHeight,h=b.xDivision,c=b.yDivision,d=b.zeroH;for(var C=r.group({class:"apexcharts-datalabels","data:realIndex":x}),k=r.group({class:"apexcharts-rangebar-goals-markers"}),L=0;L0});return this.isHorizontal?(r=x.config.plotOptions.bar.rangeBarGroupRows?o+u*g:o+c*this.visibleI+u*g,b>-1&&!x.config.plotOptions.bar.rangeBarOverlap&&(m=x.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(r=(c=p.barHeight/m.length)*this.visibleI+u*(100-parseInt(this.barOptions.barHeight,10))/100/2+c*(this.visibleI+m.indexOf(v))+u*g)):(g>-1&&!x.globals.timescaleLabels.length&&(n=x.config.plotOptions.bar.rangeBarGroupRows?h+f*g:h+d*this.visibleI+f*g),b>-1&&!x.config.plotOptions.bar.rangeBarOverlap&&(m=x.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(n=(d=p.barWidth/m.length)*this.visibleI+f*(100-parseInt(this.barOptions.barWidth,10))/100/2+d*(this.visibleI+m.indexOf(v))+f*g)),{barYPosition:r,barXPosition:n,barHeight:c,barWidth:d}}},{key:"drawRangeColumnPaths",value:function(i){var a=i.indexes,s=i.x,r=i.xDivision,n=i.barWidth,o=i.barXPosition,h=i.zeroH,c=this.w,d=a.i,u=a.j,f=a.realIndex,p=a.translationsIndex,x=this.yRatio[p],m=this.getRangeValue(f,u),v=Math.min(m.start,m.end),A=Math.max(m.start,m.end);this.series[d][u]===void 0||this.series[d][u]===null?v=h:(v=h-v/x,A=h-A/x);var l=Math.abs(A-v),g=this.barHelpers.getColumnPaths({barXPosition:o,barWidth:n,y1:v,y2:A,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:f,i:f,j:u,w:c});if(c.globals.isXNumeric){var b=this.getBarXForNumericXAxis({x:s,j:u,realIndex:f,barWidth:n});s=b.x,o=b.barXPosition}else s+=r;return{pathTo:g.pathTo,pathFrom:g.pathFrom,barHeight:l,x:s,y:m.start<0&&m.end<0?v:A,goalY:this.barHelpers.getGoalValues("y",null,h,d,u,p),barXPosition:o}}},{key:"preventBarOverflow",value:function(i){var a=this.w;return i<0&&(i=0),i>a.globals.gridWidth&&(i=a.globals.gridWidth),i}},{key:"drawRangeBarPaths",value:function(i){var a=i.indexes,s=i.y,r=i.y1,n=i.y2,o=i.yDivision,h=i.barHeight,c=i.barYPosition,d=i.zeroW,u=this.w,f=a.realIndex,p=a.j,x=this.preventBarOverflow(d+r/this.invertedYRatio),m=this.preventBarOverflow(d+n/this.invertedYRatio),v=this.getRangeValue(f,p),A=Math.abs(m-x),l=this.barHelpers.getBarpaths({barYPosition:c,barHeight:h,x1:x,x2:m,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:f,realIndex:f,j:p,w:u});return u.globals.isXNumeric||(s+=o),{pathTo:l.pathTo,pathFrom:l.pathFrom,barWidth:A,x:v.start<0&&v.end<0?x:m,goalX:this.barHelpers.getGoalValues("x",d,null,f,p),y:s}}},{key:"getRangeValue",value:function(i,a){var s=this.w;return{start:s.globals.seriesRangeStart[i][a],end:s.globals.seriesRangeEnd[i][a]}}}]),t}(Be),pa=function(){function y(e){E(this,y),this.w=e.w,this.lineCtx=e}return I(y,[{key:"sameValueSeriesFix",value:function(e,t){var i=this.w;if((i.config.fill.type==="gradient"||i.config.fill.type[e]==="gradient")&&new de(this.lineCtx.ctx,i).seriesHaveSameValues(e)){var a=t[e].slice();a[a.length-1]=a[a.length-1]+1e-6,t[e]=a}return t}},{key:"calculatePoints",value:function(e){var t=e.series,i=e.realIndex,a=e.x,s=e.y,r=e.i,n=e.j,o=e.prevY,h=this.w,c=[],d=[];if(n===0){var u=this.lineCtx.categoryAxisCorrection+h.config.markers.offsetX;h.globals.isXNumeric&&(u=(h.globals.seriesX[i][0]-h.globals.minX)/this.lineCtx.xRatio+h.config.markers.offsetX),c.push(u),d.push(z.isNumber(t[r][0])?o+h.config.markers.offsetY:null),c.push(a+h.config.markers.offsetX),d.push(z.isNumber(t[r][n+1])?s+h.config.markers.offsetY:null)}else c.push(a+h.config.markers.offsetX),d.push(z.isNumber(t[r][n+1])?s+h.config.markers.offsetY:null);return{x:c,y:d}}},{key:"checkPreviousPaths",value:function(e){for(var t=e.pathFromLine,i=e.pathFromArea,a=e.realIndex,s=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(a,10)&&(n.type==="line"?(this.lineCtx.appendPathFrom=!1,t=s.globals.previousPaths[r].paths[0].d):n.type==="area"&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(t=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:t,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(e){var t,i,a,s=e.i,r=e.realIndex,n=e.series,o=e.prevY,h=e.lineYPosition,c=e.translationsIndex,d=this.w,u=d.config.chart.stacked&&!d.globals.comboCharts||d.config.chart.stacked&&d.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[r])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[r])===null||i===void 0?void 0:i.type)==="column");if(((a=n[s])===null||a===void 0?void 0:a[0])!==void 0)o=(h=u&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[c]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[c]:0);else if(u&&s>0&&n[s][0]===void 0){for(var f=s-1;f>=0;f--)if(n[f][0]!==null&&n[f][0]!==void 0){o=h=this.lineCtx.prevSeriesY[f][0];break}}return{prevY:o,lineYPosition:h}}}]),y}(),xa=function(y){for(var e,t,i,a,s=function(c){for(var d=[],u=c[0],f=c[1],p=d[0]=mt(u,f),x=1,m=c.length-1;x9&&(a=3*i/Math.sqrt(a),s[o]=a*e,s[o+1]=a*t);for(var h=0;h<=r;h++)a=(y[Math.min(r,h+1)][0]-y[Math.max(0,h-1)][0])/(6*(1+s[h]*s[h])),n.push([a||0,s[h]*a||0]);return n},ba=function(y){var e=xa(y),t=y[1],i=y[0],a=[],s=e[1],r=e[0];a.push(i,[i[0]+r[0],i[1]+r[1],t[0]-s[0],t[1]-s[1],t[0],t[1]]);for(var n=2,o=e.length;n1&&i[1].length<6){var a=i[0].length;i[1]=[2*i[0][a-2]-i[0][a-4],2*i[0][a-1]-i[0][a-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i};function mt(y,e){return(e[1]-y[1])/(e[0]-y[0])}var vt=function(){function y(e,t,i){E(this,y),this.ctx=e,this.w=e.w,this.xyRatios=t,this.pointsChart=!(this.w.config.chart.type!=="bubble"&&this.w.config.chart.type!=="scatter")||i,this.scatter=new Nt(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new pa(this),this.markers=new Ne(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return I(y,[{key:"draw",value:function(e,t,i,a){var s,r=this.w,n=new B(this.ctx),o=r.globals.comboCharts?t:r.config.chart.type,h=n.group({class:"apexcharts-".concat(o,"-series apexcharts-plot-series")}),c=new de(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=c.getLogSeries(e),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var d=[],u=0;u1?f:0;this._initSerieVariables(e,u,f);var x=[],m=[],v=[],A=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,f),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(A=(r.globals.seriesX[f][0]-r.globals.minX)/this.xRatio),v.push(A);var l,g=A,b=void 0,C=g,k=this.zeroY,L=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:u,realIndex:f,series:e,prevY:k,lineYPosition:0,translationsIndex:p}).prevY,r.config.stroke.curve==="monotoneCubic"&&e[u][0]===null?x.push(null):x.push(k),l=k,o==="rangeArea"&&(b=L=this.lineHelpers.determineFirstPrevY({i:u,realIndex:f,series:a,prevY:L,lineYPosition:0,translationsIndex:p}).prevY,m.push(x[0]!==null?L:null));var R=this._calculatePathsFrom({type:o,series:e,i:u,realIndex:f,translationsIndex:p,prevX:C,prevY:k,prevY2:L}),T=[x[0]],Y=[m[0]],W={type:o,series:e,realIndex:f,translationsIndex:p,i:u,x:A,y:1,pX:g,pY:l,pathsFrom:R,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:v,yArrj:x,y2Arrj:m,seriesRangeEnd:a},O=this._iterateOverDataPoints(V(V({},W),{},{iterations:o==="rangeArea"?e[u].length-1:void 0,isRangeStart:!0}));if(o==="rangeArea"){for(var H=this._calculatePathsFrom({series:a,i:u,realIndex:f,prevX:C,prevY:L}),j=this._iterateOverDataPoints(V(V({},W),{},{series:a,xArrj:[A],yArrj:T,y2Arrj:Y,pY:b,areaPaths:O.areaPaths,pathsFrom:H,iterations:a[u].length-1,isRangeStart:!1})),q=O.linePaths.length/2,J=0;J=0;K--)h.add(d[K]);else for(var te=0;te1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||a.config.plotOptions.area.fillTo==="end")&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",zIndex:a.config.series[i].zIndex!==void 0?a.config.series[i].zIndex:i,seriesName:z.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var n=e[t].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:t+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(e){var t,i,a,s,r=e.type,n=e.series,o=e.i,h=e.realIndex,c=e.translationsIndex,d=e.prevX,u=e.prevY,f=e.prevY2,p=this.w,x=new B(this.ctx);if(n[o][0]===null){for(var m=0;m0){var v=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:h});a=v.pathFromLine,s=v.pathFromArea}return{prevX:d,prevY:u,linePath:t,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(e){var t=e.type,i=e.realIndex,a=e.i,s=e.paths,r=this.w,n=new B(this.ctx),o=new Pe(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var h=r.config.forecastDataPoints;if(h.count>0&&t!=="rangeArea"){var c=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-h.count-1],d=n.drawRect(c,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(d.node);var u=n.drawRect(0,0,c,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(u.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var f={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(t)};if(t==="area")for(var p=o.fillPath({seriesNumber:i}),x=0;x0&&t!=="rangeArea"){var k=n.renderPaths(b);k.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&k.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(k),k.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),C.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(e){var t,i,a=this,s=e.type,r=e.series,n=e.iterations,o=e.realIndex,h=e.translationsIndex,c=e.i,d=e.x,u=e.y,f=e.pX,p=e.pY,x=e.pathsFrom,m=e.linePaths,v=e.areaPaths,A=e.seriesIndex,l=e.lineYPosition,g=e.xArrj,b=e.yArrj,C=e.y2Arrj,k=e.isRangeStart,L=e.seriesRangeEnd,R=this.w,T=new B(this.ctx),Y=this.yRatio,W=x.prevY,O=x.linePath,H=x.areaPath,j=x.pathFromLine,q=x.pathFromArea,J=z.isNumber(R.globals.minYArr[o])?R.globals.minYArr[o]:R.globals.minY;n||(n=R.globals.dataPoints>1?R.globals.dataPoints-1:R.globals.dataPoints);var K=function(ve,ye){return ye-ve/Y[h]+2*(a.isReversed?ve/Y[h]:0)},te=u,ee=R.config.chart.stacked&&!R.globals.comboCharts||R.config.chart.stacked&&R.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[o])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[o])===null||i===void 0?void 0:i.type)==="column"),re=R.config.stroke.curve;Array.isArray(re)&&(re=Array.isArray(A)?re[A[c]]:re[c]);for(var ge,fe=0,he=0;he0&&R.globals.collapsedSeries.length0;ye--){if(!(R.globals.collapsedSeriesIndices.indexOf((A==null?void 0:A[ye])||ye)>-1))return ye;ye--}return 0}(c-1)][he+1]:l=this.zeroY:l=this.zeroY,Se?u=K(J,l):(u=K(r[c][he+1],l),s==="rangeArea"&&(te=K(L[c][he+1],l))),g.push(d),!Se||R.config.stroke.curve!=="smooth"&&R.config.stroke.curve!=="monotoneCubic"?(b.push(u),C.push(te)):(b.push(null),C.push(null));var ne=this.lineHelpers.calculatePoints({series:r,x:d,y:u,realIndex:o,i:c,j:he,prevY:W}),le=this._createPaths({type:s,series:r,i:c,realIndex:o,j:he,x:d,y:u,y2:te,xArrj:g,yArrj:b,y2Arrj:C,pX:f,pY:p,pathState:fe,segmentStartX:ge,linePath:O,areaPath:H,linePaths:m,areaPaths:v,curve:re,isRangeStart:k});v=le.areaPaths,m=le.linePaths,f=le.pX,p=le.pY,fe=le.pathState,ge=le.segmentStartX,H=le.areaPath,O=le.linePath,!this.appendPathFrom||re==="monotoneCubic"&&s==="rangeArea"||(j+=T.line(d,this.zeroY),q+=T.line(d,this.zeroY)),this.handleNullDataPoints(r,ne,c,he,o),this._handleMarkersAndLabels({type:s,pointsPos:ne,i:c,j:he,realIndex:o,isRangeStart:k})}return{yArrj:b,xArrj:g,pathFromArea:q,areaPaths:v,pathFromLine:j,linePaths:m,linePath:O,areaPath:H}}},{key:"_handleMarkersAndLabels",value:function(e){var t=e.type,i=e.pointsPos,a=e.isRangeStart,s=e.i,r=e.j,n=e.realIndex,o=this.w,h=new He(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var c=this.markers.plotChartMarkers(i,n,r+1);c!==null&&this.elPointsMain.add(c)}var d=h.drawDataLabel({type:t,isRangeStart:a,pos:i,i:n,j:r+1});d!==null&&this.elDataLabelsWrap.add(d)}},{key:"_createPaths",value:function(e){var t=e.type,i=e.series,a=e.i;e.realIndex;var s=e.j,r=e.x,n=e.y,o=e.xArrj,h=e.yArrj,c=e.y2,d=e.y2Arrj,u=e.pX,f=e.pY,p=e.pathState,x=e.segmentStartX,m=e.linePath,v=e.areaPath,A=e.linePaths,l=e.areaPaths,g=e.curve,b=e.isRangeStart;this.w;var C,k=new B(this.ctx),L=this.areaBottomY,R=t==="rangeArea",T=t==="rangeArea"&&b;switch(g){case"monotoneCubic":var Y=b?h:d;switch(p){case 0:if(Y[s+1]===null)break;p=1;case 1:if(!(R?o.length===i[a].length:s===i[a].length-2))break;case 2:var W=b?o:o.slice().reverse(),O=b?Y:Y.slice().reverse(),H=(C=O,W.map(function(oe,ne){return[oe,C[ne]]}).filter(function(oe){return oe[1]!==null})),j=H.length>1?ba(H):H,q=[];R&&(T?l=H:q=l.reverse());var J=0,K=0;if(function(oe,ne){for(var le=function(qe){var we=[],Te=0;return qe.forEach(function(Ca){Ca!==null?Te++:Te>0&&(we.push(Te),Te=0)}),Te>0&&we.push(Te),we}(oe),ve=[],ye=0,Ee=0;ye4?(Ee+="C".concat(we[0],", ").concat(we[1]),Ee+=", ".concat(we[2],", ").concat(we[3]),Ee+=", ".concat(we[4],", ").concat(we[5])):Te>2&&(Ee+="S".concat(we[0],", ").concat(we[1]),Ee+=", ".concat(we[2],", ").concat(we[3]))}return Ee}(oe),le=K,ve=(K+=oe.length)-1;T?m=k.move(H[le][0],H[le][1])+ne:R?m=k.move(q[le][0],q[le][1])+k.line(H[le][0],H[le][1])+ne+k.line(q[ve][0],q[ve][1]):(m=k.move(H[le][0],H[le][1])+ne,v=m+k.line(H[ve][0],L)+k.line(H[le][0],L)+"z",l.push(v)),A.push(m)}),R&&J>1&&!T){var te=A.slice(J).reverse();A.splice(J),te.forEach(function(oe){return A.push(oe)})}p=0}break;case"smooth":var ee=.35*(r-u);if(i[a][s]===null)p=0;else switch(p){case 0:if(x=u,m=T?k.move(u,d[s])+k.line(u,f):k.move(u,f),v=k.move(u,f),p=1,s=i[a].length-2&&(T&&(m+=k.curve(r,n,r,n,r,c)+k.move(r,c)),v+=k.curve(r,n,r,n,r,L)+k.line(x,L)+"z",A.push(m),l.push(v),p=-1)}}u=r,f=n;break;default:var fe=function(oe,ne,le){var ve=[];switch(oe){case"stepline":ve=k.line(ne,null,"H")+k.line(null,le,"V");break;case"linestep":ve=k.line(null,le,"V")+k.line(ne,null,"H");break;case"straight":ve=k.line(ne,le)}return ve};if(i[a][s]===null)p=0;else switch(p){case 0:if(x=u,m=T?k.move(u,d[s])+k.line(u,f):k.move(u,f),v=k.move(u,f),p=1,s=i[a].length-2&&(T&&(m+=k.line(r,c)),v+=k.line(r,L)+k.line(x,L)+"z",A.push(m),l.push(v),p=-1)}}u=r,f=n}return{linePaths:A,areaPaths:l,pX:u,pY:f,pathState:p,segmentStartX:x,linePath:m,areaPath:v}}},{key:"handleNullDataPoints",value:function(e,t,i,a,s){var r=this.w;if(e[i][a]===null&&r.config.markers.showNullDataPoints||e[i].length===1){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers(t,s,a+1,n,!0);o!==null&&this.elPointsMain.add(o)}}}]),y}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function y(n,o,h,c){this.xoffset=n,this.yoffset=o,this.height=c,this.width=h,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(d){var u,f=[],p=this.xoffset,x=this.yoffset,m=s(d)/this.height,v=s(d)/this.width;if(this.width>=this.height)for(u=0;u=this.height){var f=d/this.height,p=this.width-f;u=new y(this.xoffset+f,this.yoffset,p,this.height)}else{var x=d/this.width,m=this.height-x;u=new y(this.xoffset,this.yoffset+x,this.width,m)}return u}}function e(n,o,h,c,d){c=c===void 0?0:c,d=d===void 0?0:d;var u=t(function(f,p){var x,m=[],v=p/s(f);for(x=0;x=l}(o,u=n[0],d)?(o.push(u),t(n.slice(1),o,h,c)):(f=h.cutArea(s(o),c),c.push(h.getCoordinates(o)),t(n,[],f,c)),c;c.push(h.getCoordinates(o))}function i(n,o){var h=Math.min.apply(Math,n),c=Math.max.apply(Math,n),d=s(n);return Math.max(Math.pow(o,2)*c/Math.pow(d,2),Math.pow(d,2)/(Math.pow(o,2)*h))}function a(n){return n&&n.constructor===Array}function s(n){var o,h=0;for(o=0;or-a&&h.width<=n-s){var c=o.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(-90 ".concat(c.x," ").concat(c.y,") translate(").concat(h.height/3,")"))}}},{key:"truncateLabels",value:function(e,t,i,a,s,r){var n=new B(this.ctx),o=n.getTextRects(e,t).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,h=n.getTextBasedOnMaxWidth({text:e,maxWidth:o,fontSize:t});return e.length!==h.length&&o/t<5?"":h}},{key:"animateTreemap",value:function(e,t,i,a){var s=new xe(this.ctx);s.animateRect(e,{x:t.x,y:t.y,width:t.width,height:t.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,function(){s.animationCompleted(e)})}}]),y}(),Kt=86400,ya=10/Kt,wa=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return I(y,[{key:"calculateTimeScaleTicks",value:function(e,t){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new me(this.ctx),r=(t-e)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(e,t,this.utc),o=a.globals.gridWidth/r,h=o/24,c=h/60,d=c/60,u=Math.floor(24*r),f=Math.floor(1440*r),p=Math.floor(r*Kt),x=Math.floor(r),m=Math.floor(r/30),v=Math.floor(r/365),A={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},l={firstVal:A,currentMillisecond:A.minMillisecond,currentSecond:A.minSecond,currentMinute:A.minMinute,currentHour:A.minHour,currentMonthDate:A.minDate,currentDate:A.minDate,currentMonth:A.minMonth,currentYear:A.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:f,numberOfHours:u,numberOfDays:x,numberOfMonths:m,numberOfYears:v};switch(this.tickInterval){case"years":this.generateYearScale(l);break;case"months":case"half_year":this.generateMonthScale(l);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(l);break;case"hours":this.generateHourScale(l);break;case"minutes_fives":case"minutes":this.generateMinuteScale(l);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(l)}var g=this.timeScaleArray.map(function(b){var C={position:b.position,unit:b.unit,year:b.year,day:b.day?b.day:1,hour:b.hour?b.hour:0,month:b.month+1};return b.unit==="month"?V(V({},C),{},{day:1,value:b.value+1}):b.unit==="day"||b.unit==="hour"?V(V({},C),{},{value:b.value}):b.unit==="minute"?V(V({},C),{},{value:b.value,minute:b.value}):b.unit==="second"?V(V({},C),{},{value:b.value,minute:b.minute,second:b.second}):b});return g.filter(function(b){var C=1,k=Math.ceil(a.globals.gridWidth/120),L=b.value;a.config.xaxis.tickAmount!==void 0&&(k=a.config.xaxis.tickAmount),g.length>k&&(C=Math.floor(g.length/k));var R=!1,T=!1;switch(i.tickInterval){case"years":b.unit==="year"&&(R=!0);break;case"half_year":C=7,b.unit==="year"&&(R=!0);break;case"months":C=1,b.unit==="year"&&(R=!0);break;case"months_fortnight":C=15,b.unit!=="year"&&b.unit!=="month"||(R=!0),L===30&&(T=!0);break;case"months_days":C=10,b.unit==="month"&&(R=!0),L===30&&(T=!0);break;case"week_days":C=8,b.unit==="month"&&(R=!0);break;case"days":C=1,b.unit==="month"&&(R=!0);break;case"hours":b.unit==="day"&&(R=!0);break;case"minutes_fives":case"seconds_fives":L%5!=0&&(T=!0);break;case"seconds_tens":L%10!=0&&(T=!0)}if(i.tickInterval==="hours"||i.tickInterval==="minutes_fives"||i.tickInterval==="seconds_tens"||i.tickInterval==="seconds_fives"){if(!T)return!0}else if((L%C==0||R)&&!T)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(e,t){var i=this.w,a=this.formatDates(e),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new et(this.ctx).plotCoords()}},{key:"determineInterval",value:function(e){var t=24*e,i=60*t;switch(!0){case e/365>5:this.tickInterval="years";break;case e>800:this.tickInterval="half_year";break;case e>180:this.tickInterval="months";break;case e>90:this.tickInterval="months_fortnight";break;case e>60:this.tickInterval="months_days";break;case e>30:this.tickInterval="week_days";break;case e>2:this.tickInterval="days";break;case t>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(e){var t=e.firstVal,i=e.currentMonth,a=e.currentYear,s=e.daysWidthOnXAxis,r=e.numberOfYears,n=t.minYear,o=0,h=new me(this.ctx),c="year";if(t.minDate>1||t.minMonth>0){var d=h.determineRemainingDaysOfYear(t.minYear,t.minMonth,t.minDate);o=(h.determineDaysOfYear(t.minYear)-d+1)*s,n=t.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:c,year:n,month:z.monthMod(i+1)})}else t.minDate===1&&t.minMonth===0&&this.timeScaleArray.push({position:o,value:n,unit:c,year:a,month:z.monthMod(i+1)});for(var u=n,f=o,p=0;p1){h=(c.determineDaysOfMonths(a+1,t.minYear)-i+1)*r,o=z.monthMod(a+1);var f=s+u,p=z.monthMod(o),x=o;o===0&&(d="year",x=f,p=1,f+=u+=1),this.timeScaleArray.push({position:h,value:x,unit:d,year:f,month:p})}else this.timeScaleArray.push({position:h,value:o,unit:d,year:s,month:z.monthMod(a)});for(var m=o+1,v=h,A=0,l=1;An.determineDaysOfMonths(g+1,b)&&(c=1,o="month",f=g+=1),g},u=(24-t.minHour)*s,f=h,p=d(c,i,a);t.minHour===0&&t.minDate===1?(u=0,f=z.monthMod(t.minMonth),o="month",c=t.minDate):t.minDate!==1&&t.minHour===0&&t.minMinute===0&&(u=0,h=t.minDate,f=h,p=d(c=h,i,a)),this.timeScaleArray.push({position:u,value:f,unit:o,year:this._getYear(a,p,0),month:z.monthMod(p),day:c});for(var x=u,m=0;mo.determineDaysOfMonths(k+1,s)&&(m=1,k+=1),{month:k,date:m}},d=function(C,k){return C>o.determineDaysOfMonths(k+1,s)?k+=1:k},u=60-(t.minMinute+t.minSecond/60),f=u*r,p=t.minHour+1,x=p;u===60&&(f=0,x=p=t.minHour);var m=i;x>=24&&(x=0,m+=1,h="day");var v=c(m,a).month;v=d(m,v),this.timeScaleArray.push({position:f,value:p,unit:h,day:m,hour:x,year:s,month:z.monthMod(v)}),x++;for(var A=f,l=0;l=24&&(x=0,h="day",v=c(m+=1,v).month,v=d(m,v));var g=this._getYear(s,v,0);A=60*r+A;var b=x===0?m:x;this.timeScaleArray.push({position:A,value:b,unit:h,hour:x,day:m,year:g,month:z.monthMod(v)}),x++}}},{key:"generateMinuteScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,a=e.currentMinute,s=e.currentHour,r=e.currentDate,n=e.currentMonth,o=e.currentYear,h=e.minutesWidthOnXAxis,c=e.secondsWidthOnXAxis,d=e.numberOfMinutes,u=a+1,f=r,p=n,x=o,m=s,v=(60-i-t/1e3)*c,A=0;A=60&&(u=0,(m+=1)===24&&(m=0)),this.timeScaleArray.push({position:v,value:u,unit:"minute",hour:m,minute:u,day:f,year:this._getYear(x,p,0),month:z.monthMod(p)}),v+=h,u++}},{key:"generateSecondScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,a=e.currentMinute,s=e.currentHour,r=e.currentDate,n=e.currentMonth,o=e.currentYear,h=e.secondsWidthOnXAxis,c=e.numberOfSeconds,d=i+1,u=a,f=r,p=n,x=o,m=s,v=(1e3-t)/1e3*h,A=0;A=60&&(d=0,++u>=60&&(u=0,++m===24&&(m=0))),this.timeScaleArray.push({position:v,value:d,unit:"second",hour:m,minute:u,second:d,day:f,year:this._getYear(x,p,0),month:z.monthMod(p)}),v+=h,d++}},{key:"createRawDateString",value:function(e,t){var i=e.year;return e.month===0&&(e.month=1),i+="-"+("0"+e.month.toString()).slice(-2),e.unit==="day"?i+=e.unit==="day"?"-"+("0"+t).slice(-2):"-01":i+="-"+("0"+(e.day?e.day:"1")).slice(-2),e.unit==="hour"?i+=e.unit==="hour"?"T"+("0"+t).slice(-2):"T00":i+="T"+("0"+(e.hour?e.hour:"0")).slice(-2),e.unit==="minute"?i+=":"+("0"+t).slice(-2):i+=":"+(e.minute?("0"+e.minute).slice(-2):"00"),e.unit==="second"?i+=":"+("0"+t).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(e){var t=this,i=this.w;return e.map(function(a){var s=a.value.toString(),r=new me(t.ctx),n=t.createRawDateString(a,s),o=r.getDate(r.parseDate(n));if(t.utc||(o=r.getDate(r.parseDateWithTimezone(n))),i.config.xaxis.labels.format===void 0){var h="dd MMM",c=i.config.xaxis.labels.datetimeFormatter;a.unit==="year"&&(h=c.year),a.unit==="month"&&(h=c.month),a.unit==="day"&&(h=c.day),a.unit==="hour"&&(h=c.hour),a.unit==="minute"&&(h=c.minute),a.unit==="second"&&(h=c.second),s=r.formatDate(o,h)}else s=r.formatDate(o,i.config.xaxis.labels.format);return{dateString:n,position:a.position,value:s,unit:a.unit,year:a.year,month:a.month}})}},{key:"removeOverlappingTS",value:function(e){var t,i=this,a=new B(this.ctx),s=!1;e.length>0&&e[0].value&&e.every(function(o){return o.value.length===e[0].value.length})&&(s=!0,t=a.getTextRects(e[0].value).width);var r=0,n=e.map(function(o,h){if(h>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var c=s?t:a.getTextRects(e[r].value).width,d=e[r].position;return o.position>d+c+10?(r=h,o):null}return o});return n=n.filter(function(o){return o!==null})}},{key:"_getYear",value:function(e,t,i){return e+Math.floor(t/12)+i}}]),y}(),Aa=function(){function y(e,t){E(this,y),this.ctx=t,this.w=t.w,this.el=e}return I(y,[{key:"setupElements",value:function(){var e=this.w.globals,t=this.w.config,i=t.chart.type;e.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,e.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,e.isBarHorizontal=(t.chart.type==="bar"||t.chart.type==="rangeBar"||t.chart.type==="boxPlot")&&t.plotOptions.bar.horizontal,e.chartClass=".apexcharts"+e.chartID,e.dom.baseEl=this.el,e.dom.elWrap=document.createElement("div"),B.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:"apexcharts-canvas "+e.chartClass.substring(1)}),this.el.appendChild(e.dom.elWrap),e.dom.Paper=new window.SVG.Doc(e.dom.elWrap),e.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(t.chart.offsetX,", ").concat(t.chart.offsetY,")")}),e.dom.Paper.node.style.background=t.theme.mode!=="dark"||t.chart.background?t.theme.mode!=="light"||t.chart.background?t.chart.background:"#fff":"#424242",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,"foreignObject"),B.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement("div"),e.dom.elLegendWrap.classList.add("apexcharts-legend"),e.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.dom.elLegendForeign.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:"plotChartType",value:function(e,t){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},n={series:[],i:[]},o={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},u={series:[],i:[]},f={series:[],i:[]},p={series:[],seriesRangeEnd:[],i:[]},x=a.chart.type!==void 0?a.chart.type:"line",m=null,v=0;s.series.forEach(function(O,H){var j=e[H].type||x;switch(j){case"column":case"bar":c.series.push(O),c.i.push(H),i.globals.columnSeries=c;break;case"area":n.series.push(O),n.i.push(H);break;case"line":r.series.push(O),r.i.push(H);break;case"scatter":o.series.push(O),o.i.push(H);break;case"bubble":h.series.push(O),h.i.push(H);break;case"candlestick":d.series.push(O),d.i.push(H);break;case"boxPlot":u.series.push(O),u.i.push(H);break;case"rangeBar":f.series.push(O),f.i.push(H);break;case"rangeArea":p.series.push(s.seriesRangeStart[H]),p.seriesRangeEnd.push(s.seriesRangeEnd[H]),p.i.push(H);break;case"heatmap":case"treemap":case"pie":case"donut":case"polarArea":case"radialBar":case"radar":m=j;break;default:console.warn("You have specified an unrecognized series type (",j,").")}x!==j&&j!=="scatter"&&v++}),v>0&&(m!==null&&console.warn("Chart or series type ",m," can not appear with other chart or series types."),c.series.length>0&&a.plotOptions.bar.horizontal&&(v-=c.length,c={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),s.comboCharts||(s.comboCharts=v>0);var A=new vt(this.ctx,t),l=new bt(this.ctx,t);this.ctx.pie=new Jt(this.ctx);var g=new ga(this.ctx);this.ctx.rangeBar=new fa(this.ctx,t);var b=new ua(this.ctx),C=[];if(s.comboCharts){var k,L,R=new de(this.ctx);if(n.series.length>0&&(k=C).push.apply(k,U(R.drawSeriesByGroup(n,s.areaGroups,"area",A))),c.series.length>0)if(i.config.chart.stacked){var T=new qt(this.ctx,t);C.push(T.draw(c.series,c.i))}else this.ctx.bar=new Be(this.ctx,t),C.push(this.ctx.bar.draw(c.series,c.i));if(p.series.length>0&&C.push(A.draw(p.series,"rangeArea",p.i,p.seriesRangeEnd)),r.series.length>0&&(L=C).push.apply(L,U(R.drawSeriesByGroup(r,s.lineGroups,"line",A))),d.series.length>0&&C.push(l.draw(d.series,"candlestick",d.i)),u.series.length>0&&C.push(l.draw(u.series,"boxPlot",u.i)),f.series.length>0&&C.push(this.ctx.rangeBar.draw(f.series,f.i)),o.series.length>0){var Y=new vt(this.ctx,t,!0);C.push(Y.draw(o.series,"scatter",o.i))}if(h.series.length>0){var W=new vt(this.ctx,t,!0);C.push(W.draw(h.series,"bubble",h.i))}}else switch(a.chart.type){case"line":C=A.draw(s.series,"line");break;case"area":C=A.draw(s.series,"area");break;case"bar":a.chart.stacked?C=new qt(this.ctx,t).draw(s.series):(this.ctx.bar=new Be(this.ctx,t),C=this.ctx.bar.draw(s.series));break;case"candlestick":C=new bt(this.ctx,t).draw(s.series,"candlestick");break;case"boxPlot":C=new bt(this.ctx,t).draw(s.series,a.chart.type);break;case"rangeBar":C=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":C=A.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":C=new da(this.ctx,t).draw(s.series);break;case"treemap":C=new va(this.ctx,t).draw(s.series);break;case"pie":case"donut":case"polarArea":C=this.ctx.pie.draw(s.series);break;case"radialBar":C=g.draw(s.series);break;case"radar":C=b.draw(s.series);break;default:C=A.draw(s.series)}return C}},{key:"setSVGDimensions",value:function(){var e=this.w.globals,t=this.w.config;t.chart.width||(t.chart.width="100%"),t.chart.height||(t.chart.height="auto"),e.svgWidth=t.chart.width,e.svgHeight=t.chart.height;var i=z.getDimensions(this.el),a=t.chart.width.toString().split(/[0-9]+/g).pop();a==="%"?z.isNumber(i[0])&&(i[0].width===0&&(i=z.getDimensions(this.el.parentNode)),e.svgWidth=i[0]*parseInt(t.chart.width,10)/100):a!=="px"&&a!==""||(e.svgWidth=parseInt(t.chart.width,10));var s=String(t.chart.height).toString().split(/[0-9]+/g).pop();if(e.svgHeight!=="auto"&&e.svgHeight!=="")if(s==="%"){var r=z.getDimensions(this.el.parentNode);e.svgHeight=r[1]*parseInt(t.chart.height,10)/100}else e.svgHeight=parseInt(t.chart.height,10);else e.axisCharts?e.svgHeight=e.svgWidth/1.61:e.svgHeight=e.svgWidth/1.2;if(e.svgWidth<0&&(e.svgWidth=0),e.svgHeight<0&&(e.svgHeight=0),B.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),s!=="%"){var n=t.chart.sparkline.enabled?0:e.axisCharts?t.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight=e.svgHeight+n+"px"}e.dom.elWrap.style.width=e.svgWidth+"px",e.dom.elWrap.style.height=e.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var e=this.w.globals,t=e.translateY,i={transform:"translate("+e.translateX+", "+t+")"};B.setAttrs(e.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=0,a=e.config.chart.sparkline.enabled?1:15;a+=e.config.grid.padding.bottom,e.config.legend.position!=="top"&&e.config.legend.position!=="bottom"||!e.config.legend.show||e.config.legend.floating||(i=new Gt(this.ctx).legendHelpers.getLegendDimensions().clwh+10);var s=e.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*e.globals.radialSize;if(s&&!e.config.chart.sparkline.enabled&&e.config.plotOptions.radialBar.startAngle!==0){var n=z.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*e.globals.radialSize,o)}var h=r+t.translateY+i+a;t.dom.elLegendForeign&&t.dom.elLegendForeign.setAttribute("height",h),e.config.chart.height&&String(e.config.chart.height).indexOf("%")>0||(t.dom.elWrap.style.height=h+"px",B.setAttrs(t.dom.Paper.node,{height:h}),t.dom.Paper.node.parentNode.parentNode.style.minHeight=h+"px")}},{key:"coreCalculations",value:function(){new ft(this.ctx).init()}},{key:"resetGlobals",value:function(){var e=this,t=function(){return e.w.config.series.map(function(s){return[]})},i=new Dt,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=t(),a.seriesYvalues=t()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var e=null,t=this.w;if(t.globals.axisCharts){if(t.config.xaxis.crosshairs.position==="back"&&new xt(this.ctx).drawXCrosshairs(),t.config.yaxis[0].crosshairs.position==="back"&&new xt(this.ctx).drawYCrosshairs(),t.config.xaxis.type==="datetime"&&t.config.xaxis.labels.formatter===void 0){this.ctx.timeScale=new wa(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new de(this.ctx).getCalculatedRatios()}return e}},{key:"updateSourceChart",value:function(e){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var e=this,t=this.w;if(t.config.chart.brush.enabled&&typeof t.config.chart.events.selection!="function"){var i=Array.isArray(t.config.chart.brush.targets)?t.config.chart.brush.targets:[t.config.chart.brush.target];i.forEach(function(a){var s=ApexCharts.getChartByID(a);s.w.globals.brushSource=e.ctx,typeof s.w.config.chart.events.zoomed!="function"&&(s.w.config.chart.events.zoomed=function(){e.updateSourceChart(s)}),typeof s.w.config.chart.events.scrolled!="function"&&(s.w.config.chart.events.scrolled=function(){e.updateSourceChart(s)})}),t.config.chart.events.selection=function(a,s){i.forEach(function(r){ApexCharts.getChartByID(r).ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max}},!1,!1,!1,!1)})}}}}]),y}(),ka=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"_updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],a=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=arguments.length>4&&arguments[4]!==void 0&&arguments[4];return new Promise(function(n){var o=[t.ctx];s&&(o=t.ctx.getSyncedCharts()),t.ctx.w.globals.isExecCalled&&(o=[t.ctx],t.ctx.w.globals.isExecCalled=!1),o.forEach(function(h,c){var d=h.w;if(d.globals.shouldAnimate=a,i||(d.globals.resized=!0,d.globals.dataChanged=!0,a&&h.series.getPreviousPaths()),e&&se(e)==="object"&&(h.config=new je(e),e=de.extendArrayProps(h.config,e,d),h.w.globals.chartID!==t.ctx.w.globals.chartID&&delete e.series,d.config=z.extend(d.config,e),r&&(d.globals.lastXAxis=e.xaxis?z.clone(e.xaxis):[],d.globals.lastYAxis=e.yaxis?z.clone(e.yaxis):[],d.globals.initialConfig=z.extend({},d.config),d.globals.initialSeries=z.clone(d.config.series),e.series))){for(var u=0;u2&&arguments[2]!==void 0&&arguments[2];return new Promise(function(s){var r,n=i.w;return n.globals.shouldAnimate=t,n.globals.dataChanged=!0,t&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?((r=e.map(function(o,h){return i._extendSeries(o,h)})).length===0&&(r=[{data:[]}]),n.config.series=r):n.config.series=e.slice(),a&&(n.globals.initialConfig.series=z.clone(n.config.series),n.globals.initialSeries=z.clone(n.config.series)),i.ctx.update().then(function(){s(i.ctx)})})}},{key:"_extendSeries",value:function(e,t){var i=this.w,a=i.config.series[t];return V(V({},i.config.series[t]),{},{name:e.name?e.name:a==null?void 0:a.name,color:e.color?e.color:a==null?void 0:a.color,type:e.type?e.type:a==null?void 0:a.type,group:e.group?e.group:a==null?void 0:a.group,hidden:e.hidden!==void 0?e.hidden:a==null?void 0:a.hidden,data:e.data?e.data:a==null?void 0:a.data,zIndex:e.zIndex!==void 0?e.zIndex:t})}},{key:"toggleDataPointSelection",value:function(e,t){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(e,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"'], ").concat(s," circle[j='").concat(t,"'], ").concat(s," rect[j='").concat(t,"']")).members[0]:t===void 0&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"']")).members[0],i.config.chart.type!=="pie"&&i.config.chart.type!=="polarArea"&&i.config.chart.type!=="donut"||this.ctx.pie.pieClicked(e)),a?(new B(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(e){var t=this.w;if(["min","max"].forEach(function(a){e.xaxis[a]!==void 0&&(t.config.xaxis[a]=e.xaxis[a],t.globals.lastXAxis[a]=e.xaxis[a])}),e.xaxis.categories&&e.xaxis.categories.length&&(t.config.xaxis.categories=e.xaxis.categories),t.config.xaxis.convertedCatToNumeric){var i=new _e(e);e=i.convertCatToNumericXaxis(e,this.ctx)}return e}},{key:"forceYAxisUpdate",value:function(e){return e.chart&&e.chart.stacked&&e.chart.stackType==="100%"&&(Array.isArray(e.yaxis)?e.yaxis.forEach(function(t,i){e.yaxis[i].min=0,e.yaxis[i].max=100}):(e.yaxis.min=0,e.yaxis.max=100)),e}},{key:"revertDefaultAxisMinMax",value:function(e){var t=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;e&&e.xaxis&&(a=e.xaxis),e&&e.yaxis&&(s=e.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(n){s[n]!==void 0&&(i.config.yaxis[n].min=s[n].min,i.config.yaxis[n].max=s[n].max)};i.config.yaxis.map(function(n,o){i.globals.zoomed||s[o]!==void 0?r(o):t.ctx.opts.yaxis[o]!==void 0&&(n.min=t.ctx.opts.yaxis[o].min,n.max=t.ctx.opts.yaxis[o].max)})}}]),y}();Oe=typeof window<"u"?window:void 0,tt=function(y,e){var t=(this!==void 0?this:y).SVG=function(l){if(t.supported)return l=new t.Doc(l),t.parser.draw||t.prepare(),l};if(t.ns="http://www.w3.org/2000/svg",t.xmlns="http://www.w3.org/2000/xmlns/",t.xlink="http://www.w3.org/1999/xlink",t.svgjs="http://svgjs.dev",t.supported=!0,!t.supported)return!1;t.did=1e3,t.eid=function(l){return"Svgjs"+c(l)+t.did++},t.create=function(l){var g=e.createElementNS(this.ns,l);return g.setAttribute("id",this.eid(l)),g},t.extend=function(){var l,g;g=(l=[].slice.call(arguments)).pop();for(var b=l.length-1;b>=0;b--)if(l[b])for(var C in g)l[b].prototype[C]=g[C];t.Set&&t.Set.inherit&&t.Set.inherit()},t.invent=function(l){var g=typeof l.create=="function"?l.create:function(){this.constructor.call(this,t.create(l.create))};return l.inherit&&(g.prototype=new l.inherit),l.extend&&t.extend(g,l.extend),l.construct&&t.extend(l.parent||t.Container,l.construct),g},t.adopt=function(l){return l?l.instance?l.instance:((g=l.nodeName=="svg"?l.parentNode instanceof y.SVGElement?new t.Nested:new t.Doc:l.nodeName=="linearGradient"?new t.Gradient("linear"):l.nodeName=="radialGradient"?new t.Gradient("radial"):t[c(l.nodeName)]?new t[c(l.nodeName)]:new t.Element(l)).type=l.nodeName,g.node=l,l.instance=g,g instanceof t.Doc&&g.namespace().defs(),g.setData(JSON.parse(l.getAttribute("svgjs:data"))||{}),g):null;var g},t.prepare=function(){var l=e.getElementsByTagName("body")[0],g=(l?new t.Doc(l):t.adopt(e.documentElement).nested()).size(2,0);t.parser={body:l||e.documentElement,draw:g.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:g.polyline().node,path:g.path().node,native:t.create("svg")}},t.parser={native:t.create("svg")},e.addEventListener("DOMContentLoaded",function(){t.parser.draw||t.prepare()},!1),t.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},t.utils={map:function(l,g){for(var b=l.length,C=[],k=0;k1?1:l,new t.Color({r:~~(this.r+(this.destination.r-this.r)*l),g:~~(this.g+(this.destination.g-this.g)*l),b:~~(this.b+(this.destination.b-this.b)*l)})):this}}),t.Color.test=function(l){return l+="",t.regex.isHex.test(l)||t.regex.isRgb.test(l)},t.Color.isRgb=function(l){return l&&typeof l.r=="number"&&typeof l.g=="number"&&typeof l.b=="number"},t.Color.isColor=function(l){return t.Color.isRgb(l)||t.Color.test(l)},t.Array=function(l,g){(l=(l||[]).valueOf()).length==0&&g&&(l=g.valueOf()),this.value=this.parse(l)},t.extend(t.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(l){return l=l.valueOf(),Array.isArray(l)?l:this.split(l)}}),t.PointArray=function(l,g){t.Array.call(this,l,g||[[0,0]])},t.PointArray.prototype=new t.Array,t.PointArray.prototype.constructor=t.PointArray;for(var i={M:function(l,g,b){return g.x=b.x=l[0],g.y=b.y=l[1],["M",g.x,g.y]},L:function(l,g){return g.x=l[0],g.y=l[1],["L",l[0],l[1]]},H:function(l,g){return g.x=l[0],["H",l[0]]},V:function(l,g){return g.y=l[0],["V",l[0]]},C:function(l,g){return g.x=l[4],g.y=l[5],["C",l[0],l[1],l[2],l[3],l[4],l[5]]},Q:function(l,g){return g.x=l[2],g.y=l[3],["Q",l[0],l[1],l[2],l[3]]},S:function(l,g){return g.x=l[2],g.y=l[3],["S",l[0],l[1],l[2],l[3]]},Z:function(l,g,b){return g.x=b.x,g.y=b.y,["Z"]}},a="mlhvqtcsaz".split(""),s=0,r=a.length;sR);return C},bbox:function(){return t.parser.draw||t.prepare(),t.parser.path.setAttribute("d",this.toString()),t.parser.path.getBBox()}}),t.Number=t.invent({create:function(l,g){this.value=0,this.unit=g||"",typeof l=="number"?this.value=isNaN(l)?0:isFinite(l)?l:l<0?-34e37:34e37:typeof l=="string"?(g=l.match(t.regex.numberAndUnit))&&(this.value=parseFloat(g[1]),g[5]=="%"?this.value/=100:g[5]=="s"&&(this.value*=1e3),this.unit=g[5]):l instanceof t.Number&&(this.value=l.valueOf(),this.unit=l.unit)},extend:{toString:function(){return(this.unit=="%"?~~(1e8*this.value)/1e6:this.unit=="s"?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(l){return l=new t.Number(l),new t.Number(this+l,this.unit||l.unit)},minus:function(l){return l=new t.Number(l),new t.Number(this-l,this.unit||l.unit)},times:function(l){return l=new t.Number(l),new t.Number(this*l,this.unit||l.unit)},divide:function(l){return l=new t.Number(l),new t.Number(this/l,this.unit||l.unit)},to:function(l){var g=new t.Number(this);return typeof l=="string"&&(g.unit=l),g},morph:function(l){return this.destination=new t.Number(l),l.relative&&(this.destination.value+=this.value),this},at:function(l){return this.destination?new t.Number(this.destination).minus(this).times(l).plus(this):this}}}),t.Element=t.invent({create:function(l){this._stroke=t.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=l)&&(this.type=l.nodeName,this.node.instance=this,this._stroke=l.getAttribute("stroke")||this._stroke)},extend:{x:function(l){return this.attr("x",l)},y:function(l){return this.attr("y",l)},cx:function(l){return l==null?this.x()+this.width()/2:this.x(l-this.width()/2)},cy:function(l){return l==null?this.y()+this.height()/2:this.y(l-this.height()/2)},move:function(l,g){return this.x(l).y(g)},center:function(l,g){return this.cx(l).cy(g)},width:function(l){return this.attr("width",l)},height:function(l){return this.attr("height",l)},size:function(l,g){var b=u(this,l,g);return this.width(new t.Number(b.width)).height(new t.Number(b.height))},clone:function(l){this.writeDataToDom();var g=x(this.node.cloneNode(!0));return l?l.add(g):this.after(g),g},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(l){return this.after(l).remove(),l},addTo:function(l){return l.put(this)},putIn:function(l){return l.add(this)},id:function(l){return this.attr("id",l)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return this.style("display")!="none"},toString:function(){return this.attr("id")},classes:function(){var l=this.attr("class");return l==null?[]:l.trim().split(t.regex.delimiter)},hasClass:function(l){return this.classes().indexOf(l)!=-1},addClass:function(l){if(!this.hasClass(l)){var g=this.classes();g.push(l),this.attr("class",g.join(" "))}return this},removeClass:function(l){return this.hasClass(l)&&this.attr("class",this.classes().filter(function(g){return g!=l}).join(" ")),this},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l)},reference:function(l){return t.get(this.attr(l))},parent:function(l){var g=this;if(!g.node.parentNode)return null;if(g=t.adopt(g.node.parentNode),!l)return g;for(;g&&g.node instanceof y.SVGElement;){if(typeof l=="string"?g.matches(l):g instanceof l)return g;if(!g.node.parentNode||g.node.parentNode.nodeName=="#document")return null;g=t.adopt(g.node.parentNode)}},doc:function(){return this instanceof t.Doc?this:this.parent(t.Doc)},parents:function(l){var g=[],b=this;do{if(!(b=b.parent(l))||!b.node)break;g.push(b)}while(b.parent);return g},matches:function(l){return function(g,b){return(g.matches||g.matchesSelector||g.msMatchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.oMatchesSelector).call(g,b)}(this.node,l)},native:function(){return this.node},svg:function(l){var g=e.createElementNS("http://www.w3.org/2000/svg","svg");if(!(l&&this instanceof t.Parent))return g.appendChild(l=e.createElementNS("http://www.w3.org/2000/svg","svg")),this.writeDataToDom(),l.appendChild(this.node.cloneNode(!0)),g.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");g.innerHTML=""+l.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var b=0,C=g.firstChild.childNodes.length;b":function(l){return-Math.cos(l*Math.PI)/2+.5},">":function(l){return Math.sin(l*Math.PI/2)},"<":function(l){return 1-Math.cos(l*Math.PI/2)}},t.morph=function(l){return function(g,b){return new t.MorphObj(g,b).at(l)}},t.Situation=t.invent({create:function(l){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new t.Number(l.duration).valueOf(),this.delay=new t.Number(l.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=l.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),t.FX=t.invent({create:function(l){this._target=l,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(l,g,b){se(l)==="object"&&(g=l.ease,b=l.delay,l=l.duration);var C=new t.Situation({duration:l||1e3,delay:b||0,ease:t.easing[g||"-"]||g});return this.queue(C),this},target:function(l){return l&&l instanceof t.Element?(this._target=l,this):this._target},timeToAbsPos:function(l){return(l-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(l){return this.situation.duration/this._speed*l+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=y.requestAnimationFrame((function(){this.step()}).bind(this))},stopAnimFrame:function(){y.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(l){return(typeof l=="function"||l instanceof t.Situation)&&this.situations.push(l),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof t.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var l,g=this.situation;if(g.init)return this;for(var b in g.animations){l=this.target()[b](),Array.isArray(l)||(l=[l]),Array.isArray(g.animations[b])||(g.animations[b]=[g.animations[b]]);for(var C=l.length;C--;)g.animations[b][C]instanceof t.Number&&(l[C]=new t.Number(l[C])),g.animations[b][C]=l[C].morph(g.animations[b][C])}for(var b in g.attrs)g.attrs[b]=new t.MorphObj(this.target().attr(b),g.attrs[b]);for(var b in g.styles)g.styles[b]=new t.MorphObj(this.target().style(b),g.styles[b]);return g.initialTransformation=this.target().matrixify(),g.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(l,g){var b=this.active;return this.active=!1,g&&this.clearQueue(),l&&this.situation&&(!b&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(l){var g=this.last();return this.target().on("finished.fx",function b(C){C.detail.situation==g&&(l.call(this,g),this.off("finished.fx",b))}),this._callStart()},during:function(l){var g=this.last(),b=function(C){C.detail.situation==g&&l.call(this,C.detail.pos,t.morph(C.detail.pos),C.detail.eased,g)};return this.target().off("during.fx",b).on("during.fx",b),this.after(function(){this.off("during.fx",b)}),this._callStart()},afterAll:function(l){var g=function b(C){l.call(this),this.off("allfinished.fx",b)};return this.target().off("allfinished.fx",g).on("allfinished.fx",g),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(l,g,b){return this.last()[b||"animations"][l]=g,this._callStart()},step:function(l){var g,b,C;l||(this.absPos=this.timeToAbsPos(+new Date)),this.situation.loops!==!1?(g=Math.max(this.absPos,0),b=Math.floor(g),this.situation.loops===!0||bthis.lastPos&&L<=k&&(this.situation.once[L].call(this.target(),this.pos,k),delete this.situation.once[L]);return this.active&&this.target().fire("during",{pos:this.pos,eased:k,fx:this,situation:this.situation}),this.situation?(this.eachAt(),this.pos==1&&!this.situation.reversed||this.situation.reversed&&this.pos==0?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=k,this):this},eachAt:function(){var l,g=this,b=this.target(),C=this.situation;for(var k in C.animations)l=[].concat(C.animations[k]).map(function(T){return typeof T!="string"&&T.at?T.at(C.ease(g.pos),g.pos):T}),b[k].apply(b,l);for(var k in C.attrs)l=[k].concat(C.attrs[k]).map(function(Y){return typeof Y!="string"&&Y.at?Y.at(C.ease(g.pos),g.pos):Y}),b.attr.apply(b,l);for(var k in C.styles)l=[k].concat(C.styles[k]).map(function(Y){return typeof Y!="string"&&Y.at?Y.at(C.ease(g.pos),g.pos):Y}),b.style.apply(b,l);if(C.transforms.length){l=C.initialTransformation,k=0;for(var L=C.transforms.length;k=0;--b)this[v[b]]=l[v[b]]!=null?l[v[b]]:g[v[b]]},extend:{extract:function(){var l=f(this,0,1);f(this,1,0);var g=180/Math.PI*Math.atan2(l.y,l.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(g*Math.PI/180)+this.f*Math.sin(g*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(g*Math.PI/180)+this.e*Math.sin(-g*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:g,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new t.Matrix(this)}},clone:function(){return new t.Matrix(this)},morph:function(l){return this.destination=new t.Matrix(l),this},multiply:function(l){return new t.Matrix(this.native().multiply(function(g){return g instanceof t.Matrix||(g=new t.Matrix(g)),g}(l).native()))},inverse:function(){return new t.Matrix(this.native().inverse())},translate:function(l,g){return new t.Matrix(this.native().translate(l||0,g||0))},native:function(){for(var l=t.parser.native.createSVGMatrix(),g=v.length-1;g>=0;g--)l[v[g]]=this[v[g]];return l},toString:function(){return"matrix("+m(this.a)+","+m(this.b)+","+m(this.c)+","+m(this.d)+","+m(this.e)+","+m(this.f)+")"}},parent:t.Element,construct:{ctm:function(){return new t.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof t.Nested){var l=this.rect(1,1),g=l.node.getScreenCTM();return l.remove(),new t.Matrix(g)}return new t.Matrix(this.node.getScreenCTM())}}}),t.Point=t.invent({create:function(l,g){var b;b=Array.isArray(l)?{x:l[0],y:l[1]}:se(l)==="object"?{x:l.x,y:l.y}:l!=null?{x:l,y:g??l}:{x:0,y:0},this.x=b.x,this.y=b.y},extend:{clone:function(){return new t.Point(this)},morph:function(l,g){return this.destination=new t.Point(l,g),this}}}),t.extend(t.Element,{point:function(l,g){return new t.Point(l,g).transform(this.screenCTM().inverse())}}),t.extend(t.Element,{attr:function(l,g,b){if(l==null){for(l={},b=(g=this.node.attributes).length-1;b>=0;b--)l[g[b].nodeName]=t.regex.isNumber.test(g[b].nodeValue)?parseFloat(g[b].nodeValue):g[b].nodeValue;return l}if(se(l)==="object")for(var C in l)this.attr(C,l[C]);else if(g===null)this.node.removeAttribute(l);else{if(g==null)return(g=this.node.getAttribute(l))==null?t.defaults.attrs[l]:t.regex.isNumber.test(g)?parseFloat(g):g;l=="stroke-width"?this.attr("stroke",parseFloat(g)>0?this._stroke:null):l=="stroke"&&(this._stroke=g),l!="fill"&&l!="stroke"||(t.regex.isImage.test(g)&&(g=this.doc().defs().image(g,0,0)),g instanceof t.Image&&(g=this.doc().defs().pattern(0,0,function(){this.add(g)}))),typeof g=="number"?g=new t.Number(g):t.Color.isColor(g)?g=new t.Color(g):Array.isArray(g)&&(g=new t.Array(g)),l=="leading"?this.leading&&this.leading(g):typeof b=="string"?this.node.setAttributeNS(b,l,g.toString()):this.node.setAttribute(l,g.toString()),!this.rebuild||l!="font-size"&&l!="x"||this.rebuild(l,g)}return this}}),t.extend(t.Element,{transform:function(l,g){var b;return se(l)!=="object"?(b=new t.Matrix(this).extract(),typeof l=="string"?b[l]:b):(b=new t.Matrix(this),g=!!g||!!l.relative,l.a!=null&&(b=g?b.multiply(new t.Matrix(l)):new t.Matrix(l)),this.attr("transform",b))}}),t.extend(t.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(t.regex.transforms).slice(0,-1).map(function(l){var g=l.trim().split("(");return[g[0],g[1].split(t.regex.delimiter).map(function(b){return parseFloat(b)})]}).reduce(function(l,g){return g[0]=="matrix"?l.multiply(p(g[1])):l[g[0]].apply(l,g[1])},new t.Matrix)},toParent:function(l){if(this==l)return this;var g=this.screenCTM(),b=l.screenCTM().inverse();return this.addTo(l).untransform().transform(b.multiply(g)),this},toDoc:function(){return this.toParent(this.doc())}}),t.Transformation=t.invent({create:function(l,g){if(arguments.length>1&&typeof g!="boolean")return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(l))for(var b=0,C=this.arguments.length;b=0},index:function(l){return[].slice.call(this.node.childNodes).indexOf(l.node)},get:function(l){return t.adopt(this.node.childNodes[l])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(l,g){for(var b=this.children(),C=0,k=b.length;C=0;g--)l.childNodes[g]instanceof y.SVGElement&&x(l.childNodes[g]);return t.adopt(l).id(t.eid(l.nodeName))}function m(l){return Math.abs(l)>1e-37?l:0}["fill","stroke"].forEach(function(l){var g={};g[l]=function(b){if(b===void 0)return this;if(typeof b=="string"||t.Color.isRgb(b)||b&&typeof b.fill=="function")this.attr(l,b);else for(var C=n[l].length-1;C>=0;C--)b[n[l][C]]!=null&&this.attr(n.prefix(l,n[l][C]),b[n[l][C]]);return this},t.extend(t.Element,t.FX,g)}),t.extend(t.Element,t.FX,{translate:function(l,g){return this.transform({x:l,y:g})},matrix:function(l){return this.attr("transform",new t.Matrix(arguments.length==6?[].slice.call(arguments):l))},opacity:function(l){return this.attr("opacity",l)},dx:function(l){return this.x(new t.Number(l).plus(this instanceof t.FX?0:this.x()),!0)},dy:function(l){return this.y(new t.Number(l).plus(this instanceof t.FX?0:this.y()),!0)}}),t.extend(t.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(l){return this.node.getPointAtLength(l)}}),t.Set=t.invent({create:function(l){Array.isArray(l)?this.members=l:this.clear()},extend:{add:function(){for(var l=[].slice.call(arguments),g=0,b=l.length;g-1&&this.members.splice(g,1),this},each:function(l){for(var g=0,b=this.members.length;g=0},index:function(l){return this.members.indexOf(l)},get:function(l){return this.members[l]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(l){return new t.Set(l)}}}),t.FX.Set=t.invent({create:function(l){this.set=l}}),t.Set.inherit=function(){var l=[];for(var g in t.Shape.prototype)typeof t.Shape.prototype[g]=="function"&&typeof t.Set.prototype[g]!="function"&&l.push(g);for(var g in l.forEach(function(C){t.Set.prototype[C]=function(){for(var k=0,L=this.members.length;k=0;l--)delete this.memory()[arguments[l]];return this},memory:function(){return this._memory||(this._memory={})}}),t.get=function(l){var g=e.getElementById(function(b){var C=(b||"").toString().match(t.regex.reference);if(C)return C[1]}(l)||l);return t.adopt(g)},t.select=function(l,g){return new t.Set(t.utils.map((g||e).querySelectorAll(l),function(b){return t.adopt(b)}))},t.extend(t.Parent,{select:function(l){return t.select(l,this.node)}});var v="abcdef".split("");if(typeof y.CustomEvent!="function"){var A=function(l,g){g=g||{bubbles:!1,cancelable:!1,detail:void 0};var b=e.createEvent("CustomEvent");return b.initCustomEvent(l,g.bubbles,g.cancelable,g.detail),b};A.prototype=y.Event.prototype,t.CustomEvent=A}else t.CustomEvent=y.CustomEvent;return t},se(S)==="object"?w.exports=Oe.document?tt(Oe,Oe.document):function(y){return tt(y,y.document)}:Oe.SVG=tt(Oe,Oe.document),(function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(r,n){return this.add(r,n),!r.attr("in")&&this.autoSetIn&&r.attr("in",this.source),r.attr("result")||r.attr("result",r),r},blend:function(r,n,o){return this.put(new SVG.BlendEffect(r,n,o))},colorMatrix:function(r,n){return this.put(new SVG.ColorMatrixEffect(r,n))},convolveMatrix:function(r){return this.put(new SVG.ConvolveMatrixEffect(r))},componentTransfer:function(r){return this.put(new SVG.ComponentTransferEffect(r))},composite:function(r,n,o){return this.put(new SVG.CompositeEffect(r,n,o))},flood:function(r,n){return this.put(new SVG.FloodEffect(r,n))},offset:function(r,n){return this.put(new SVG.OffsetEffect(r,n))},image:function(r){return this.put(new SVG.ImageEffect(r))},merge:function(){var r=[void 0];for(var n in arguments)r.push(arguments[n]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,r)))},gaussianBlur:function(r,n){return this.put(new SVG.GaussianBlurEffect(r,n))},morphology:function(r,n){return this.put(new SVG.MorphologyEffect(r,n))},diffuseLighting:function(r,n,o){return this.put(new SVG.DiffuseLightingEffect(r,n,o))},displacementMap:function(r,n,o,h,c){return this.put(new SVG.DisplacementMapEffect(r,n,o,h,c))},specularLighting:function(r,n,o,h){return this.put(new SVG.SpecularLightingEffect(r,n,o,h))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(r,n,o,h,c){return this.put(new SVG.TurbulenceEffect(r,n,o,h,c))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(r){var n=this.put(new SVG.Filter);return typeof r=="function"&&r.call(n,n),n}}),SVG.extend(SVG.Container,{filter:function(r){return this.defs().filter(r)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(r){return this.filterer=r instanceof SVG.Element?r:this.doc().filter(r),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(r){return this.filterer&&r===!0&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(r){return r==null?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",r)},result:function(r){return r==null?this.attr("result"):this.attr("result",r)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(r){return r==null?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",r)},result:function(r){return r==null?this.attr("result"):this.attr("result",r)},toString:function(){return this.result()}}});var y={blend:function(r,n){return this.parent()&&this.parent().blend(this,r,n)},colorMatrix:function(r,n){return this.parent()&&this.parent().colorMatrix(r,n).in(this)},convolveMatrix:function(r){return this.parent()&&this.parent().convolveMatrix(r).in(this)},componentTransfer:function(r){return this.parent()&&this.parent().componentTransfer(r).in(this)},composite:function(r,n){return this.parent()&&this.parent().composite(this,r,n)},flood:function(r,n){return this.parent()&&this.parent().flood(r,n)},offset:function(r,n){return this.parent()&&this.parent().offset(r,n).in(this)},image:function(r){return this.parent()&&this.parent().image(r)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(r,n){return this.parent()&&this.parent().gaussianBlur(r,n).in(this)},morphology:function(r,n){return this.parent()&&this.parent().morphology(r,n).in(this)},diffuseLighting:function(r,n,o){return this.parent()&&this.parent().diffuseLighting(r,n,o).in(this)},displacementMap:function(r,n,o,h){return this.parent()&&this.parent().displacementMap(this,r,n,o,h)},specularLighting:function(r,n,o,h){return this.parent()&&this.parent().specularLighting(r,n,o,h).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(r,n,o,h,c){return this.parent()&&this.parent().turbulence(r,n,o,h,c).in(this)}};SVG.extend(SVG.Effect,y),SVG.extend(SVG.ParentEffect,y),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(r){this.attr("in",r)}}});var e={blend:function(r,n,o){this.attr({in:r,in2:n,mode:o||"normal"})},colorMatrix:function(r,n){r=="matrix"&&(n=a(n)),this.attr({type:r,values:n===void 0?null:n})},convolveMatrix:function(r){r=a(r),this.attr({order:Math.sqrt(r.split(" ").length),kernelMatrix:r})},composite:function(r,n,o){this.attr({in:r,in2:n,operator:o})},flood:function(r,n){this.attr("flood-color",r),n!=null&&this.attr("flood-opacity",n)},offset:function(r,n){this.attr({dx:r,dy:n})},image:function(r){this.attr("href",r,SVG.xlink)},displacementMap:function(r,n,o,h,c){this.attr({in:r,in2:n,scale:o,xChannelSelector:h,yChannelSelector:c})},gaussianBlur:function(r,n){r!=null||n!=null?this.attr("stdDeviation",function(o){if(!Array.isArray(o))return o;for(var h=0,c=o.length,d=[];h1&&(te*=c=Math.sqrt(c),ee*=c),d=new SVG.Matrix().rotate(re).scale(1/te,1/ee).rotate(-re),oe=oe.transform(d),ne=ne.transform(d),u=[ne.x-oe.x,ne.y-oe.y],p=u[0]*u[0]+u[1]*u[1],f=Math.sqrt(p),u[0]/=f,u[1]/=f,x=p<4?Math.sqrt(1-p/4):0,ge===fe&&(x*=-1),m=new SVG.Point((ne.x+oe.x)/2+x*-u[1],(ne.y+oe.y)/2+x*u[0]),v=new SVG.Point(oe.x-m.x,oe.y-m.y),A=new SVG.Point(ne.x-m.x,ne.y-m.y),l=Math.acos(v.x/Math.sqrt(v.x*v.x+v.y*v.y)),v.y<0&&(l*=-1),g=Math.acos(A.x/Math.sqrt(A.x*A.x+A.y*A.y)),A.y<0&&(g*=-1),fe&&l>g&&(g+=2*Math.PI),!fe&&lr.maxX-t.width&&(n=(a=r.maxX-t.width)-this.startPoints.box.x),r.minY!=null&&sr.maxY-t.height&&(o=(s=r.maxY-t.height)-this.startPoints.box.y),r.snapToGrid!=null&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,n-=n%r.snapToGrid,o-=o%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:n,y:o},!0):this.el.move(a,s));return i},y.prototype.end=function(e){var t=this.drag(e);this.el.fire("dragend",{event:e,p:t,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,t){typeof e!="function"&&typeof e!="object"||(t=e,e=!0);var i=this.remember("_draggable")||new y(this);return(e=e===void 0||e)?i.init(t||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}).call(void 0),function(){function y(e){this.el=e,e.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,i,a){var s=typeof t!="string"?t:i[t];return a?s/2:s},this.pointCoords=function(t,i){var a=this.pointsList[t];return{x:this.pointCoord(a[0],i,t==="t"||t==="b"),y:this.pointCoord(a[1],i,t==="r"||t==="l")}}}y.prototype.init=function(e,t){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],t[s]!==void 0&&(this.options[s]=t[s]);var r=["points","pointsExclude"];for(var s in r){var n=this.options[r[s]];typeof n=="string"?n=n.length>0?n.split(/\s*,\s*/i):[]:typeof n=="boolean"&&r[s]==="points"&&(n=n?a:[]),this.options[r[s]]=n}this.options.points=[a,this.options.points].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)>-1})}),this.options.points=[this.options.points,this.options.pointsExclude].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)<0})}),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&["line","polyline","polygon"].indexOf(this.el.type)!==-1?this.selectPoints(e):this.selectRect(e),this.observe(),this.cleanup()},y.prototype.selectPoints=function(e){return this.pointSelection.isSelected=e,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},y.prototype.getPointArray=function(){var e=this.el.bbox();return this.el.array().valueOf().map(function(t){return[t[0]-e.x,t[1]-e.y]})},y.prototype.drawPoints=function(){for(var e=this,t=this.getPointArray(),i=0,a=t.length;i0&&this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y+n[1]).size(this.parameters.box.width-n[0],this.parameters.box.height-n[1])}};break;case"rt":this.calc=function(s,r){var n=this.snapToGrid(s,r,2);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).size(this.parameters.box.width+n[0],this.parameters.box.height-n[1])}};break;case"rb":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+n[0],this.parameters.box.height+n[1])}};break;case"lb":this.calc=function(s,r){var n=this.snapToGrid(s,r,1);if(this.parameters.box.width-n[0]>0&&this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).size(this.parameters.box.width-n[0],this.parameters.box.height+n[1])}};break;case"t":this.calc=function(s,r){var n=this.snapToGrid(s,r,2);if(this.parameters.box.height-n[1]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).height(this.parameters.box.height-n[1])}};break;case"r":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.width+n[0]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+n[0])}};break;case"b":this.calc=function(s,r){var n=this.snapToGrid(s,r,0);if(this.parameters.box.height+n[1]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+n[1])}};break;case"l":this.calc=function(s,r){var n=this.snapToGrid(s,r,1);if(this.parameters.box.width-n[0]>0){if(this.parameters.type==="text")return;this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).width(this.parameters.box.width-n[0])}};break;case"rot":this.calc=function(s,r){var n=s+this.parameters.p.x,o=r+this.parameters.p.y,h=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),c=Math.atan2(o-this.parameters.box.y-this.parameters.box.height/2,n-this.parameters.box.x-this.parameters.box.width/2),d=this.parameters.rotation+180*(c-h)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(d-d%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(s,r){var n=this.snapToGrid(s,r,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),o=this.el.array().valueOf();o[this.parameters.i][0]=this.parameters.pointCoords[0]+n[0],o[this.parameters.i][1]=this.parameters.pointCoords[1]+n[1],this.el.plot(o)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:e}),SVG.on(window,"touchmove.resize",function(s){t.update(s||window.event)}),SVG.on(window,"touchend.resize",function(){t.done()}),SVG.on(window,"mousemove.resize",function(s){t.update(s||window.event)}),SVG.on(window,"mouseup.resize",function(){t.done()})},y.prototype.update=function(e){if(e){var t=this._extractPosition(e),i=this.transformPoint(t.x,t.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:e})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},y.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},y.prototype.snapToGrid=function(e,t,i,a){var s;return a!==void 0?s=[(i+e)%this.options.snapToGrid,(a+t)%this.options.snapToGrid]:(i=i??3,s=[(this.parameters.box.x+e+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+t+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),e<0&&(s[0]-=this.options.snapToGrid),t<0&&(s[1]-=this.options.snapToGrid),e-=Math.abs(s[0])n.maxX&&(e=n.maxX-s),n.minY!==void 0&&r+tn.maxY&&(t=n.maxY-r),[e,t]},y.prototype.checkAspectRatio=function(e,t){if(!this.options.saveAspectRatio)return e;var i=e.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+e[0],r=this.parameters.box.height-e[1],n=s/r;return na&&(i[0]=this.parameters.box.width-r*a,t&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new y(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),window.Apex===void 0&&(window.Apex={});var Qt=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","highlightSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new xe(this.ctx),this.ctx.axes=new Zi(this.ctx),this.ctx.core=new Aa(this.ctx.el,this.ctx),this.ctx.config=new je({}),this.ctx.data=new Ht(this.ctx),this.ctx.grid=new Bt(this.ctx),this.ctx.graphics=new B(this.ctx),this.ctx.coreUtils=new de(this.ctx),this.ctx.crosshairs=new xt(this.ctx),this.ctx.events=new Ui(this.ctx),this.ctx.exports=new Qe(this.ctx),this.ctx.fill=new Pe(this.ctx),this.ctx.localization=new qi(this.ctx),this.ctx.options=new Xe,this.ctx.responsive=new $i(this.ctx),this.ctx.series=new Le(this.ctx),this.ctx.theme=new Ji(this.ctx),this.ctx.formatters=new Ve(this.ctx),this.ctx.titleSubtitle=new Ki(this.ctx),this.ctx.legend=new Gt(this.ctx),this.ctx.toolbar=new Vt(this.ctx),this.ctx.tooltip=new Ut(this.ctx),this.ctx.dimensions=new et(this.ctx),this.ctx.updateHelpers=new ka(this.ctx),this.ctx.zoomPanSelection=new sa(this.ctx),this.ctx.w.globals.tooltip=new Ut(this.ctx)}}]),y}(),ei=function(){function y(e){E(this,y),this.ctx=e,this.w=e.w}return I(y,[{key:"clear",value:function(e){var t=e.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:t})}},{key:"killSVG",value:function(e){e.each(function(t,i){this.removeClass("*"),this.off(),this.stop()},!0),e.ungroup(),e.clear()}},{key:"clearDomElements",value:function(e){var t=this,i=e.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach(function(n){s.removeEventListener(n,t.ctx.events.documentEvent)});var r=this.w.globals.dom;if(this.ctx.el!==null)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),y}(),yt=new WeakMap,Sa=function(){function y(e,t){E(this,y),this.opts=t,this.ctx=this,this.w=new ji(t).init(),this.el=e,this.w.globals.cuid=z.randomId(),this.w.globals.chartID=this.w.config.chart.id?z.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Qt(this).initModules(),this.create=z.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return I(y,[{key:"render",value:function(){var e=this;return new Promise(function(t,i){if(e.el!==null){Apex._chartInstances===void 0&&(Apex._chartInstances=[]),e.w.config.chart.id&&Apex._chartInstances.push({id:e.w.globals.chartID,group:e.w.config.chart.group,chart:e}),e.setLocale(e.w.config.chart.defaultLocale);var a=e.w.config.chart.events.beforeMount;typeof a=="function"&&a(e,e.w),e.events.fireEvent("beforeMount",[e,e.w]),window.addEventListener("resize",e.windowResizeHandler),function(u,f){var p=!1;if(u.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var x=u.getBoundingClientRect();u.style.display!=="none"&&x.width!==0||(p=!0)}var m=new ResizeObserver(function(v){p&&f.call(u,v),p=!0});u.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(u.children).forEach(function(v){return m.observe(v)}):m.observe(u),yt.set(f,m)}(e.el.parentNode,e.parentResizeHandler);var s=e.el.getRootNode&&e.el.getRootNode(),r=z.is("ShadowRoot",s),n=e.el.ownerDocument,o=r?s.getElementById("apexcharts-css"):n.getElementById("apexcharts-css");if(!o){var h;(o=document.createElement("style")).id="apexcharts-css",o.textContent=`@keyframes opaque { - 0% { - opacity: 0 - } - - to { - opacity: 1 - } -} - -@keyframes resizeanim { - - 0%, - to { - opacity: 0 - } -} - -.apexcharts-canvas { - position: relative; - user-select: none -} - -.apexcharts-canvas ::-webkit-scrollbar { - -webkit-appearance: none; - width: 6px -} - -.apexcharts-canvas ::-webkit-scrollbar-thumb { - border-radius: 4px; - background-color: rgba(0, 0, 0, .5); - box-shadow: 0 0 1px rgba(255, 255, 255, .5); - -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5) -} - -.apexcharts-inner { - position: relative -} - -.apexcharts-text tspan { - font-family: inherit -} - -rect.legend-mouseover-inactive, -.legend-mouseover-inactive rect, -.legend-mouseover-inactive path, -.legend-mouseover-inactive circle, -.legend-mouseover-inactive line, -.legend-mouseover-inactive text.apexcharts-yaxis-title-text, -.legend-mouseover-inactive text.apexcharts-yaxis-label { - transition: .15s ease all; - opacity: .2 -} - -.apexcharts-legend-text { - padding-left: 15px; - margin-left: -15px; -} - -.apexcharts-series-collapsed { - opacity: 0 -} - -.apexcharts-tooltip { - border-radius: 5px; - box-shadow: 2px 2px 6px -4px #999; - cursor: default; - font-size: 14px; - left: 62px; - opacity: 0; - pointer-events: none; - position: absolute; - top: 20px; - display: flex; - flex-direction: column; - overflow: hidden; - white-space: nowrap; - z-index: 12; - transition: .15s ease all -} - -.apexcharts-tooltip.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-tooltip.apexcharts-theme-light { - border: 1px solid #e3e3e3; - background: rgba(255, 255, 255, .96) -} - -.apexcharts-tooltip.apexcharts-theme-dark { - color: #fff; - background: rgba(30, 30, 30, .8) -} - -.apexcharts-tooltip * { - font-family: inherit -} - -.apexcharts-tooltip-title { - padding: 6px; - font-size: 15px; - margin-bottom: 4px -} - -.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title { - background: #eceff1; - border-bottom: 1px solid #ddd -} - -.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title { - background: rgba(0, 0, 0, .7); - border-bottom: 1px solid #333 -} - -.apexcharts-tooltip-text-goals-value, -.apexcharts-tooltip-text-y-value, -.apexcharts-tooltip-text-z-value { - display: inline-block; - margin-left: 5px; - font-weight: 600 -} - -.apexcharts-tooltip-text-goals-label:empty, -.apexcharts-tooltip-text-goals-value:empty, -.apexcharts-tooltip-text-y-label:empty, -.apexcharts-tooltip-text-y-value:empty, -.apexcharts-tooltip-text-z-value:empty, -.apexcharts-tooltip-title:empty { - display: none -} - -.apexcharts-tooltip-text-goals-label, -.apexcharts-tooltip-text-goals-value { - padding: 6px 0 5px -} - -.apexcharts-tooltip-goals-group, -.apexcharts-tooltip-text-goals-label, -.apexcharts-tooltip-text-goals-value { - display: flex -} - -.apexcharts-tooltip-text-goals-label:not(:empty), -.apexcharts-tooltip-text-goals-value:not(:empty) { - margin-top: -6px -} - -.apexcharts-tooltip-marker { - width: 12px; - height: 12px; - position: relative; - top: 0; - margin-right: 10px; - border-radius: 50% -} - -.apexcharts-tooltip-series-group { - padding: 0 10px; - display: none; - text-align: left; - justify-content: left; - align-items: center -} - -.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker { - opacity: 1 -} - -.apexcharts-tooltip-series-group.apexcharts-active, -.apexcharts-tooltip-series-group:last-child { - padding-bottom: 4px -} - -.apexcharts-tooltip-y-group { - padding: 6px 0 5px -} - -.apexcharts-custom-tooltip, -.apexcharts-tooltip-box { - padding: 4px 8px -} - -.apexcharts-tooltip-boxPlot { - display: flex; - flex-direction: column-reverse -} - -.apexcharts-tooltip-box>div { - margin: 4px 0 -} - -.apexcharts-tooltip-box span.value { - font-weight: 700 -} - -.apexcharts-tooltip-rangebar { - padding: 5px 8px -} - -.apexcharts-tooltip-rangebar .category { - font-weight: 600; - color: #777 -} - -.apexcharts-tooltip-rangebar .series-name { - font-weight: 700; - display: block; - margin-bottom: 5px -} - -.apexcharts-xaxistooltip, -.apexcharts-yaxistooltip { - opacity: 0; - pointer-events: none; - color: #373d3f; - font-size: 13px; - text-align: center; - border-radius: 2px; - position: absolute; - z-index: 10; - background: #eceff1; - border: 1px solid #90a4ae -} - -.apexcharts-xaxistooltip { - padding: 9px 10px; - transition: .15s ease all -} - -.apexcharts-xaxistooltip.apexcharts-theme-dark { - background: rgba(0, 0, 0, .7); - border: 1px solid rgba(0, 0, 0, .5); - color: #fff -} - -.apexcharts-xaxistooltip:after, -.apexcharts-xaxistooltip:before { - left: 50%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none -} - -.apexcharts-xaxistooltip:after { - border-color: transparent; - border-width: 6px; - margin-left: -6px -} - -.apexcharts-xaxistooltip:before { - border-color: transparent; - border-width: 7px; - margin-left: -7px -} - -.apexcharts-xaxistooltip-bottom:after, -.apexcharts-xaxistooltip-bottom:before { - bottom: 100% -} - -.apexcharts-xaxistooltip-top:after, -.apexcharts-xaxistooltip-top:before { - top: 100% -} - -.apexcharts-xaxistooltip-bottom:after { - border-bottom-color: #eceff1 -} - -.apexcharts-xaxistooltip-bottom:before { - border-bottom-color: #90a4ae -} - -.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after, -.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before { - border-bottom-color: rgba(0, 0, 0, .5) -} - -.apexcharts-xaxistooltip-top:after { - border-top-color: #eceff1 -} - -.apexcharts-xaxistooltip-top:before { - border-top-color: #90a4ae -} - -.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after, -.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before { - border-top-color: rgba(0, 0, 0, .5) -} - -.apexcharts-xaxistooltip.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-yaxistooltip { - padding: 4px 10px -} - -.apexcharts-yaxistooltip.apexcharts-theme-dark { - background: rgba(0, 0, 0, .7); - border: 1px solid rgba(0, 0, 0, .5); - color: #fff -} - -.apexcharts-yaxistooltip:after, -.apexcharts-yaxistooltip:before { - top: 50%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none -} - -.apexcharts-yaxistooltip:after { - border-color: transparent; - border-width: 6px; - margin-top: -6px -} - -.apexcharts-yaxistooltip:before { - border-color: transparent; - border-width: 7px; - margin-top: -7px -} - -.apexcharts-yaxistooltip-left:after, -.apexcharts-yaxistooltip-left:before { - left: 100% -} - -.apexcharts-yaxistooltip-right:after, -.apexcharts-yaxistooltip-right:before { - right: 100% -} - -.apexcharts-yaxistooltip-left:after { - border-left-color: #eceff1 -} - -.apexcharts-yaxistooltip-left:before { - border-left-color: #90a4ae -} - -.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after, -.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before { - border-left-color: rgba(0, 0, 0, .5) -} - -.apexcharts-yaxistooltip-right:after { - border-right-color: #eceff1 -} - -.apexcharts-yaxistooltip-right:before { - border-right-color: #90a4ae -} - -.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after, -.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before { - border-right-color: rgba(0, 0, 0, .5) -} - -.apexcharts-yaxistooltip.apexcharts-active { - opacity: 1 -} - -.apexcharts-yaxistooltip-hidden { - display: none -} - -.apexcharts-xcrosshairs, -.apexcharts-ycrosshairs { - pointer-events: none; - opacity: 0; - transition: .15s ease all -} - -.apexcharts-xcrosshairs.apexcharts-active, -.apexcharts-ycrosshairs.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-ycrosshairs-hidden { - opacity: 0 -} - -.apexcharts-selection-rect { - cursor: move -} - -.svg_select_boundingRect, -.svg_select_points_rot { - pointer-events: none; - opacity: 0; - visibility: hidden -} - -.apexcharts-selection-rect+g .svg_select_boundingRect, -.apexcharts-selection-rect+g .svg_select_points_rot { - opacity: 0; - visibility: hidden -} - -.apexcharts-selection-rect+g .svg_select_points_l, -.apexcharts-selection-rect+g .svg_select_points_r { - cursor: ew-resize; - opacity: 1; - visibility: visible -} - -.svg_select_points { - fill: #efefef; - stroke: #333; - rx: 2 -} - -.apexcharts-svg.apexcharts-zoomable.hovering-zoom { - cursor: crosshair -} - -.apexcharts-svg.apexcharts-zoomable.hovering-pan { - cursor: move -} - -.apexcharts-menu-icon, -.apexcharts-pan-icon, -.apexcharts-reset-icon, -.apexcharts-selection-icon, -.apexcharts-toolbar-custom-icon, -.apexcharts-zoom-icon, -.apexcharts-zoomin-icon, -.apexcharts-zoomout-icon { - cursor: pointer; - width: 20px; - height: 20px; - line-height: 24px; - color: #6e8192; - text-align: center -} - -.apexcharts-menu-icon svg, -.apexcharts-reset-icon svg, -.apexcharts-zoom-icon svg, -.apexcharts-zoomin-icon svg, -.apexcharts-zoomout-icon svg { - fill: #6e8192 -} - -.apexcharts-selection-icon svg { - fill: #444; - transform: scale(.76) -} - -.apexcharts-theme-dark .apexcharts-menu-icon svg, -.apexcharts-theme-dark .apexcharts-pan-icon svg, -.apexcharts-theme-dark .apexcharts-reset-icon svg, -.apexcharts-theme-dark .apexcharts-selection-icon svg, -.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg, -.apexcharts-theme-dark .apexcharts-zoom-icon svg, -.apexcharts-theme-dark .apexcharts-zoomin-icon svg, -.apexcharts-theme-dark .apexcharts-zoomout-icon svg { - fill: #f3f4f5 -} - -.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg, -.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg, -.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg { - fill: #008ffb -} - -.apexcharts-theme-light .apexcharts-menu-icon:hover svg, -.apexcharts-theme-light .apexcharts-reset-icon:hover svg, -.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg, -.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg, -.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg, -.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg { - fill: #333 -} - -.apexcharts-menu-icon, -.apexcharts-selection-icon { - position: relative -} - -.apexcharts-reset-icon { - margin-left: 5px -} - -.apexcharts-menu-icon, -.apexcharts-reset-icon, -.apexcharts-zoom-icon { - transform: scale(.85) -} - -.apexcharts-zoomin-icon, -.apexcharts-zoomout-icon { - transform: scale(.7) -} - -.apexcharts-zoomout-icon { - margin-right: 3px -} - -.apexcharts-pan-icon { - transform: scale(.62); - position: relative; - left: 1px; - top: 0 -} - -.apexcharts-pan-icon svg { - fill: #fff; - stroke: #6e8192; - stroke-width: 2 -} - -.apexcharts-pan-icon.apexcharts-selected svg { - stroke: #008ffb -} - -.apexcharts-pan-icon:not(.apexcharts-selected):hover svg { - stroke: #333 -} - -.apexcharts-toolbar { - position: absolute; - z-index: 11; - max-width: 176px; - text-align: right; - border-radius: 3px; - padding: 0 6px 2px; - display: flex; - justify-content: space-between; - align-items: center -} - -.apexcharts-menu { - background: #fff; - position: absolute; - top: 100%; - border: 1px solid #ddd; - border-radius: 3px; - padding: 3px; - right: 10px; - opacity: 0; - min-width: 110px; - transition: .15s ease all; - pointer-events: none -} - -.apexcharts-menu.apexcharts-menu-open { - opacity: 1; - pointer-events: all; - transition: .15s ease all -} - -.apexcharts-menu-item { - padding: 6px 7px; - font-size: 12px; - cursor: pointer -} - -.apexcharts-theme-light .apexcharts-menu-item:hover { - background: #eee -} - -.apexcharts-theme-dark .apexcharts-menu { - background: rgba(0, 0, 0, .7); - color: #fff -} - -@media screen and (min-width:768px) { - .apexcharts-canvas:hover .apexcharts-toolbar { - opacity: 1 - } -} - -.apexcharts-canvas .apexcharts-element-hidden, -.apexcharts-datalabel.apexcharts-element-hidden, -.apexcharts-hide .apexcharts-series-points { - opacity: 0; -} - -.apexcharts-hidden-element-shown { - opacity: 1; - transition: 0.25s ease all; -} - -.apexcharts-datalabel, -.apexcharts-datalabel-label, -.apexcharts-datalabel-value, -.apexcharts-datalabels, -.apexcharts-pie-label { - cursor: default; - pointer-events: none -} - -.apexcharts-pie-label-delay { - opacity: 0; - animation-name: opaque; - animation-duration: .3s; - animation-fill-mode: forwards; - animation-timing-function: ease -} - -.apexcharts-radialbar-label { - cursor: pointer; -} - -.apexcharts-annotation-rect, -.apexcharts-area-series .apexcharts-area, -.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, -.apexcharts-gridline, -.apexcharts-line, -.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, -.apexcharts-point-annotation-label, -.apexcharts-radar-series path:not(.apexcharts-marker), -.apexcharts-radar-series polygon, -.apexcharts-toolbar svg, -.apexcharts-tooltip .apexcharts-marker, -.apexcharts-xaxis-annotation-label, -.apexcharts-yaxis-annotation-label, -.apexcharts-zoom-rect { - pointer-events: none -} - -.apexcharts-tooltip-active .apexcharts-marker { - transition: .15s ease all -} - -.resize-triggers { - animation: 1ms resizeanim; - visibility: hidden; - opacity: 0; - height: 100%; - width: 100%; - overflow: hidden -} - -.contract-trigger:before, -.resize-triggers, -.resize-triggers>div { - content: " "; - display: block; - position: absolute; - top: 0; - left: 0 -} - -.resize-triggers>div { - height: 100%; - width: 100%; - background: #eee; - overflow: auto -} - -.contract-trigger:before { - overflow: hidden; - width: 200%; - height: 200% -} - -.apexcharts-bar-goals-markers { - pointer-events: none -} - -.apexcharts-bar-shadows { - pointer-events: none -} - -.apexcharts-rangebar-goals-markers { - pointer-events: none -}`;var c=((h=e.opts.chart)===null||h===void 0?void 0:h.nonce)||e.w.config.chart.nonce;c&&o.setAttribute("nonce",c),r?s.prepend(o):n.head.appendChild(o)}var d=e.create(e.w.config.series,{});if(!d)return t(e);e.mount(d).then(function(){typeof e.w.config.chart.events.mounted=="function"&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent("mounted",[e,e.w]),t(d)}).catch(function(u){i(u)})}else i(new Error("Element not found"))})}},{key:"create",value:function(e,t){var i=this,a=this.w;new Qt(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,this.responsive.checkResponsiveConfig(t),a.config.xaxis.convertedCatToNumeric&&new _e(a.config).convertCatToNumericXaxis(a.config,this.ctx),this.el===null||(this.core.setupElements(),a.config.chart.type==="treemap"&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),s.svgWidth===0))return s.animationEnded=!0,null;var r=e;e.forEach(function(u,f){u.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:f}))});var n=de.checkComboSeries(r,a.config.chart.type);s.comboCharts=n.comboCharts,s.comboBarCount=n.comboBarCount;var o=r.every(function(u){return u.data&&u.data.length===0});(r.length===0||o&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Ne(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),a.config.xaxis.type!=="category"&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new de(this).getLargestMarkerSize(),this.dimensions.plotCoords();var h=this.core.xySettings();this.grid.createGridMask();var c=this.core.plotChartType(r,h),d=new He(this);return d.bringForward(),a.config.dataLabels.background.enabled&&d.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:c,xyRatios:h,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:"mount",value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=this,a=i.w;return new Promise(function(s,r){if(i.el===null)return r(new Error("Not enough data to display or target element not found"));(t===null||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Bt(i);var n,o,h=i.grid.drawGrid();if(i.annotations=new _i(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),a.config.grid.position==="back"&&(h&&a.globals.dom.elGraphical.add(h.el),h!=null&&(n=h.elGridBorders)!==null&&n!==void 0&&n.node&&a.globals.dom.elGraphical.add(h.elGridBorders)),Array.isArray(t.elGraph))for(var c=0;c0&&a.globals.memory.methodsToExec.forEach(function(p){p.method(p.params,!1,p.context)}),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)})}},{key:"destroy",value:function(){var e,t;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,e=this.parentResizeHandler,(t=yt.get(e))&&(t.disconnect(),yt.delete(e));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach(function(a,s){a.id===z.escapeString(i)&&Apex._chartInstances.splice(s,1)}),new ei(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],a=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],n=this.w;return n.globals.selection=void 0,e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map(function(o,h){return t.updateHelpers._extendSeries(o,h)})),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,i,a,s,r)}},{key:"updateSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,i)}},{key:"appendSeries",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=this.w.config.series.slice();return a.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,t,i)}},{key:"appendData",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];this.series.resetSeries(e,t)}},{key:"addEventListener",value:function(e,t){this.events.addEventListener(e,t)}},{key:"removeEventListener",value:function(e,t){this.events.removeEventListener(e,t)}},{key:"addXaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(e,t,a)}},{key:"addYaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(e,t,a)}},{key:"addPointAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(e,t,a)}},{key:"clearAnnotations",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:"removeAnnotation",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,i=this;t&&(i=t),i.annotations.removeAnnotation(i,e)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:"getHighestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new ft(this.ctx).getMinYMaxY(e).highestY}},{key:"getLowestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new ft(this.ctx).getMinYMaxY(e).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:"zoomX",value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:"setLocale",value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:"dataURI",value:function(e){return new Qe(this.ctx).dataURI(e)}},{key:"exportToCSV",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return new Qe(this.ctx).exportToCSV(e)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()},150)}},{key:"_windowResizeHandler",value:function(){var e=this.w.config.chart.redrawOnWindowResize;typeof e=="function"&&(e=e()),e&&this._windowResize()}}],[{key:"getChartByID",value:function(e){var t=z.escapeString(e);if(Apex._chartInstances){var i=Apex._chartInstances.filter(function(a){return a.id===t})[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),t=0;t2?s-2:0),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

OPRMAOsPHcgF;;E7(tL?Xclh%AO9io# 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ð-@ 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 QmE`XIAD@o%7xcvl09FY-)&Kwi diff --git a/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map b/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map deleted file mode 100644 index ea5acc90..00000000 --- a/src/web/assets/dist/assets/vue-apexcharts-Nop2JhTm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"vue-apexcharts-Nop2JhTm.js","sources":["../../../../../buildchain/node_modules/axios/lib/helpers/bind.js","../../../../../buildchain/node_modules/axios/lib/utils.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/null.js","../../../../../buildchain/node_modules/axios/lib/helpers/toFormData.js","../../../../../buildchain/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/helpers/buildURL.js","../../../../../buildchain/node_modules/axios/lib/core/InterceptorManager.js","../../../../../buildchain/node_modules/axios/lib/defaults/transitional.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/index.js","../../../../../buildchain/node_modules/axios/lib/platform/common/utils.js","../../../../../buildchain/node_modules/axios/lib/platform/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../buildchain/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../buildchain/node_modules/axios/lib/defaults/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/transformData.js","../../../../../buildchain/node_modules/axios/lib/cancel/isCancel.js","../../../../../buildchain/node_modules/axios/lib/cancel/CanceledError.js","../../../../../buildchain/node_modules/axios/lib/core/settle.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseProtocol.js","../../../../../buildchain/node_modules/axios/lib/helpers/speedometer.js","../../../../../buildchain/node_modules/axios/lib/helpers/throttle.js","../../../../../buildchain/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../buildchain/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../buildchain/node_modules/axios/lib/helpers/cookies.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../buildchain/node_modules/axios/lib/helpers/combineURLs.js","../../../../../buildchain/node_modules/axios/lib/core/buildFullPath.js","../../../../../buildchain/node_modules/axios/lib/core/mergeConfig.js","../../../../../buildchain/node_modules/axios/lib/helpers/resolveConfig.js","../../../../../buildchain/node_modules/axios/lib/adapters/xhr.js","../../../../../buildchain/node_modules/axios/lib/helpers/composeSignals.js","../../../../../buildchain/node_modules/axios/lib/helpers/trackStream.js","../../../../../buildchain/node_modules/axios/lib/adapters/fetch.js","../../../../../buildchain/node_modules/axios/lib/adapters/adapters.js","../../../../../buildchain/node_modules/axios/lib/core/dispatchRequest.js","../../../../../buildchain/node_modules/axios/lib/env/data.js","../../../../../buildchain/node_modules/axios/lib/helpers/validator.js","../../../../../buildchain/node_modules/axios/lib/core/Axios.js","../../../../../buildchain/node_modules/axios/lib/cancel/CancelToken.js","../../../../../buildchain/node_modules/axios/lib/helpers/spread.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../buildchain/node_modules/axios/lib/axios.js","../../../../../buildchain/node_modules/apexcharts/dist/apexcharts.min.js","../../../../../buildchain/node_modules/vue-apexcharts/dist/vue-apexcharts.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*!\n * ApexCharts v3.53.0\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===x(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"preciseAddition\",value:function(t,e){var i=(String(t).split(\".\")[1]||\"\").length,a=(String(e).split(\".\")[1]||\"\").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isMsEdge\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"Edge/\");return e>0&&parseInt(t.substring(e+5,t.indexOf(\".\",e)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),m=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return s(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":default:t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a){t.attr({opacity:0}).animate(e,i).attr({opacity:1}).afterAll((function(){a()}))}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){v.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a,s=this.w,r=i.blur,o=i.top,n=i.left,l=i.color,h=i.opacity;if((null===(a=s.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===s.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;var c=t.flood(Array.isArray(l)?l[e]:l,h).composite(t.sourceAlpha,\"in\").offset(n,o).gaussianBlur(r).merge(t.source);return t.blend(t.source,c)}},{key:\"dropShadow\",value:function(t,e){var i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e.top,o=e.left,n=e.blur,l=e.color,h=e.opacity,c=e.noUserSpaceOnUse,d=this.w;if(t.unfilter(!0),v.isMsEdge()&&\"radialBar\"===d.config.chart.type)return t;if((null===(i=d.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=d.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(s)))return t;return l=Array.isArray(l)?l[s]:l,t.filter((function(t){var e=null;e=v.isSafari()||v.isFirefox()||v.isMsEdge()?t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n):t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),w=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var o=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;\"Z\"==o[o.length-1][0]&&o[0].length>2&&(h=[\"L\",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&\"L\"==g[0]&&u.length>2&&\"L\"==u[0]){var f,p,x=r(d),b=r(g),v=r(u);f=i(b,x,e),p=i(b,v,e),s(g,f),g.origPoint=b,n.push(g);var m=a(f,b,.5),y=a(b,p,.5),w=[\"C\",m.x,m.y,y.x,y.y,p.x,p.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push([\"Z\"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,f=void 0===u?null:u,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":f,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n=\"a\");var l=[n,t,e,i,a,s,r,o].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,o=t.stroke,n=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,f=t.className,p=t.shouldClipToGrid,x=void 0===p||p,b=t.bindEventsOnPaths,v=void 0===b||b,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new y(this.ctx),C=new m(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?e=s:(e=r,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[a]:A.config.stroke.dashArray;var z=this.drawPath({d:e,stroke:o,strokeWidth:n,fill:h,fillOpacity:1,classes:f,strokeLinecap:l,strokeDashArray:T});if(z.attr(\"index\",a),x&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,a);else if(A.config.chart.dropShadow.enabled&&k){var X=A.config.chart.dropShadow;S.dropShadow(z,X,a)}v&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:r,pathFrom:s});var E={el:z,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:n,delay:c};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(d(d({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(d(d({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=v.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=v.hexToRgba(i,s));var d=0,g=1,u=1,f=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,f=void 0!==n[3]?n[3]/100:null);var p=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==f&&t.at(f,e,a)})):c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),p){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:x,cy:b,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),k=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0){var u=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/o[e]};if(r.isMultipleYAxis){l=[];for(var f=0;f0&&e.forEach((function(e){var o=[],n=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(o.push(t.series[a]),n.push(i))})),o.length>0&&r.push(a.draw(o,i,n))})),r}}],[{key:\"checkComboSeries\",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e=\"line\"),t.length&&void 0!==t[0].type&&t.forEach((function(t){\"bar\"!==t.type&&\"column\"!==t.type&&\"candlestick\"!==t.type&&\"boxPlot\"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,o,n,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(o=r.annotations)&&void 0!==o&&o.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(n=e)&&void 0!==n&&null!==(l=n.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),A=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=!1,r=this.w;if(this.annoCtx.invertAxis){var o=r.globals.labels;r.config.xaxis.convertedCatToNumeric&&(o=r.globals.categoryLabels);var n=o.indexOf(a),l=r.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(n+1)+\")\");i=l?parseFloat(l.getAttribute(\"y\")):(r.globals.gridHeight/o.length-1)*(n+1)-r.globals.barHeight,void 0!==e.seriesIndex&&r.globals.barHeight&&(i=i-r.globals.barHeight/2*(r.globals.series.length-1)+r.globals.barHeight*e.seriesIndex)}else{var h,c=r.globals.seriesYAxisMap[e.yAxisIndex][0];if(r.config.yaxis[e.yAxisIndex].logarithmic)h=(a=new k(this.annoCtx.ctx).getLogVal(r.config.yaxis[e.yAxisIndex].logBase,a,c))/r.globals.yLogRatio[c];else h=(a-r.globals.minYArr[c])/(r.globals.yRange[c]/r.globals.gridHeight);h>r.globals.gridHeight?(h=r.globals.gridHeight,s=!0):h<0&&(h=0,s=!0),i=r.globals.gridHeight-h,!e.marker||void 0!==e.y&&null!==e.y||(i=0),r.config.yaxis[e.yAxisIndex]&&r.config.yaxis[e.yAxisIndex].reversed&&(i=h)}return\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),{yP:i,clipped:s}}},{key:\"getX1X2\",value:function(t,e){var i,a=\"x1\"===t?e.x:e.x2,s=this.w,r=this.annoCtx.invertAxis?s.globals.minY:s.globals.minX,o=this.annoCtx.invertAxis?s.globals.maxY:s.globals.maxX,n=this.annoCtx.invertAxis?s.globals.yRange[0]:s.globals.xRange,l=!1;return i=this.annoCtx.inversedReversedAxis?(o-a)/(n/s.globals.gridWidth):(a-r)/(n/s.globals.gridWidth),\"category\"!==s.config.xaxis.type&&!s.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||s.globals.dataFormatXNumeric||s.config.chart.sparkline.enabled||(i=this.getStringX(a)),\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),null==a&&e.marker&&(i=s.globals.gridWidth),void 0!==e.seriesIndex&&s.globals.barWidth&&!this.annoCtx.invertAxis&&(i=i-s.globals.barWidth/2*(s.globals.series.length-1)+s.globals.barWidth*e.seriesIndex),i>s.globals.gridWidth?(i=s.globals.gridWidth,l=!0):i<0&&(i=0,l=!0),{x:i,clipped:l}}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),S=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new A(this.annoCtx)}return s(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=r.x,n=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(v.isNumber(o)){if(null===t.x2||void 0===t.x2){if(!n){var d=this.annoCtx.graphics.drawLine(o+t.offsetX,0+t.offsetY,o+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var g=this.helpers.getX1X2(\"x2\",t);if(a=g.x,l=g.clipped,!n||!l){if(a12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(u))).replace(/(^|[^\\\\])h/g,\"$1\"+u);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])m/g,\"$1\"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=v.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),L=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return s(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new C(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;if(v.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(v.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(v.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),P=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new L(this.ctx),f=l;o&&(h=u.xLabelFormat(c,l,f,{i:a,dateFormatter:new C(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new C(this.ctx).formatDate,w:n})));var p,x;e.length>0?(p=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),g=x===p,i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new w(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var m=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&m)&&(h=\"\"),{x:i,text:h,textRect:v,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.xa.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:\"isYAxisHidden\",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new k(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:\"getYAxisForeColor\",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:\"drawYAxisTicks\",value:function(t,e,i,a,s,r,o){var n=this.w,l=new w(this.ctx),h=n.globals.translateY+n.config.yaxis[s].labels.offsetY;if(n.globals.isBarHorizontal?h=0:\"heatmap\"===n.config.chart.type&&(h+=r/2),a.show&&e>0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);o.add(d),h+=r}}}}]),t}(),M=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new A(this.annoCtx),this.axesUtils=new P(this.annoCtx)}return s(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,o=this.helpers.getY1Y2(\"y1\",t),n=o.yP,l=o.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var g=this.annoCtx.graphics.drawLine(0+t.offsetX,n+t.offsetY,this._getYAxisAnnotationWidth(t),n+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(g.node),t.id&&g.node.classList.add(t.id)}}else{if(a=(o=this.helpers.getY1Y2(\"y2\",t)).yP,h=o.clipped,a>n){var u=n;n=a,a=u}if(!l||!h){c=!0;var f=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),n-a,0,t.fillColor,t.opacity,1,t.borderColor,r);f.node.classList.add(\"apexcharts-annotation-rect\"),f.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(f.node),t.id&&f.node.classList.add(t.id)}}if(c){var p=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:p+t.label.offsetX,y:(null!=a?a:n)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),I=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new A(this.annoCtx)}return s(t,[{key:\"addPointAnnotation\",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2(\"x1\",t),s=a.x,r=a.clipped,o=(a=this.helpers.getY1Y2(\"y1\",t)).yP,n=a.clipped;if(v.isNumber(s)&&!n&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,o+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:\"\",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:o+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var g=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});g.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(o+t.customSVG.offsetY,\")\")}),g.node.innerHTML=t.customSVG.SVG,e.appendChild(g.node)}if(t.image.path){var u=t.image.width?t.image.width:20,f=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-u/2,y:o+t.image.offsetY-f/2,width:u,height:f,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&h.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener(\"click\",t.click.bind(this,t))}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var T={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},z=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"\",locales:[T],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),X=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new w(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new A(this),this.xAxisAnnotations=new S(this),this.yAxisAnnotations=new M(this),this.pointsAnnotations=new I(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var I=P.bbox();if(s){var T=this.graphics.drawRect(I.x-m,I.y-C,I.width+m+w,I.height+A+C,f,d||\"transparent\",1,g,p,u);M.insertBefore(T.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-svg\":g,f=i.globals.dom.Paper.image(a);f.size(h,d).move(r,n);var p=i.globals.dom.baseEl.querySelector(u);return p&&p.appendChild(f.node),f}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new z,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=v.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),f=this.helpers.addBackgroundToAnno(u,g);return f&&l.insertBefore(f.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:v.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)\"addText\"!==e.globals.memory.methodsToExec[a].label&&\"addAnnotation\"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=v.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),E=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:\"\",u=l.globals.ttKeyFormatter,f=l.config.tooltip.y.title.formatter,p={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof f&&(g=f(g,p)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new L(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new C(a).formatDate,w:l}));\"function\"==typeof u&&(d=u(d,p)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x=\"\",b=\"\",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var m=new C(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},Y=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'

'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[o].type||\"rangeBar\"===t.w.config.series[o].type?c:\"\".concat(h,\"\"):c)+\"
\"},F=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return v.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"slope\",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+\": \"+t:\"\"},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:\"top\",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:\"straight\"}}}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),d(d({},this.bar()),{},{chart:{animations:{easing:\"linear\",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:7,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=E(d(d({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,o=e.endVal;return Y(d(d({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t):function(t){var e=E(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,o=e.end;return Y(d(d({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=E(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,o=e.end;return Y(d(d({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:o}))}(t)}}}}},{key:\"brush\",value:function(t){return v.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return d(d({},t),{},{plotOptions:d(d({},t.plotOptions),{},{bar:d(d({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return v.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return v.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\"}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+o+\"
\"+(n?\"
\".concat(a[2],': ')+n+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),R=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new z,s=new F(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),o={};if(i&&\"object\"===x(i)){var n,l,h,c,d,g,u,f,p,b,m={};m=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(n=i.plotOptions)&&void 0!==n&&null!==(l=n.bar)&&void 0!==l&&l.isFunnel&&(m=s.funnel()),i.chart.stacked&&\"bar\"===i.chart.type&&(m=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(m=s.brush(m)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(m=s.slope()),i.chart.stacked&&\"100%\"===i.chart.stackType&&(i=s.stacked100(i)),null!==(g=i.plotOptions)&&void 0!==g&&null!==(u=g.bar)&&void 0!==u&&u.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(f=(i=this.checkForCatToNumericXAxis(this.chartType,m,i)).chart.sparkline)&&void 0!==f&&f.enabled||null!==(p=window.Apex.chart)&&void 0!==p&&null!==(b=p.sparkline)&&void 0!==b&&b.enabled)&&(m=s.sparkline(m)),o=v.extend(r,m)}var y=v.extend(o,window.Apex);return r=v.extend(y,i),r=this.handleUserInputErrors(r)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new F(i),o=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new z;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=v.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[v.extend(i.yAxis,t.yaxis)]:t.yaxis=v.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=v.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new z;return t.annotations.yaxis=v.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new z;return t.annotations.xaxis=v.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new z;return t.annotations.points=v.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),D=function(){function t(){i(this,t)}return s(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=v.extend({},t),e.initialSeries=v.clone(t.series),e.lastXAxis=v.clone(e.initialConfig.xaxis),e.lastYAxis=v.clone(e.initialConfig.yaxis),e}}]),t}(),H=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(){var t=new R(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new D).init(t)}}}]),t}(),O=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");w.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),w.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color),o||(o=\"#fff\",console.warn(\"undefined color - ApexCharts\"));var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=v.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=v.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),\"gradient\"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\",g=\"pattern\".concat(e.globals.cuid).concat(t.seriesNumber+1).concat(d);-1===this.patternIDs.indexOf(g)&&(this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=v.getOpacityFromRGBA(g));var f=void 0===r.gradient.opacityTo?i:Array.isArray(r.gradient.opacityTo)?r.gradient.opacityTo[s]:r.gradient.opacityTo;if(void 0===r.gradient.gradientToColors||0===r.gradient.gradientToColors.length)o=\"dark\"===r.gradient.shade?h.shadeColor(-1*parseFloat(r.gradient.shadeIntensity),e.indexOf(\"rgb\")>-1?v.rgb2hex(e):e):h.shadeColor(parseFloat(r.gradient.shadeIntensity),e.indexOf(\"rgb\")>-1?v.rgb2hex(e):e);else if(r.gradient.gradientToColors[n.seriesNumber]){var p=r.gradient.gradientToColors[n.seriesNumber];o=p,p.indexOf(\"rgba\")>-1&&(f=v.getOpacityFromRGBA(p))}else o=e;if(r.gradient.gradientFrom&&(g=r.gradient.gradientFrom),r.gradient.gradientTo&&(o=r.gradient.gradientTo),r.gradient.inverseColors){var x=g;g=o,o=x}return g.indexOf(\"rgb\")>-1&&(g=v.rgb2hex(g)),o.indexOf(\"rgb\")>-1&&(o=v.rgb2hex(o)),l.drawGradient(c,g,o,u,f,n.size,r.gradient.stops,r.gradient.colorStops,s)}}]),t}(),N=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new w(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){v.isNumber(l.y[g])?f+=\" w\".concat(v.randomId()):f=\"apexcharts-nullpoint\";var p=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(p.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(p.pointStrokeColor=o.config.series[n].data[u].strokeColor)),void 0!==a&&(p.pSize=a),(l.x[g]<-o.globals.markers.largestSize||l.x[g]>o.globals.gridWidth+o.globals.markers.largestSize||l.y[g]<-o.globals.markers.largestSize||l.y[g]>o.globals.gridHeight+o.globals.markers.largestSize)&&(p.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],p)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",p.pSize),new y(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,o=void 0===r?null:r,n=t.size,l=void 0===n?null:n,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,g=this.getMarkerStyle(i),u=null===l?d.globals.markers.size[i]:l,f=d.config.markers;return null!==s&&f.discrete.length&&f.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(g.pointStrokeColor=t.strokeColor,g.pointFillColor=t.fillColor,u=t.size,g.pointShape=t.shape)})),{pSize:null===o?u:o,pRadius:null!==o?o:f.radius,pointStrokeWidth:null!==c?c:Array.isArray(f.strokeWidth)?f.strokeWidth[i]:f.strokeWidth,pointStrokeColor:g.pointStrokeColor,pointFillColor:g.pointFillColor,shape:g.pointShape||(Array.isArray(f.shape)?f.shape[i]:f.shape),class:e,pointStrokeOpacity:Array.isArray(f.strokeOpacity)?f.strokeOpacity[i]:f.strokeOpacity,pointStrokeDashArray:Array.isArray(f.strokeDashArray)?f.strokeDashArray[i]:f.strokeDashArray,pointFillOpacity:Array.isArray(f.fillOpacity)?f.fillOpacity[i]:f.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new w(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),W=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new w(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(u=f.maxBubbleRadius)}var p=o.x[c],x=o.y[c];if(u=u||0,null!==x&&void 0!==a.globals.series[r][d]||(g=!1),g){var b=this.drawPoint(p,x,u,r,d,e);h.add(b)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r){var o=this.w,n=a,l=new m(this.ctx),h=new y(this.ctx),c=new O(this.ctx),d=new N(this.ctx),g=new w(this.ctx),u=d.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:n,dataPointIndex:s,radius:\"bubble\"===o.config.chart.type||o.globals.comboCharts&&o.config.series[a]&&\"bubble\"===o.config.series[a].type?i:null}),f=c.fillPath({seriesNumber:a,dataPointIndex:s,color:u.pointFillColor,patternUnits:\"objectBoundingBox\",value:o.globals.series[a][r]}),p=g.drawMarker(t,e,u);if(o.config.series[n].data[s]&&o.config.series[n].data[s].fillColor&&(f=o.config.series[n].data[s].fillColor),p.attr({fill:f}),o.config.chart.dropShadow.enabled){var x=o.config.chart.dropShadow;h.dropShadow(p,x,a)}if(!this.initialAnim||o.globals.dataChanged||o.globals.resized)o.globals.animationEnded=!0;else{var b=o.config.chart.animations.speed;l.animateMarker(p,b,o.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(p)}),100)}))}return p.attr({rel:s,j:s,index:a,\"default-marker-size\":u.pSize}),h.setSelectionFilter(p,a,s),d.addEvents(p),p.node.classList.add(\"apexcharts-marker\"),p}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),B=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"dataLabelsCorrection\",value:function(t,e,i,a,s,r,o){var n=this.w,l=!1,h=new w(this.ctx).getTextRects(i,o),c=h.width,d=h.height;e<0&&(e=0),e>n.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var f=n.globals.dataLabelsRects[a][u];(t>f.x+f.width||e>f.y+f.height||e+de.globals.gridWidth+b.textRects.width+30)&&(n=\"\");var v=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(v=e.globals.dataLabels.style.colors[o]),\"function\"==typeof v&&(v=v({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(v=g);var m=d.offsetX,k=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(m=0,k=0),e.globals.isSlopeChart&&(0!==o&&(m=-2*d.offsetX+5),0!==o&&o!==e.config.series[r].data.length-1&&(m=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+m,y:s+k,foreColor:v,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"})).attr({class:p||\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var A=d.dropShadow;new y(this.ctx).dropShadow(x,A)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}return x}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new w(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:\"#fff\",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new y(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=v.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"highlightSeries\",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(i.getAttribute(\"data:realIndex\"),10),s=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"),r=null,o=null,n=null;if(e.globals.axisCharts||\"radialBar\"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(a,\"']\")),o=e.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(a,\"']\"));var l=e.globals.seriesYAxisReverseMap[a];n=e.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(l,\"']\"))}else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"']\"));else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"'] path\"));for(var h=0;h=t.from&&(r0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),V=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new k(this.ctx)}return s(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new G(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new G(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(v.parseNumber(t[e].data[r][4])):this.twoDSeries.push(v.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new C(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push(\"series-\"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var n=[],l=f(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);n[i]||(n[i]=[]),n[i].push(s.seriesNames[e])})),s.seriesGroups=n;for(var h=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return v.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new F(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),j=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"getSvgString\",value:function(){var t=this;return new Promise((function(e){var i=t.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=t.w.globals.dom.Paper.svg(),o=t.w.globals.dom.Paper.node.cloneNode(!0);1!==s&&t.scaleSvgNode(o,s),t.convertImagesToBase64(o).then((function(){r=(new XMLSerializer).serializeToString(o),e(r.replace(/ /g,\" \"))}))}))}},{key:\"convertImagesToBase64\",value:function(t){var e=this,i=t.getElementsByTagName(\"image\"),a=Array.from(i).map((function(t){var i=t.getAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\");return i&&!i.startsWith(\"data:\")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",e)})).catch((function(t){console.error(\"Error converting image to base64:\",t)})):Promise.resolve()}));return Promise.all(a)}},{key:\"getBase64FromUrl\",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin=\"Anonymous\",a.onload=function(){var t=document.createElement(\"canvas\");t.width=a.width,t.height=a.height,t.getContext(\"2d\").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){var t=this;return new Promise((function(e){t.cleanup(),t.getSvgString().then((function(t){var i=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});e(URL.createObjectURL(i))}))}))}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:\"#fff\",n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s),e.getSvgString().then((function(t){var e=\"data:image/svg+xml,\"+encodeURIComponent(t),a=new Image;a.crossOrigin=\"anonymous\",a.onload=function(){if(n.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},a.src=e}))}))}},{key:\"exportToSVG\",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,\".svg\")}))}},{key:\"exportToPng\",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h,c,d=[],g=[],u=\"\",p=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),x=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):\"datetime\"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():v.isNumber(t)?t:t.split(r).join(\"\")},b=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},m=Math.max.apply(Math,f(i.map((function(t){return t.data?t.data.length:0})))),y=new V(this.ctx),w=new P(this.ctx),k=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new G(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=w.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?\"nullvalue\":(Array.isArray(i)&&(i=i.join(\" \")),v.isNumber(i)?i:i.split(r).join(\"\"))},A=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||f(Array(m)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new w(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,f=l.xaxisForeColors||this.xaxisForeColors,p=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/Math.min(y,v-1),b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:p,fontSize:g,fontFamily:u,foreColor:Array.isArray(f)?t&&d.config.xaxis.convertedCatToNumeric?f[d.globals.minX+s-1]:f[s]:f,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new w(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new w(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new w(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2-2,e.gridWidth+a+n+o+4,e.gridHeight+a+4,0,\"#fff\");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d0&&\"datetime\"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0){var l=i.globals.isBarHorizontal||\"on\"!==i.config.xaxis.tickPlacement||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1;i.globals.isXNumeric&&(l=i.globals.xAxisScale.result.length-1);for(var h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),\"datetime\"===i.config.xaxis.type)h=this.xaxisLabels[g].position,c=((null===(f=this.xaxisLabels[g+1])||void 0===f?void 0:f.position)||i.globals.gridWidth)-this.xaxisLabels[g].position;this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}}}]),t}(),q=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[o],a=Math.max((h.svgHeight-100)/15,2)),v.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,g=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(g=h.multiAxisTickAmount,d=!0),g=\"dataPoints\"===g?h.dataPoints-1:Math.abs(Math.round(g)),(t===Number.MIN_VALUE&&0===e||!v.isNumber(t)&&!v.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=v.isNumber(i.min)?i.min:0,e=v.isNumber(i.max)?i.max:t+g,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var u=e;e=t,t=u}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var f=[];g<1&&(g=1);var p=g,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/p,m=b,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(b=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var S=x/p;if(d)if(c)if(0!=v.mod(x,b)){var C=v.getGCD(b,S);b=S/C<10?C:S}else 0==v.mod(b,S)?b=S:(S=b,d=!1);else b=S;else if(c)0==v.mod(x,b)?S=b:b=S;else if(0==v.mod(x,b))S=b;else{S=x/(p=Math.ceil(x/b));var L=v.getGCD(x,b);x/La&&(t=e-b*g,t+=b*Math.floor((P-t)/b))}else if(s)if(d)e=t+b*p;else{var M=e;e=b*Math.ceil(e/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(e=t+b*g,e+=b*Math.ceil((M-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*p;T0&&t16&&v.getPrimeFactors(p).length<2&&p++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&p>x&&(p=x,b=Math.round(x/p)),p>a&&(!d&&!c||i.forceNiceScale)){var z=v.getPrimeFactors(p),X=z.length-1,E=p;t:for(var Y=0;YW);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),o=[];if(t===e)return{result:o=[t],niceMin:o[0],niceMax:o[o.length-1]};\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var n=t;i>=0;)o.push(n),n=v.preciseAddition(n,s),i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&v.isNumber(i)&&e!==Number.MAX_VALUE&&v.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(t,e,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,g=c,u=d;if(e.chart.stacked)!function(){var t=i.seriesX[a[0]],s=[],r=[],f=[];n.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),f.push(t.map((function(){return Number.MIN_VALUE})))}));for(var p=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:\"axis-\".concat(o),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,n.forEach((function(t,a){if(e.series[c].group===t)for(var o=0;o=0?r[a][o]+=n:f[a][o]+=n,s[a][o]+=n,g=Math.min(g,n),u=Math.max(u,n)}}))),\"bar\"!==l&&\"column\"!==l||i.barGroups.push(h)},x=0;x1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var g,u=null===(g=r.brushSource)||void 0===g?void 0:g.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=u&&u.enabled&&null!=u&&u.autoScaleYaxis)&&(d=!0)}for(var f=t;fx&&r.seriesX[f][b]>s.xaxis.max;b--);}for(var m=x;m<=b&&mh[f][m]&&h[f][m]<0&&(n=h[f][m])}else r.hasNullValues=!0}\"bar\"!==p&&\"column\"!==p||(n<0&&o<0&&(o=0,i=Math.max(i,0)),n===Number.MIN_VALUE&&(n=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if(\"dataPoints\"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=t.maxX-t.minX;s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],o=t.minX-1;o0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var o=0;o0?a[i][o]+=parseFloat(e.series[r][o])+1e-4:s[i][o]+=parseFloat(e.series[r][o]))}}))})),Object.entries(a).forEach((function(t){var i=u(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),$=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,\"bottom\"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new P(e)}return s(t,[{key:\"drawYaxis\",value:function(t){var e=this,i=this.w,a=new w(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\"+i.globals.translateYAxisX[t]+\", 0)\"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:\"apexcharts-yaxis-texts-g\"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.yLabelFormatters[t],u=i.globals.yAxisScale[t].result.slice();u=this.axesUtils.checkForReversedLabels(t,u);var f=\"\";if(i.config.yaxis[t].labels.show){var p=i.globals.translateY+i.config.yaxis[t].labels.offsetY;i.globals.isBarHorizontal?p=0:\"heatmap\"===i.config.chart.type&&(p-=d/2),p+=parseInt(i.config.yaxis[t].labels.style.fontSize,10)/3;for(var x=function(l){var x=u[l];x=g(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var m=\"end\";i.config.yaxis[t].opposite&&(m=\"start\"),\"left\"===i.config.yaxis[t].labels.align?m=\"start\":\"center\"===i.config.yaxis[t].labels.align?m=\"middle\":\"right\"===i.config.yaxis[t].labels.align&&(m=\"end\");var y=e.axesUtils.getYAxisForeColor(s.colors,t),w=v.listToArray(i.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-label tspan\"))).map((function(t){return t.textContent})),k=a.drawText({x:b,y:p,text:w.indexOf(x)>=0?\"\":x,textAnchor:m,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(y)?y[l]:y,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \"+s.cssClass});l===c&&(f=k),h.add(k);var A=document.createElementNS(i.globals.SVGNS,\"title\");if(A.textContent=Array.isArray(x)?x.join(\" \"):x,k.node.appendChild(A),0!==i.config.yaxis[t].labels.rotate){var S=a.rotateAroundCenter(f.node),C=a.rotateAroundCenter(k.node);k.node.setAttribute(\"transform\",\"rotate(\".concat(i.config.yaxis[t].labels.rotate,\" \").concat(S.x,\" \").concat(C.y,\")\"))}p+=d},b=c;b>=0;b--)x(b)}if(void 0!==i.config.yaxis[t].title.text){var m=a.group({class:\"apexcharts-yaxis-title\"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var k=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});m.add(k),l.add(m)}var A=i.config.yaxis[t].axisBorder,S=31+A.offsetX;if(i.config.yaxis[t].opposite&&(S=-31-A.offsetX),A.show){var C=a.drawLine(S,i.globals.translateY+A.offsetY-2,S,i.globals.gridHeight+i.globals.translateY+A.offsetY+2,A.color,0,A.width);l.add(C)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(S,c,A,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new w(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var f=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,f,g,this.drawnLabels,this.xaxisFontSize);f=p.x,u=p.text,this.drawnLabels.push(p.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:f,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,\"title\");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new w(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new w(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new w(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=v.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=v.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),J=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=v.bind(this.documentEvent,this)}return s(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=v.extend(T,i);this.w.globals.locale=a.options}}]),t}(),K=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new _(this.ctx,e),l=new $(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),tt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new w(this.ctx),i=new y(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,f=s.blur,p=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(b=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine());var k=t.globals.gridHeight;(!v.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!v.isNumber(A)||A<0)&&(A=0),m.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:b,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:g,top:u,blur:f,color:p,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new w(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),et=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new R({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=v.clone(i.globals.initialConfig);n.series=v.clone(i.config.series);var l=k.extendArrayProps(r,n,i);t=v.extend(l,t),t=v.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h0&&\"function\"==typeof i.config.colors[0]&&(i.globals.colors=i.config.series.map((function(t,a){var s=i.config.colors[a];return s||(s=i.config.colors[0]),\"function\"==typeof s?(e.isColorFn=!0,s({value:i.globals.axisCharts?i.globals.series[a][0]?i.globals.series[a][0]:0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:i})):s})))),i.globals.seriesColors.map((function(t,e){t&&(i.globals.colors[e]=t)})),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var o=i.config.theme.monochrome.color,n=1/(r/i.config.theme.monochrome.shadeIntensity),l=i.config.theme.monochrome.shadeTo,h=0,c=0;c2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getDatalabelsRect\",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,o){var n;n=e.globals.series[r][o],a=e.config.dataLabels.formatter(n,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:o,w:e}),i.push(a)}))}));var a=v.getLargestStringFromArr(i),s=new w(this.dCtx.ctx),r=e.config.dataLabels.style,o=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*o.width,height:o.height}}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,f(a));i=e[a.indexOf(s)]}return i}}]),t}(),rt=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=v.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new L(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new C(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new C(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new w(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=v.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new w(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new w(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new w(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,n)))||void 0===a?void 0:a.length)?t:e}),d),u=g=c(g,n);if(void 0!==g&&0!==g.length||(g=l.niceMax),e.globals.isBarHorizontal){a=0;var f=e.globals.labels.slice();g=v.getLargestStringFromArr(f),g=c(g,{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var p=new w(t.dCtx.ctx),x=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),b=p.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=b;g!==u&&(m=p.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>b.width?h:m.width>b.width?m.width:b.width)+a,height:m.height>b.height?m.height:b.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new w(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new P(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),nt=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},r=i.chart.type,o=0,n=s(r)?i.series.length:1;a.comboBarCount>0&&(n=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(n-=1)})),i.chart.stacked&&(n=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&n>0&&0!==h){var c,d;h<=3&&(h=a.dataPoints),c=h/t,a.minXDiff&&a.minXDiff/c>0&&(d=a.minXDiff/c),d>t/2&&(d/=2),(o=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(o=1),a.barPadForNumericAxis=o}return o}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new P(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),lt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new st(this),this.dimYAxis=new ot(this),this.dimXAxis=new rt(this),this.dimGrid=new nt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,f(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=u(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||\"treemap\"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case\"right\":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new $(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight-i.grid.padding.top-i.grid.padding.bottom;var n=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(n,e.gridHeight)-i.grid.padding.left-i.grid.padding.right,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),ht=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n margin-right: 1px;\\n }\\n\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\");return a.appendChild(r),a}},{key:\"getLegendDimensions\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\"),e=t.offsetWidth;return{clwh:t.offsetHeight,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new w(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"getSeriesAfterCollapsing\",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=v.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],o={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(o),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(o),a.collapsedSeriesIndices.push(e);var n=a.risingSeries.indexOf(e);a.risingSeries.splice(n,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:\"hideSeries\",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,o=0;o0){for(var r=0;r1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"createLegendMarker\",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement(\"span\");s.classList.add(\"apexcharts-legend-marker\");var r=a.config.legend.markers.shape||a.config.markers.shape,o=r;Array.isArray(r)&&(o=r[e]);var n=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),g=s.style;if(g.height=2*(n+c)+\"px\",g.width=2*(n+c)+\"px\",g.left=l+\"px\",g.top=h+\"px\",a.config.legend.markers.customHTML)g.background=\"transparent\",g.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var u=new N(this.ctx).getMarkerConfig({cssClass:\"apexcharts-legend-marker apexcharts-marker apexcharts-marker-\".concat(o),seriesIndex:e,strokeWidth:c,size:n}),f=SVG(s).size(\"100%\",\"100%\"),p=new w(this.ctx).drawMarker(0,0,d(d({},u),{},{pointFillColor:Array.isArray(i)?i[e]:u.pointFillColor,shape:o}));SVG.select(\".apexcharts-legend-marker.apexcharts-marker\").members.forEach((function(t){t.node.classList.contains(\"apexcharts-marker-triangle\")?t.node.style.transform=\"translate(50%, 45%)\":t.node.style.transform=\"translate(50%, 50%)\"})),f.add(p)}return s}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.config.legend.markers.fillColors?e.config.legend.markers.fillColors.slice():e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h,c=o(a[l],{seriesIndex:l,w:e}),d=!1,g=!1;if(e.globals.collapsedSeries.length>0)for(var u=0;u0)for(var f=0;f0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendDimensions(),i=new lt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new G(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new G(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),dt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;lthis.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:\"executeMouseWheelZoom\",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,o,n=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+n*c;r=d-(s=.5*c)/2,o=d+s/2}else r=l-(s=1.5*c)/2,o=h+s/2;r=Math.max(r,i.globals.initialMinX),o=Math.min(o,i.globals.initialMaxX);var g=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(o-r0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),w.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),w.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,o,n,l=i.gridRect.getBoundingClientRect(),h=r.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(h.left-l.left)*s.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(h.right-l.left)*s.invertedYRatio,o=0,n=1):(t=a.globals.xAxisScale.niceMin+(h.left-l.left)*s.xRatio,e=a.globals.xAxisScale.niceMin+(h.right-l.left)*s.xRatio,o=a.globals.yAxisScale[0].niceMin+(l.bottom-h.bottom)*s.yRatio[0],n=a.globals.yAxisScale[0].niceMax-(h.top-l.top)*s.yRatio[0]);var c={xaxis:{min:t,max:e},yaxis:{min:o,max:n}};a.config.chart.events.selection(i.ctx,c),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,c)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=v.clone(a.globals.initialConfig.yaxis),f=v.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(f={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),o){var p=o.getBeforeZoomRange(f,u);p&&(f=p.xaxis?p.xaxis:f,u=p.yaxis?p.yaxis:u)}var x={xaxis:f};a.config.chart.group||(x.yaxis=u),s.ctx.updateHelpers._updateOptions(x,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(f,u)}else if(a.globals.selectionEnabled){var b,m=null;b={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(m=v.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=g[e],m[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:b,yaxis:m})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=v.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),a}(dt),ut=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var f=Math.round(g/h),p=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/h),f-=1);var x=null,b=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);x=(b=this.closestInMultiArray(k,A,m,y)).index,f=b.j,null!==x&&(m=r.globals.seriesXvalues[x],f=(b=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=p:r.globals.capturedDataPointIndex=f,{capturedSeries:x,j:r.globals.isBarHorizontal?p:f,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,n=i)}))})),-1!==n){var c=a[r][n],d=Math.abs(e-c);o=r,a.forEach((function(t,i){var a=Math.abs(e-t[n]);a<=d&&(d=a,o=i)}))}return{index:o,j:n}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=f(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getPathFromPoint\",value:function(t,e){var i=Number(t.getAttribute(\"cx\")),a=Number(t.getAttribute(\"cy\")),s=t.getAttribute(\"shape\");return new w(this.ctx).getMarkerPath(i,a,s,e)}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==f&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==f?f:\"\");if(o&&p[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?p[0].parentNode.style.display=\"none\":p[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(p[0].parentNode.style.display=\"none\")}},{key:\"toggleActiveInactiveSeries\",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var a=i.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group-\".concat(e));a&&(a.classList.add(\"apexcharts-active\"),a.style.display=i.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new L(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new C(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),pt=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&w.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&w.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new w(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0){var u=g.getAttribute(\"shape\"),f=l.getMarkerPath(s,r,u,1.5*c);g.setAttribute(\"d\",f)}this.moveXCrosshairs(s),n.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray,n=new G(this.ctx),l=new w(this.ctx);e=n.getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var h=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var c=i.tooltipUtil.getAllMarkers();if(null!==c)for(var d=0;d0){var b=l.getMarkerPath(s,u,p,h);c[d].setAttribute(\"d\",b)}else c[d].setAttribute(\"d\",\"\")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new G(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));o||\"number\"!=typeof e||(o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var n=o?parseFloat(o.getAttribute(\"cx\")):0,l=o?parseFloat(o.getAttribute(\"cy\")):0,h=o?parseFloat(o.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains(\"apexcharts-candlestick-area\")||o.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),xt=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new pt(e)}return s(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new w(this.ctx),i=new N(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=f(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute(\"d\",a)}else t[e].setAttribute(\"d\",\"M0,0\")}}}]),t}(),bt=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&\"rangeBar\"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var f=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-f.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-f.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=v.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var u=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10);if(r.globals.isMultipleYAxis?r.config.yaxis[u]&&r.config.yaxis[u].reversed:r.config.yaxis[0].reversed,h+o.tooltipRect.ttWidth>r.globals.gridWidth?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var f=o.getElGrid().getBoundingClientRect();c=o.e.clientY-f.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,o=this.ttCtx,n=0,l=0,h=0,c=0,d=0,g=i.target.classList;if(g.contains(\"apexcharts-bar-area\")||g.contains(\"apexcharts-candlestick-area\")||g.contains(\"apexcharts-boxPlot-area\")||g.contains(\"apexcharts-rangebar-area\")){var u=i.target,f=u.getBoundingClientRect(),p=a.elGrid.getBoundingClientRect(),x=f.height;d=f.height;var b=f.width,v=parseInt(u.getAttribute(\"cx\"),10),m=parseInt(u.getAttribute(\"cy\"),10);c=parseFloat(u.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(u.getAttribute(\"j\"),10),n=parseInt(u.parentNode.getAttribute(\"rel\"),10)-1;var w=u.getAttribute(\"data-range-y1\"),k=u.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?v-b/2:e.isVerticalGroupedRangeBar?v+b/2:v-o.dataPointsDividedWidth+b/2},S=function(){return m-o.dataPointsDividedHeight+x/2-o.tooltipRect.ttHeight/2};o.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:n,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!o.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-p.left+15,h=S()):(l=A(),h=i.clientY-p.top-o.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=v)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,o=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&o.length>0){var n=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=o[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],g=r.maxYArr[h]-r.minYArr[h],u=r.minYArr[h]+(g-d);s.config.yaxis[t].reversed&&(u=r.maxYArr[h]-(g-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=n(u),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),mt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new ut(this),this.tooltipLabels=new ft(this),this.tooltipPosition=new pt(this),this.marker=new xt(this),this.intersect=new bt(this),this.axesTooltip=new vt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new _(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\",\"apexcharts-tooltip-series-group-\".concat(r)),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip(e);if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new G(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=[];r.config.chart.group&&(g=this.ctx.getSyncedCharts());var u=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var f=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&f.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),u&&!this.showOnIntersect||g.length>1)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;xl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new w(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(i),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var M=S.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new w(this.ctx),D=S.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var H=0;H0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=h*A)),k){g=g+d.height/2-b/2-2}var C=e.globals.series[i][a]<0,L=n;switch(this.barCtx.isReversed&&(L=n+(C?c:-c)),p.position){case\"center\":u=k?C?L-c/2+m:L+c/2-m:C?L-c/2+d.height/2+m:L+c/2+d.height/2-m;break;case\"bottom\":u=k?C?L-c+m:L+c-m:C?L-c+d.height+b+m:L+c-d.height/2+b-m;break;case\"top\":u=k?C?L+m:L-m:C?L-d.height/2-m:L+d.height+m}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var P=new w(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),f.fontSize);r=C?L-P.height/2-m-x.offsetY+18:L+P.height+m+x.offsetY-18;var M=S;o=y+(e.globals.isXNumeric?-h*e.globals.barGroups.length/2:e.globals.barGroups.length*h/2-(e.globals.barGroups.length-1)*h-M)+x.offsetX}return e.config.chart.stacked||(u<0?u=0+b:u+d.height/3>e.globals.gridHeight&&(u=e.globals.gridHeight-b)),{bcx:l,bcy:n,dataLabelsX:g,dataLabelsY:u,totalDataLabelsX:o,totalDataLabelsY:r,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.bcy,n=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,g=t.dataLabelsConfig,u=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,p=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var v,m,y=o-(this.barCtx.isRangeBar?0:b)+n/2+h.height/2+x-3,k=\"start\",A=e.globals.series[a][s]<0,S=i;switch(this.barCtx.isReversed&&(S=i+(A?-l:l),k=A?\"start\":\"end\"),u.position){case\"center\":c=A?S+l/2-p:Math.max(h.width/2,S-l/2)+p;break;case\"bottom\":c=A?S+l-d-p:S-l+d+p;break;case\"top\":c=A?S-d-p:S-d+p}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var C=new w(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),g.fontSize);A?(v=S-d-p-f.offsetX,k=\"end\"):v=S+p+f.offsetX+(this.barCtx.isReversed?-(l+d):d),m=y-h.height/2+C.height/2+f.offsetY+d}return e.config.chart.stacked||(\"start\"===g.textAnchor?c-h.width<0?c=A?h.width+d:d:c+h.width>e.globals.gridWidth&&(c=A?e.globals.gridWidth-d:e.globals.gridWidth-h.width-d):\"middle\"===g.textAnchor?c-h.width/2<0?c=h.width/2+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width/2-d):\"end\"===g.textAnchor&&(c<1?c=h.width+d:c+1>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d))),{bcx:i,bcy:o,dataLabelsX:c,dataLabelsY:y,totalDataLabelsX:v,totalDataLabelsY:m,totalDataLabelsAnchor:k}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,o=t.textRects,n=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,g=\"rotate(0)\";\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(e,\", \").concat(i,\")\"));var u=new B(this.barCtx.ctx),f=new w(this.barCtx.ctx),p=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=f.group({class:\"apexcharts-data-labels\",transform:g});var v=\"\";void 0!==a&&(v=p(a,d(d({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v=\"\");var m=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===y&&(h.textAnchor=m?\"end\":\"start\"),\"center\"===y&&(h.textAnchor=\"middle\"),\"bottom\"===y&&(h.textAnchor=m?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)lMath.abs(l)&&(v=\"\"):o.height/1.6>Math.abs(n)&&(v=\"\"));var k=d({},h);this.barCtx.isHorizontal&&a<0&&(\"start\"===h.textAnchor?k.textAnchor=\"end\":\"end\"===h.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:e,y:i,text:v,i:s,j:r,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,o=t.barTotalDataLabelsConfig;this.w;var n,l=new w(this.barCtx.ctx);return o.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(n=l.drawText({x:e,y:i,foreColor:o.style.color,text:a,textAnchor:r,fontFamily:o.style.fontFamily,fontSize:o.style.fontSize,fontWeight:o.style.fontWeight})),n}}]),t}(),wt=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"initializeStackedPrevVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:\"initializeStackedXYVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,o,n,l,h=this.w,c=this.barCtx.ctx.fill,d=null,g=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(d=a.color)}));return null!==(s=h.config.series[e].data[i])&&void 0!==s&&s.fillColor&&(d=h.config.series[e].data[i].fillColor),c.fillPath({seriesNumber:this.barCtx.barOptions.distributed?g:a,dataPointIndex:i,color:d,value:t[e][i],fillConfig:null===(r=h.config.series[e].data[i])||void 0===r?void 0:r.fill,fillType:null!==(o=h.config.series[e].data[i])&&void 0!==o&&null!==(n=o.fill)&&void 0!==n&&n.type?null===(l=h.config.series[e].data[i])||void 0===l?void 0:l.fill.type:Array.isArray(h.config.fill.type)?h.config.fill.type[a]:h.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"shouldApplyRadius\",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&\"last\"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new w(this.barCtx.ctx),c=new G(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new w(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,f=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(f=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var p=o/2,x=f+p,b=f+u-p;s+=.001-p,r+=.001+p;var v=g.move(x,s),m=g.move(x,s),y=g.line(b,s);if(d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,c,!1)),v=v+g.line(x,r)+g.line(b,r)+g.line(b,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),m=m+g.line(x,s)+y+y+y+y+y+g.line(x,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).yArrj.push(r-p),k.yArrjF.push(Math.abs(s-r+o)),k.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:m}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new w(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,f=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,f=a+d.config.series[l].data[c].barHeightOffset);var p=o/2,x=u+p,b=u+f-p;s+=.001-p,r+=.001+p;var v=g.move(s,x),m=g.move(s,x);d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,c,!1));var y=g.line(s,b);if(v=v+g.line(r,x)+g.line(r,b)+y+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),m=m+g.line(s,x)+y+y+y+y+y+g.line(s,x)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).xArrj.push(r+p),k.xArrjF.push(Math.abs(s-r)),k.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:m}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s,r){var n=this,l=this.w,h=[],c=function(a,s){var l;h.push((o(l={},t,\"x\"===t?n.getXForValue(a,e,!1):n.getYForValue(a,i,r,!1)),o(l,\"attrs\",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var g=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,u={strokeHeight:\"x\"===t?0:l.globals.markers.size[a],strokeWidth:\"x\"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(g[a])?g[a][0]:g[a]};c(l.globals.seriesRangeStart[a][s],u),c(l.globals.seriesRangeEnd[a][s],d(d({},u),{},{strokeColor:Array.isArray(g[a])?g[a][1]:g[a]}))}return h}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new w(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=n.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=n.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,o=e.x1,n=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=n+i.barHeight,g=new w(this.barCtx.ctx),u=new v,f=g.move(o,d)+g.line(r,d)+g.line(l,c)+g.line(h,c)+g.line(o,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\");return g.drawPath({d:f,fill:u.shadeColor(.5,v.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadows\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,o=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),kt=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new G(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]),this.columnGroupIndices=[];var o=r.getBarSeriesIndices(),n=new k(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new wt(this)}return s(t,[{key:\"draw\",value:function(t,e){var i=this.w,a=new w(this.ctx),s=new k(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var o=0,n=0;o0&&(this.visibleI=this.visibleI+1);var A=0,S=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var C=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var L=this.barHelpers.initialPositions();f=L.y,A=L.barHeight,h=L.yDivision,g=L.zeroW,u=L.x,S=L.barWidth,l=L.xDivision,c=L.zeroH,this.horizontal||x.push(u+S/2);var P=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b});i.globals.delayedElements.push({el:P.node}),P.node.classList.add(\"apexcharts-element-hidden\");var M=a.group({class:\"apexcharts-bar-goals-markers\"}),I=a.group({class:\"apexcharts-bar-shadows\"});i.globals.delayedElements.push({el:I.node}),I.node.classList.add(\"apexcharts-element-hidden\");for(var T=0;T0){var F=this.barHelpers.drawBarShadow({color:\"string\"==typeof Y&&-1===(null==Y?void 0:Y.indexOf(\"url\"))?Y:v.hexToRgba(i.globals.colors[o]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:X});F&&I.add(F)}this.pathArr.push(X);var R=this.barHelpers.drawGoalLine({barXPosition:X.barXPosition,barYPosition:X.barYPosition,goalX:X.goalX,goalY:X.goalY,barHeight:A,barWidth:S});R&&M.add(R),f=X.y,u=X.x,T>0&&x.push(u+S/2),p.push(f),this.renderSeries({realIndex:b,pathFill:Y,j:T,i:o,columnGroupIndex:m,pathFrom:X.pathFrom,pathTo:X.pathTo,strokeWidth:z,elSeries:y,x:u,y:f,series:t,barHeight:Math.abs(X.barHeight?X.barHeight:A),barWidth:Math.abs(X.barWidth?X.barWidth:S),elDataLabelsWrap:P,elGoalsMarkers:M,elBarShadows:I,visibleSeries:this.visibleI,type:\"bar\"})}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=p,r.add(y)}return r}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.columnGroupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,f=t.y2,p=t.series,x=t.barHeight,b=t.barWidth,v=t.barXPosition,m=t.barYPosition,k=t.elDataLabelsWrap,A=t.elGoalsMarkers,S=t.elBarShadows,C=t.visibleSeries,L=t.type,P=this.w,M=new w(this.ctx);if(!a){var I=\"function\"==typeof P.globals.stroke.colors[e]?function(t){var e,i=P.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=\"\"),\"function\"==typeof e)?e({value:P.globals.series[t][s],dataPointIndex:s,w:P}):e}(e):P.globals.stroke.colors[e];a=this.barOptions.distributed?P.globals.stroke.colors[s]:I}P.config.series[r].data[s]&&P.config.series[r].data[s].strokeColor&&(a=P.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var T=s/P.config.chart.animations.animateGradually.delay*(P.config.chart.animations.speed/P.globals.dataPoints)/2.4,z=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:P.config.stroke.lineCap,fill:i,animationDelay:T,initialSpeed:P.config.chart.animations.speed,dataChangeSpeed:P.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(L,\"-area\")});z.attr(\"clip-path\",\"url(#gridRectMask\".concat(P.globals.cuid,\")\"));var X=P.config.forecastDataPoints;X.count>0&&s>=P.globals.dataPoints-X.count&&(z.node.setAttribute(\"stroke-dasharray\",X.dashArray),z.node.setAttribute(\"stroke-width\",X.strokeWidth),z.node.setAttribute(\"fill-opacity\",X.fillOpacity)),void 0!==u&&void 0!==f&&(z.attr(\"data-range-y1\",u),z.attr(\"data-range-y2\",f)),new y(this.ctx).setSelectionFilter(z,e,s),c.add(z);var E=new yt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:f,i:r,j:s,series:p,realIndex:e,columnGroupIndex:o,barHeight:x,barWidth:b,barXPosition:v,barYPosition:m,renderedPath:z,visibleSeries:C});return null!==E.dataLabels&&k.add(E.dataLabels),E.totalDataLabels&&k.add(E.totalDataLabels),c.add(k),A&&c.add(A),S&&c.add(S),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,f=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*f}else e=n+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][g],r)-r)/2),o=this.barHelpers.getXForValue(this.series[d][g],r);var p=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x1:r,x:o,y:n,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,g),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.translationsIndex,u=i.i,f=i.j,p=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:f,realIndex:d,barWidth:o});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:u,j:f}),v=b.nonZeroColumns,m=b.zeroEncounters;v>0&&(o=this.seriesLen*o/v),e=a+o*this.visibleI,e-=o*m}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[u][f],n,g);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:d,i:u,j:f,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:f,i:u,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,n,u,f,g),barXPosition:e,barWidth:o}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,o=a;return r.globals.seriesX[a].length||(o=r.globals.maxValsInArrayIndex),r.globals.seriesX[o][s]&&(e=(r.globals.seriesX[o][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),At=function(t){l(a,t);var e=r(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this,a=this.w;this.graphics=new w(this.ctx),this.bar=new kt(this.ctx,this.xyRatios);var s=new k(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),o=0,n=0,l=function(s,l){var h=void 0,c=void 0,g=void 0,u=void 0,f=a.globals.comboCharts?e[s]:s,p=i.barHelpers.getGroupIndex(f),x=p.groupIndex,b=p.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var m=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[f][0],w=f),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:\"apexcharts-series\",seriesName:v.escapeString(a.globals.seriesNames[f]),rel:s+1,\"data:realIndex\":f});i.ctx.series.addCollapsedClassToSeries(k,f);var A=i.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":f}),S=i.graphics.group({class:\"apexcharts-bar-goals-markers\"}),C=0,L=0,P=i.initialPositions(o,n,h,c,g,u,w);n=P.y,C=P.barHeight,c=P.yDivision,u=P.zeroW,o=P.x,L=P.barWidth,h=P.xDivision,g=P.zeroH,a.globals.barHeight=C,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return g})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var M=0;M1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf(\"%\")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[o]:h.globals.gridHeight-this.baseLineY[o],t=h.globals.padHorizontal+(i-l)/2}var g=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:n/g,barWidth:l/g,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+l*a,f=i.i,p=i.j,x=i.realIndex,b=i.translationsIndex,v=0,m=0;m0){var w=r;this.groupCtx.prevXVal[y-1][p]<0?w=this.series[f][p]>=0?this.groupCtx.prevX[y-1][p]+v-2*(this.isReversed?v:0):this.groupCtx.prevX[y-1][p]:this.groupCtx.prevXVal[y-1][p]>=0&&(w=this.series[f][p]>=0?this.groupCtx.prevX[y-1][p]:this.groupCtx.prevX[y-1][p]-v+2*(this.isReversed?v:0)),e=w}else e=r;o=null===this.series[f][p]?e:e+this.series[f][p]/this.invertedYRatio-2*(this.isReversed?this.series[f][p]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:f,j:p,w:g});return this.barHelpers.barBackground({j:p,i:f,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,f,p,b),barXPosition:e,barYPosition:u,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc,f=e.realIndex,p=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[f][g];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,v=i+n*r,m=0,y=0;y0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[f-1][g]===c.globals.seriesX[f][g]){var k,A,S,C=Math.min(this.yRatio.length+1,f+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L=0?S-m+2*(this.isReversed?m:0):S;break}if((null===(T=this.groupCtx.prevYVal[w-M])||void 0===T?void 0:T[g])>=0){A=this.series[d][g]>=0?S:S+m-2*(this.isReversed?m:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:A}else b=o;a=this.series[d][g]?b-this.series[d][g]/this.yRatio[p]+2*(this.isReversed?this.series[d][g]/this.yRatio[p]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:v,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[p],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:v,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:v,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(kt),St=function(t){l(a,t);var e=r(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e,i){var a=this,s=this.w,r=new w(this.ctx),o=s.globals.comboCharts?e:s.config.chart.type,n=new O(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var l=new k(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:\"apexcharts-\".concat(o,\"-series apexcharts-plot-series\")}),c=function(e){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[e].type;var o,l,c,g,u=void 0,f=void 0,p=[],x=[],b=s.globals.comboCharts?i[e]:e,m=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:\"apexcharts-series\",seriesName:v.escapeString(s.globals.seriesNames[b]),rel:e+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var S=a.barHelpers.initialPositions();f=S.y,w=S.barHeight,l=S.yDivision,g=S.zeroW,u=S.x,k=S.barWidth,o=S.xDivision,c=S.zeroH,x.push(u+k/2);for(var C=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),L=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,v={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:u,y:f,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(d(d({},v),{},{yDivision:l,barHeight:w,zeroW:g})):a.drawVerticalBoxPaths(d(d({},v),{},{xDivision:o,barWidth:k,zeroH:c})),f=h.y,u=h.x,i>0&&x.push(u+k/2),p.push(f),h.pathTo.forEach((function(o,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=n.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:o,strokeWidth:r,elSeries:y,x:u,y:f,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:C,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;Pb.c&&(d=!1);var y=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(y=r,k=r):(y=r-y/p,k=r-k/p,v=r-b.h/p,m=r-b.l/p,A=r-b.m/p);var C=l.move(S,r),L=l.move(S+s/2,y);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,y)+l.line(S+s/2,y)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,y)+l.line(S+s,y)+l.line(S+s,A)+l.line(S,A)+l.line(S,y+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,m)+l.line(S+s-s/4,m)+l.line(S+s/4,m)+l.line(S+s/2,m)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+\"z\"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,y)+l.line(S+s/2,y)+l.line(S+s/2,m)+l.line(S+s/2,y)+l.line(S,y)+l.line(S,k-o/2)],L+=l.move(S,y),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?f:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new w(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,f=this.getOHLCValue(u,c),p=r,x=r,b=Math.min(f.o,f.c),v=Math.max(f.o,f.c),m=f.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,p=r+f.h/g,x=r+f.l/g,m=r+f.m/g);var k=l.move(r,y),A=l.move(b,y+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,y)+l.line(b,y+s/2)+l.line(p,y+s/2)+l.line(p,y+s/2-s/4)+l.line(p,y+s/2+s/4)+l.line(p,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(m,y+s)+l.line(m,y)+l.line(b+o/2,y),l.move(m,y)+l.line(m,y+s)+l.line(v,y+s)+l.line(v,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(v,y+s/2)+l.line(v,y)+l.line(m,y)+\"z\"],A+=l.move(b,y),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:y,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),a}(kt),Ct=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new v;if(s.config.plotOptions[t].enableShades)if(\"dark\"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,n.color);l=v.hexToRgba(v.isColorHex(c)?c:v.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,n.color);l=v.hexToRgba(v.isColorHex(d)?d:v.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,f(a.globals.series[e])),c=Math.max.apply(Math,f(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new w(this.ctx),c=new B(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,f=i+g,p=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:f,y:p,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new w(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),Lt=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new Ct(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:\"draw\",value:function(t){var e=this.w,i=new w(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:v.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new y(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=m.x,S=m.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),g=i.centerY+r*Math.sin(l),u=i.centerX+r*Math.cos(c),f=i.centerY+r*Math.sin(c),p=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,n),b=s>180?1:0,m=[\"M\",d,g,\"A\",r,r,0,b,1,u,f];return e=\"donut\"===i.chartType?[].concat(m,[\"L\",p.x,p.y,\"A\",i.donutSize,i.donutSize,0,b,0,x.x,x.y,\"L\",d,g,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(m,[\"L\",i.centerX,i.centerY,\"L\",d,g]).join(\" \"):[].concat(m).join(\" \"),o.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new q(this.ctx),a=new w(this.ctx),s=new Pt(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new w(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n0&&(p=e.getPreviousPath(o));for(var x=0;x=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var f=h.dropShadow;s.dropShadow(u,f)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new w(this.ctx),a=new O(this.ctx),s=new y(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;if(this.radialDataLabels.show){var f=e.globals.dom.Paper.select(\".apexcharts-datalabels-group\").members[0];u=this.renderInnerDataLabels(f,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})}\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var x=p?t.series.length-1:0;p?x>=0:x100?100:t.series[x])/100,C=Math.round(this.totalAngle*S)+this.startAngle,L=void 0;e.globals.dataChanged&&(A=this.startAngle,L=Math.round(this.totalAngle*v.negToZero(e.globals.previousPaths[x])/100)+A),Math.abs(C)+Math.abs(k)>=360&&(C-=.01),Math.abs(L)+Math.abs(A)>=360&&(L-=.01);var P=C-k,M=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,I=i.drawPath({d:\"\",stroke:m,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+x,strokeDashArray:M});if(w.setAttrs(I.node,{\"data:angle\":P,\"data:value\":t.series[x]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,x)}if(s.setSelectionFilter(I,0,x),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:x}),this.barLabels.enabled){var z=v.polarToCartesian(t.centerX,t.centerY,t.size,k),X=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),E=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||E.push(\"apexcharts-no-click\");var Y=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;Y||(Y=e.config.chart.foreColor);var F=z.x+this.barLabels.offsetX,R=z.y+this.barLabels.offsetY,D=i.drawText({x:F,y:R,text:X,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:Y,cssClass:E.join(\" \")});D.on(\"click\",this.onBarLabelClick),D.attr({rel:x+1}),0!==k&&D.attr({\"transform-origin\":\"\".concat(F,\" \").concat(R),transform:\"rotate(\".concat(k,\" 0 0)\")}),b.add(D)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:C,startAngle:k,prevEndAngle:L,prevStartAngle:A,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new w(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new O(this.ctx),o=v.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),o}(Mt),zt=function(t){l(a,t);var e=r(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this.w,a=new w(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),r=0;r0&&(this.visibleI=this.visibleI+1);var x=0,b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[u][0],m=u);var y=this.barHelpers.initialPositions();g=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,o=y.xDivision,n=y.yDivision,l=y.zeroH;for(var k=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),A=a.group({class:\"apexcharts-rangebar-goals-markers\"}),S=0;S0}));return this.isHorizontal?(a=g.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+n*this.visibleI+h*b,v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(f)>-1&&(a=(n=d.barHeight/u.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+n*(this.visibleI+u.indexOf(f))+h*b)):(b>-1&&!g.globals.timescaleLabels.length&&(s=g.config.plotOptions.bar.rangeBarGroupRows?o+c*b:o+l*this.visibleI+c*b),v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(f)>-1&&(s=(l=d.barWidth/u.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+u.indexOf(f))+c*b)),{barYPosition:a,barXPosition:s,barHeight:n,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,o=t.zeroH,n=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,g=this.yRatio[d],u=this.getRangeValue(c,h),f=Math.min(u.start,u.end),p=Math.max(u.start,u.end);void 0===this.series[l][h]||null===this.series[l][h]?f=o:(f=o-f/g,p=o-p/g);var x=Math.abs(p-f),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:f,y2:p,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:n});if(n.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=v.x,r=v.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:u.start<0&&u.end<0?f:p,goalY:this.barHelpers.getGoalValues(\"y\",null,o,l,h,d),barXPosition:r}}},{key:\"preventBarOverflow\",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,g=this.preventBarOverflow(l+a/this.invertedYRatio),u=this.preventBarOverflow(l+s/this.invertedYRatio),f=this.getRangeValue(c,d),p=Math.abs(u-g),x=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:g,x2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:p,x:f.start<0&&f.end<0?g:u,goalX:this.barHelpers.getGoalValues(\"x\",l,null,c,d),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(kt),Xt=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new k(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(v.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a,s=t.i,r=t.realIndex,o=t.series,n=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=o[s])||void 0===a?void 0:a[0]))n=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-o[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?o[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===o[s][0])for(var g=s-1;g>=0;g--)if(null!==o[g][0]&&void 0!==o[g][0]){n=l=this.lineCtx.prevSeriesY[g][0];break}return{prevY:n,lineYPosition:l}}}]),t}(),Et=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Rt(i,a),r=1,o=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=o;h++)s=(t[Math.min(o,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([s||0,r[h]*s||0]);return n},Yt=function(t){var e=Et(t),i=t[1],a=t[0],s=[],r=e[1],o=e[0];s.push(a,[a[0]+o[0],a[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var n=2,l=e.length;n1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Rt(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Dt=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new W(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Xt(this),this.markers=new N(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:\"draw\",value:function(t,e,i,a){var s,r=this.w,o=new w(this.ctx),n=r.globals.comboCharts?e:r.config.chart.type,l=o.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),h=new k(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],g=0;g1?u:0;this._initSerieVariables(t,g,u);var p=[],x=[],b=[],v=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,u),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(v=(r.globals.seriesX[u][0]-r.globals.minX)/this.xRatio),b.push(v);var m,y=v,A=void 0,S=y,C=this.zeroY,L=this.zeroY;C=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:t,prevY:C,lineYPosition:0,translationsIndex:f}).prevY,\"monotoneCubic\"===r.config.stroke.curve&&null===t[g][0]?p.push(null):p.push(C),m=C;\"rangeArea\"===n&&(A=L=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:a,prevY:L,lineYPosition:0,translationsIndex:f}).prevY,x.push(null!==p[0]?L:null));var P=this._calculatePathsFrom({type:n,series:t,i:g,realIndex:u,translationsIndex:f,prevX:S,prevY:C,prevY2:L}),M=[p[0]],I=[x[0]],T={type:n,series:t,realIndex:u,translationsIndex:f,i:g,x:v,y:1,pX:y,pY:m,pathsFrom:P,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:p,y2Arrj:x,seriesRangeEnd:a},z=this._iterateOverDataPoints(d(d({},T),{},{iterations:\"rangeArea\"===n?t[g].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===n){for(var X=this._calculatePathsFrom({series:a,i:g,realIndex:u,prevX:S,prevY:L}),E=this._iterateOverDataPoints(d(d({},T),{},{series:a,xArrj:[v],yArrj:M,y2Arrj:I,pY:A,areaPaths:z.areaPaths,pathsFrom:X,iterations:a[g].length-1,isRangeStart:!1})),Y=z.linePaths.length/2,F=0;F=0;R--)l.add(c[R]);else for(var D=0;D1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:v.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var o=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":o,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,g=t.prevY2,u=this.w,f=new w(this.ctx);if(null===o[n][0]){for(var p=0;p0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,o=new w(this.ctx),n=new O(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&\"rangeArea\"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=o.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var g=o.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var u={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(e)};if(\"area\"===e)for(var f=n.fillPath({seriesNumber:i}),p=0;p0&&\"rangeArea\"!==e){var S=o.renderPaths(k);S.node.setAttribute(\"stroke-dasharray\",l.dashArray),l.strokeWidth&&S.node.setAttribute(\"stroke-width\",l.strokeWidth),this.elSeries.add(S),S.attr(\"clip-path\",\"url(#forecastMask\".concat(r.globals.cuid,\")\")),A.attr(\"clip-path\",\"url(#nonForecastMask\".concat(r.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i,a=this,s=t.type,r=t.series,o=t.iterations,n=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,g=t.pX,u=t.pY,f=t.pathsFrom,p=t.linePaths,x=t.areaPaths,b=t.seriesIndex,m=t.lineYPosition,y=t.xArrj,k=t.yArrj,A=t.y2Arrj,S=t.isRangeStart,C=t.seriesRangeEnd,L=this.w,P=new w(this.ctx),M=this.yRatio,I=f.prevY,T=f.linePath,z=f.areaPath,X=f.pathFromLine,E=f.pathFromArea,Y=v.isNumber(L.globals.minYArr[n])?L.globals.minYArr[n]:L.globals.minY;o||(o=L.globals.dataPoints>1?L.globals.dataPoints-1:L.globals.dataPoints);var F=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},R=d,D=L.config.chart.stacked&&!L.globals.comboCharts||L.config.chart.stacked&&L.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[n])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[n])||void 0===i?void 0:i.type)),H=L.config.stroke.curve;Array.isArray(H)&&(H=Array.isArray(b)?H[b[h]]:H[h]);for(var O,N=0,W=0;W0&&L.globals.collapsedSeries.length0;e--){if(!(L.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][W+1]}else m=this.zeroY;else m=this.zeroY;B?d=F(Y,m):(d=F(r[h][W+1],m),\"rangeArea\"===s&&(R=F(C[h][W+1],m))),y.push(c),!B||\"smooth\"!==L.config.stroke.curve&&\"monotoneCubic\"!==L.config.stroke.curve?(k.push(d),A.push(R)):(k.push(null),A.push(null));var V=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:n,i:h,j:W,prevY:I}),j=this._createPaths({type:s,series:r,i:h,realIndex:n,j:W,x:c,y:d,y2:R,xArrj:y,yArrj:k,y2Arrj:A,pX:g,pY:u,pathState:N,segmentStartX:O,linePath:T,areaPath:z,linePaths:p,areaPaths:x,curve:H,isRangeStart:S});x=j.areaPaths,p=j.linePaths,g=j.pX,u=j.pY,N=j.pathState,O=j.segmentStartX,z=j.areaPath,T=j.linePath,!this.appendPathFrom||\"monotoneCubic\"===H&&\"rangeArea\"===s||(X+=P.line(c,this.zeroY),E+=P.line(c,this.zeroY)),this.handleNullDataPoints(r,V,h,W,n),this._handleMarkersAndLabels({type:s,pointsPos:V,i:h,j:W,realIndex:n,isRangeStart:S})}return{yArrj:k,xArrj:y,pathFromArea:E,areaPaths:x,pathFromLine:X,linePaths:p,linePath:T,areaPath:z}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new B(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s=t.j,r=t.x,o=t.y,n=t.xArrj,l=t.yArrj,h=t.y2,c=t.y2Arrj,d=t.pX,g=t.pY,u=t.pathState,f=t.segmentStartX,p=t.linePath,x=t.areaPath,b=t.linePaths,v=t.areaPaths,m=t.curve,y=t.isRangeStart;this.w;var k,A=new w(this.ctx),S=this.areaBottomY,C=\"rangeArea\"===e,L=\"rangeArea\"===e&&y;switch(m){case\"monotoneCubic\":var P=y?l:c;switch(u){case 0:if(null===P[s+1])break;u=1;case 1:if(!(C?n.length===i[a].length:s===i[a].length-2))break;case 2:var M=y?n:n.slice().reverse(),I=y?P:P.slice().reverse(),T=(k=I,M.map((function(t,e){return[t,k[e]]})).filter((function(t){return null!==t[1]}))),z=T.length>1?Yt(T):T,X=[];C&&(L?v=T:X=v.reverse());var E=0,Y=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e}(t),i=Y,a=(Y+=t.length)-1;L?p=A.move(T[i][0],T[i][1])+e:C?p=A.move(X[i][0],X[i][1])+A.line(T[i][0],T[i][1])+e+A.line(X[a][0],X[a][1]):(p=A.move(T[i][0],T[i][1])+e,x=p+A.line(T[a][0],S)+A.line(T[i][0],S)+\"z\",v.push(x)),b.push(p)})),C&&E>1&&!L){var F=b.slice(E).reverse();b.splice(E),F.forEach((function(t){return b.push(t)}))}u=0}break;case\"smooth\":var R=.35*(r-d);if(null===i[a][s])u=0;else switch(u){case 0:if(f=d,p=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s=i[a].length-2&&(L&&(p+=A.curve(r,o,r,o,r,h)+A.move(r,h)),x+=A.curve(r,o,r,o,r,S)+A.line(f,S)+\"z\",b.push(p),v.push(x),u=-1)}}d=r,g=o;break;default:var O=function(t,e,i){var a=[];switch(t){case\"stepline\":a=A.line(e,null,\"H\")+A.line(null,i,\"V\");break;case\"linestep\":a=A.line(null,i,\"V\")+A.line(e,null,\"H\");break;case\"straight\":a=A.line(e,i)}return a};if(null===i[a][s])u=0;else switch(u){case 0:if(f=d,p=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s=i[a].length-2&&(L&&(p+=A.line(r,h)),x+=A.line(r,S)+A.line(f,S)+\"z\",b.push(p),v.push(x),u=-1)}}d=r,g=o}return{linePaths:b,areaPaths:v,pX:d,pY:g,pathState:u,segmentStartX:f,linePath:p,areaPath:x}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.strokeWidth-r.config.markers.strokeWidth/2;o>0||(o=0);var n=this.markers.plotChartMarkers(e,s,a+1,o,!0);null!==n&&this.elPointsMain.add(n)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var o=new w(this.ctx),n=o.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=o.getTextBasedOnMaxWidth({text:t,maxWidth:n,fontSize:e});return t.length!==l.length&&n/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new m(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Wt=86400,Bt=10/Wt,Gt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:\"calculateTimeScaleTicks\",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new C(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var o=s.getTimeUnitsfromTimestamp(t,e,this.utc),n=a.globals.gridWidth/r,l=n/24,h=l/60,c=h/60,g=Math.floor(24*r),u=Math.floor(1440*r),f=Math.floor(r*Wt),p=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),v={minMillisecond:o.minMillisecond,minSecond:o.minSecond,minMinute:o.minMinute,minHour:o.minHour,minDate:o.minDate,minMonth:o.minMonth,minYear:o.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:n,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:f,numberOfMinutes:u,numberOfHours:g,numberOfDays:p,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?d(d({},e),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?d(d({},e),{},{value:t.value}):\"minute\"===t.unit?d(d({},e),{},{value:t.value,minute:t.value}):\"second\"===t.unit?d(d({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var o=!1,n=!1;switch(i.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0)}if(\"hours\"===i.tickInterval||\"minutes_fives\"===i.tickInterval||\"seconds_tens\"===i.tickInterval||\"seconds_fives\"===i.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new lt(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new C(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:v.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:v.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=v.monthMod(a+1);var g=s+d,u=v.monthMod(n),f=n;0===n&&(c=\"year\",f=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:f,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:v.monthMod(a)});for(var p=n+1,x=l,b=0,m=1;bo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=v.monthMod(e.minMonth),n=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:v.monthMod(u),day:h});for(var f=d,p=0;pn.determineDaysOfMonths(e+1,s)&&(p=1,e+=1),{month:e,date:p}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,f=u;60===d&&(g=0,f=u=e.minHour);var p=i;f>=24&&(f=0,p+=1,l=\"day\");var x=h(p,a).month;x=c(p,x),this.timeScaleArray.push({position:g,value:u,unit:l,day:p,hour:f,year:s,month:v.monthMod(x)}),f++;for(var b=g,m=0;m=24)f=0,l=\"day\",x=h(p+=1,x).month,x=c(p,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===f?p:f;this.timeScaleArray.push({position:b,value:w,unit:l,hour:f,day:p,year:y,month:v.monthMod(x)}),f++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,f=n,p=s,x=(60-i-e/1e3)*h,b=0;b=60&&(d=0,24===(p+=1)&&(p=0)),this.timeScaleArray.push({position:x,value:d,unit:\"minute\",hour:p,minute:d,day:g,year:this._getYear(f,u,0),month:v.monthMod(u)}),x+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,f=n,p=s,x=(1e3-e)/1e3*l,b=0;b=60&&(c=0,++d>=60&&(d=0,24===++p&&(p=0))),this.timeScaleArray.push({position:x,value:c,unit:\"second\",hour:p,minute:d,second:c,day:g,year:this._getYear(f,u,0),month:v.monthMod(u)}),x+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new C(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new w(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Vt=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].indexOf(i)>-1,t.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].indexOf(i)>-1,t.isBarHorizontal=(\"bar\"===e.chart.type||\"rangeBar\"===e.chart.type||\"boxPlot\"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=\".apexcharts\"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),w.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(e.chart.offsetX,\", \").concat(e.chart.offsetY,\")\")}),t.dom.Paper.node.style.background=\"dark\"!==e.theme.mode||e.chart.background?\"light\"!==e.theme.mode||e.chart.background?e.chart.background:\"#fff\":\"#424242\",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\"),w.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]},p=void 0!==a.chart.type?a.chart.type:\"line\",x=null,b=0;s.series.forEach((function(e,a){var f=t[a].type||p;switch(f){case\"column\":case\"bar\":h.series.push(e),h.i.push(a),i.globals.columnSeries=h;break;case\"area\":o.series.push(e),o.i.push(a);break;case\"line\":r.series.push(e),r.i.push(a);break;case\"scatter\":n.series.push(e),n.i.push(a);break;case\"bubble\":l.series.push(e),l.i.push(a);break;case\"candlestick\":c.series.push(e),c.i.push(a);break;case\"boxPlot\":d.series.push(e),d.i.push(a);break;case\"rangeBar\":g.series.push(e),g.i.push(a);break;case\"rangeArea\":u.series.push(s.seriesRangeStart[a]),u.seriesRangeEnd.push(s.seriesRangeEnd[a]),u.i.push(a);break;case\"heatmap\":case\"treemap\":case\"pie\":case\"donut\":case\"polarArea\":case\"radialBar\":case\"radar\":x=f;break;default:console.warn(\"You have specified an unrecognized series type (\",f,\").\")}p!==f&&\"scatter\"!==f&&b++})),b>0&&(null!==x&&console.warn(\"Chart or series type \",x,\" can not appear with other chart or series types.\"),h.series.length>0&&a.plotOptions.bar.horizontal&&(b-=h.length,h={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"))),s.comboCharts||(s.comboCharts=b>0);var v=new Dt(this.ctx,e),m=new St(this.ctx,e);this.ctx.pie=new Mt(this.ctx);var y=new Tt(this.ctx);this.ctx.rangeBar=new zt(this.ctx,e);var w=new It(this.ctx),A=[];if(s.comboCharts){var S,C,L=new k(this.ctx);if(o.series.length>0)(S=A).push.apply(S,f(L.drawSeriesByGroup(o,s.areaGroups,\"area\",v)));if(h.series.length>0)if(i.config.chart.stacked){var P=new At(this.ctx,e);A.push(P.draw(h.series,h.i))}else this.ctx.bar=new kt(this.ctx,e),A.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&A.push(v.draw(u.series,\"rangeArea\",u.i,u.seriesRangeEnd)),r.series.length>0)(C=A).push.apply(C,f(L.drawSeriesByGroup(r,s.lineGroups,\"line\",v)));if(c.series.length>0&&A.push(m.draw(c.series,\"candlestick\",c.i)),d.series.length>0&&A.push(m.draw(d.series,\"boxPlot\",d.i)),g.series.length>0&&A.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var M=new Dt(this.ctx,e,!0);A.push(M.draw(n.series,\"scatter\",n.i))}if(l.series.length>0){var I=new Dt(this.ctx,e,!0);A.push(I.draw(l.series,\"bubble\",l.i))}}else switch(a.chart.type){case\"line\":A=v.draw(s.series,\"line\");break;case\"area\":A=v.draw(s.series,\"area\");break;case\"bar\":if(a.chart.stacked)A=new At(this.ctx,e).draw(s.series);else this.ctx.bar=new kt(this.ctx,e),A=this.ctx.bar.draw(s.series);break;case\"candlestick\":A=new St(this.ctx,e).draw(s.series,\"candlestick\");break;case\"boxPlot\":A=new St(this.ctx,e).draw(s.series,a.chart.type);break;case\"rangeBar\":A=this.ctx.rangeBar.draw(s.series);break;case\"rangeArea\":A=v.draw(s.seriesRangeStart,\"rangeArea\",void 0,s.seriesRangeEnd);break;case\"heatmap\":A=new Lt(this.ctx,e).draw(s.series);break;case\"treemap\":A=new Nt(this.ctx,e).draw(s.series);break;case\"pie\":case\"donut\":case\"polarArea\":A=this.ctx.pie.draw(s.series);break;case\"radialBar\":A=y.draw(s.series);break;case\"radar\":A=w.draw(s.series);break;default:A=v.draw(s.series)}return A}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;e.chart.width||(e.chart.width=\"100%\"),e.chart.height||(e.chart.height=\"auto\"),t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=v.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===a?v.isNumber(i[0])&&(0===i[0].width&&(i=v.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):\"px\"!==a&&\"\"!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=String(e.chart.height).toString().split(/[0-9]+/g).pop();if(\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===s){var r=v.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),w.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),\"%\"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+\"px\"}t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};w.setAttrs(t.dom.elGraphical.node,i)}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,\"top\"!==t.config.legend.position&&\"bottom\"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ct(this.ctx).legendHelpers.getLegendDimensions().clwh+10);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=v.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).indexOf(\"%\")>0||(e.dom.elWrap.style.height=l+\"px\",w.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+\"px\")}},{key:\"coreCalculations\",value:function(){new Z(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new D,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if(\"back\"===e.config.xaxis.crosshairs.position)new tt(this.ctx).drawXCrosshairs();if(\"back\"===e.config.yaxis[0].crosshairs.position)new tt(this.ctx).drawYCrosshairs();if(\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Gt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new k(this.ctx).getCalculatedRatios()}return t}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),jt=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"_updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(o){var n=[e.ctx];s&&(n=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(n=[e.ctx],e.ctx.w.globals.isExecCalled=!1),n.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&\"object\"===x(t)&&(s.config=new R(t),t=k.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=v.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?v.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?v.clone(t.yaxis):[],h.globals.initialConfig=v.extend({},h.config),h.globals.initialSeries=v.clone(h.config.series),t.series))){for(var c=0;c2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=v.clone(o.config.series),o.globals.initialSeries=v.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,e){var i=this.w,a=i.config.series[e];return d(d({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new w(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new F(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Ht=\"undefined\"!=typeof window?window:void 0,Ot=function(t,e){var i=(void 0!==this?this:t).SVG=function(t){if(i.supported)return t=new i.Doc(t),i.parser.draw||i.prepare(),t};if(i.ns=\"http://www.w3.org/2000/svg\",i.xmlns=\"http://www.w3.org/2000/xmlns/\",i.xlink=\"http://www.w3.org/1999/xlink\",i.svgjs=\"http://svgjs.dev\",i.supported=!0,!i.supported)return!1;i.did=1e3,i.eid=function(t){return\"Svgjs\"+c(t)+i.did++},i.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},i.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var a=t.length-1;a>=0;a--)if(t[a])for(var s in e)t[a].prototype[s]=e[s];i.Set&&i.Set.inherit&&i.Set.inherit()},i.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,i.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&i.extend(e,t.extend),t.construct&&i.extend(t.parent||i.Container,t.construct),e},i.adopt=function(e){return e?e.instance?e.instance:((a=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new i.Nested:new i.Doc:\"linearGradient\"==e.nodeName?new i.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new i.Gradient(\"radial\"):i[c(e.nodeName)]?new(i[c(e.nodeName)]):new i.Element(e)).type=e.nodeName,a.node=e,e.instance=a,a instanceof i.Doc&&a.namespace().defs(),a.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),a):null;var a},i.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],a=(t?new i.Doc(t):i.adopt(e.documentElement).nested()).size(2,0);i.parser={body:t||e.documentElement,draw:a.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:a.polyline().node,path:a.path().node,native:i.create(\"svg\")}},i.parser={native:i.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){i.parser.draw||i.prepare()}),!1),i.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},i.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new i.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),i.Color.test=function(t){return t+=\"\",i.regex.isHex.test(t)||i.regex.isRgb.test(t)},i.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},i.Color.isColor=function(t){return i.Color.isRgb(t)||i.Color.test(t)},i.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},i.extend(i.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),i.PointArray=function(t,e){i.Array.call(this,t,e||[[0,0]])},i.PointArray.prototype=new i.Array,i.PointArray.prototype.constructor=i.PointArray;for(var a={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},s=\"mlhvqtcsaz\".split(\"\"),r=0,o=s.length;rh);return r},bbox:function(){return i.parser.draw||i.prepare(),i.parser.path.setAttribute(\"d\",this.toString()),i.parser.path.getBBox()}}),i.Number=i.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(i.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof i.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new i.Number(t),new i.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new i.Number(t),new i.Number(this-t,this.unit||t.unit)},times:function(t){return t=new i.Number(t),new i.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new i.Number(t),new i.Number(this/t,this.unit||t.unit)},to:function(t){var e=new i.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new i.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new i.Number(this.destination).minus(this).times(t).plus(this):this}}}),i.Element=i.invent({create:function(t){this._stroke=i.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var a=g(this,t,e);return this.width(new i.Number(a.width)).height(new i.Number(a.height))},clone:function(t){this.writeDataToDom();var e=p(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(i.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return i.get(this.attr(t))},parent:function(e){var a=this;if(!a.node.parentNode)return null;if(a=i.adopt(a.node.parentNode),!e)return a;for(;a&&a.node instanceof t.SVGElement;){if(\"string\"==typeof e?a.matches(e):a instanceof e)return a;if(!a.node.parentNode||\"#document\"==a.node.parentNode.nodeName)return null;a=i.adopt(a.node.parentNode)}},doc:function(){return this instanceof i.Doc?this:this.parent(i.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var a=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");if(!(t&&this instanceof i.Parent))return a.appendChild(t=e.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),a.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");a.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=a.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},i.morph=function(t){return function(e,a){return new i.MorphObj(e,a).at(t)}},i.Situation=i.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new i.Number(t.duration).valueOf(),this.delay=new i.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),i.FX=i.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,a){\"object\"===x(t)&&(e=t.ease,a=t.delay,t=t.duration);var s=new i.Situation({duration:t||1e3,delay:a||0,ease:i.easing[e||\"-\"]||e});return this.queue(s),this},target:function(t){return t&&t instanceof i.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof i.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof i.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var a in e.animations){t=this.target()[a](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[a])||(e.animations[a]=[e.animations[a]]);for(var s=t.length;s--;)e.animations[a][s]instanceof i.Number&&(t[s]=new i.Number(t[s])),e.animations[a][s]=t[s].morph(e.animations[a][s])}for(var a in e.attrs)e.attrs[a]=new i.MorphObj(this.target().attr(a),e.attrs[a]);for(var a in e.styles)e.styles[a]=new i.MorphObj(this.target().style(a),e.styles[a]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),a=function(a){a.detail.situation==e&&t.call(this,a.detail.pos,i.morph(a.detail.pos),a.detail.eased,e)};return this.target().off(\"during.fx\",a).on(\"during.fx\",a),this.after((function(){this.off(\"during.fx\",a)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,a=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a[r].apply(a,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.attr.apply(a,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.style.apply(a,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--a)this[v[a]]=null!=t[v[a]]?t[v[a]]:e[v[a]]},extend:{extract:function(){var t=u(this,0,1);u(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new i.Matrix(this)}},clone:function(){return new i.Matrix(this)},morph:function(t){return this.destination=new i.Matrix(t),this},multiply:function(t){return new i.Matrix(this.native().multiply(function(t){return t instanceof i.Matrix||(t=new i.Matrix(t)),t}(t).native()))},inverse:function(){return new i.Matrix(this.native().inverse())},translate:function(t,e){return new i.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=i.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return\"matrix(\"+b(this.a)+\",\"+b(this.b)+\",\"+b(this.c)+\",\"+b(this.d)+\",\"+b(this.e)+\",\"+b(this.f)+\")\"}},parent:i.Element,construct:{ctm:function(){return new i.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof i.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new i.Matrix(e)}return new i.Matrix(this.node.getScreenCTM())}}}),i.Point=i.invent({create:function(t,e){var i;i=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===x(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=i.x,this.y=i.y},extend:{clone:function(){return new i.Point(this)},morph:function(t,e){return this.destination=new i.Point(t,e),this}}}),i.extend(i.Element,{point:function(t,e){return new i.Point(t,e).transform(this.screenCTM().inverse())}}),i.extend(i.Element,{attr:function(t,e,a){if(null==t){for(t={},a=(e=this.node.attributes).length-1;a>=0;a--)t[e[a].nodeName]=i.regex.isNumber.test(e[a].nodeValue)?parseFloat(e[a].nodeValue):e[a].nodeValue;return t}if(\"object\"===x(t))for(var s in t)this.attr(s,t[s]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?i.defaults.attrs[t]:i.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(i.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof i.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new i.Number(e):i.Color.isColor(e)?e=new i.Color(e):Array.isArray(e)&&(e=new i.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof a?this.node.setAttributeNS(a,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),i.extend(i.Element,{transform:function(t,e){var a;return\"object\"!==x(t)?(a=new i.Matrix(this).extract(),\"string\"==typeof t?a[t]:a):(a=new i.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(a=e?a.multiply(new i.Matrix(t)):new i.Matrix(t)),this.attr(\"transform\",a))}}),i.extend(i.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(i.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(i.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new i.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),i.Transformation=i.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var i=0,a=this.arguments.length;i=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return i.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var a=this.children(),s=0,r=a.length;s=0;a--)e.childNodes[a]instanceof t.SVGElement&&p(e.childNodes[a]);return i.adopt(e).id(i.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||i.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var a=n[t].length-1;a>=0;a--)null!=e[n[t][a]]&&this.attr(n.prefix(t,n[t][a]),e[n[t][a]]);return this},i.extend(i.Element,i.FX,e)})),i.extend(i.Element,i.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new i.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new i.Number(t).plus(this instanceof i.FX?0:this.x()),!0)},dy:function(t){return this.y(new i.Number(t).plus(this instanceof i.FX?0:this.y()),!0)}}),i.extend(i.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),i.Set=i.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new i.Set(t)}}}),i.FX.Set=i.invent({create:function(t){this.set=t}}),i.Set.inherit=function(){var t=[];for(var e in i.Shape.prototype)\"function\"==typeof i.Shape.prototype[e]&&\"function\"!=typeof i.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){i.Set.prototype[t]=function(){for(var e=0,a=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),i.get=function(t){var a=e.getElementById(function(t){var e=(t||\"\").toString().match(i.regex.reference);if(e)return e[1]}(t)||t);return i.adopt(a)},i.select=function(t,a){return new i.Set(i.utils.map((a||e).querySelectorAll(t),(function(t){return i.adopt(t)})))},i.extend(i.Parent,{select:function(t){return i.select(t,this.node)}});var v=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,i.CustomEvent=m}else i.CustomEvent=t.CustomEvent;return i},\"function\"==typeof define&&define.amd?define((function(){return Ot(Ht,Ht.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":x(exports))&&\"undefined\"!=typeof module?module.exports=Ht.document?Ot(Ht,Ht.document):function(t){return Ot(t,t.document)}:Ht.SVG=Ot(Ht,Ht.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n * https://github.com/wout/svg.filter.js\n * Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(M*=a=Math.sqrt(a),I*=a);s=(new SVG.Matrix).rotate(T).scale(1/M,1/I).rotate(-T),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var _t=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"isSeriesHidden\",\"highlightSeries\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new m(this.ctx),this.ctx.axes=new K(this.ctx),this.ctx.core=new Vt(this.ctx.el,this.ctx),this.ctx.config=new R({}),this.ctx.data=new V(this.ctx),this.ctx.grid=new U(this.ctx),this.ctx.graphics=new w(this.ctx),this.ctx.coreUtils=new k(this.ctx),this.ctx.crosshairs=new tt(this.ctx),this.ctx.events=new J(this.ctx),this.ctx.exports=new j(this.ctx),this.ctx.fill=new O(this.ctx),this.ctx.localization=new Q(this.ctx),this.ctx.options=new z,this.ctx.responsive=new et(this.ctx),this.ctx.series=new G(this.ctx),this.ctx.theme=new it(this.ctx),this.ctx.formatters=new L(this.ctx),this.ctx.titleSubtitle=new at(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.tooltip=new mt(this.ctx),this.ctx.dimensions=new lt(this.ctx),this.ctx.updateHelpers=new jt(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new mt(this.ctx)}}]),t}(),Ut=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(t,e){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),qt=new WeakMap;var Zt=function(){function t(e,a){i(this,t),this.opts=a,this.ctx=this,this.w=new H(a).init(),this.el=e,this.w.globals.cuid=v.randomId(),this.w.globals.chartID=this.w.config.chart.id?v.escapeString(this.w.config.chart.id):this.w.globals.cuid,new _t(this).initModules(),this.create=v.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return s(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),qt.set(e,s)}(t.el.parentNode,t.parentResizeHandler);var s=t.el.getRootNode&&t.el.getRootNode(),r=v.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=r?s.getElementById(\"apexcharts-css\"):o.getElementById(\"apexcharts-css\");if(!n){var l;(n=document.createElement(\"style\")).id=\"apexcharts-css\",n.textContent='@keyframes opaque {\\n 0% {\\n opacity: 0\\n }\\n\\n to {\\n opacity: 1\\n }\\n}\\n\\n@keyframes resizeanim {\\n\\n 0%,\\n to {\\n opacity: 0\\n }\\n}\\n\\n.apexcharts-canvas {\\n position: relative;\\n user-select: none\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0, 0, 0, .5);\\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\\n}\\n\\n.apexcharts-inner {\\n position: relative\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit\\n}\\n\\nrect.legend-mouseover-inactive,\\n.legend-mouseover-inactive rect,\\n.legend-mouseover-inactive path,\\n.legend-mouseover-inactive circle,\\n.legend-mouseover-inactive line,\\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\\n transition: .15s ease all;\\n opacity: .2\\n}\\n\\n.apexcharts-legend-text {\\n padding-left: 15px;\\n margin-left: -15px;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255, 255, 255, .96)\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30, 30, 30, .8)\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit\\n}\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #eceff1;\\n border-bottom: 1px solid #ddd\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0, 0, 0, .7);\\n border-bottom: 1px solid #333\\n}\\n\\n.apexcharts-tooltip-text-goals-value,\\n.apexcharts-tooltip-text-y-value,\\n.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n margin-left: 5px;\\n font-weight: 600\\n}\\n\\n.apexcharts-tooltip-text-goals-label:empty,\\n.apexcharts-tooltip-text-goals-value:empty,\\n.apexcharts-tooltip-text-y-label:empty,\\n.apexcharts-tooltip-text-y-value:empty,\\n.apexcharts-tooltip-text-z-value:empty,\\n.apexcharts-tooltip-title:empty {\\n display: none\\n}\\n\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-tooltip-goals-group,\\n.apexcharts-tooltip-text-goals-label,\\n.apexcharts-tooltip-text-goals-value {\\n display: flex\\n}\\n\\n.apexcharts-tooltip-text-goals-label:not(:empty),\\n.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0;\\n margin-right: 10px;\\n border-radius: 50%\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,\\n.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-custom-tooltip,\\n.apexcharts-tooltip-box {\\n padding: 4px 8px\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_boundingRect,\\n.svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_boundingRect,\\n.apexcharts-selection-rect+g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_points_l,\\n.apexcharts-selection-rect+g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-toolbar-custom-icon,\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, .7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,\\n.apexcharts-datalabel.apexcharts-element-hidden,\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value,\\n.apexcharts-datalabels,\\n.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-gridline,\\n.apexcharts-line,\\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-point-annotation-label,\\n.apexcharts-radar-series path:not(.apexcharts-marker),\\n.apexcharts-radar-series polygon,\\n.apexcharts-toolbar svg,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-zoom-rect {\\n pointer-events: none\\n}\\n\\n.apexcharts-tooltip-active .apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,\\n.resize-triggers,\\n.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers {\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows {\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers {\\n pointer-events: none\\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&n.setAttribute(\"nonce\",h),r?s.prepend(n):o.head.appendChild(n)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this,a=this.w;new _t(this).initModules();var s=this.w.globals;(s.noData=!1,s.animationEnded=!1,this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new F(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(null===this.el)return s.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var o=k.checkComboSeries(r,a.config.chart.type);s.comboCharts=o.comboCharts,s.comboBarCount=o.comboBarCount;var n=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||n&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new N(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),\"category\"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new k(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new B(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new U(i);var o,n,l=i.grid.drawGrid();(i.annotations=new X(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=qt.get(t))&&(e.disconnect(),qt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===v.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Ut(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Z(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Z(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new j(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new j(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=v.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),o=2;oO^F@**Scc4(0x4zsz*HxXB#r^U3gZuL= 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
koPG;CKx5p9MPOqzjCC}o3UKLYj6~et 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%0DI#7Q0gH(y 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 jK6?D*HShXbV;r@J1_U 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

tp!fdIrJ;fz=1DXLDj}-YV|I>J3(N01R1FQ(z*? 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 BNPYkS diff --git a/src/web/assets/dist/assets/widget-B0Swf_04.js.map.gz b/src/web/assets/dist/assets/widget-B0Swf_04.js.map.gz deleted file mode 100644 index 17cc13e78343ad7a433493427df9369f2f2161e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1403 zcmV->1%&z^iwFP!000021GQG|Zre5#eHDVmAO&C~cT0ysjf=^uL*E)+GFBEF=XMDp=M8q95qo%0@-| z`qDW|I8%fv?ekcXMO9)&UZo6xV_cE@Oq-W_3cwxBRWVHA^TFVk6xy|d(0QSTDg1RX zsP5ZU^-z&v3UkhC)viUnQj{|}OrbG)VW*u~56GYX5xhwj2gC)7Xd>esUlxR~_5S$Ysqiq%a z^FAG3lJ7NYW#%MdIn z2AF|Qrmm;&Tp^Ru~Pb^>xT!*!`#XPv@Ra(E7nBZue?w^q)$ z61;k9L{U|e9^UDz9Dyq(D4U~gVH0NrJa0?3+M3Jy=Kat0kmCpW^Q_~FUW>B#Uhehq ze|@-P&D99ZYL@92(tpD7{#V72#CcewomWGHc1q0+%OmqX8swp^R36%mSDcqOSnRcF zNKo**2+VLP$sTK~9kN~P885khGCzCI27^CNPDUOA-m}-q`1f(*ec7Q@;u}(GrQLCO zM}s3!P$l=J-hn`YSzeOd>&N!R(U*`dei8WmVt~Ml!M56}pD~#rSdn}mX;eX_euuA& zgV$JLf8(KYtSyKtc>a_?VF=!GoCC^C)iCTZWCd70u&fZA@miJ-n_3$_BMaRVr&C|e zBc^N9&{p@rrs=zd*Ef0D+j-FUz~ehi*QLwvj3Rv>!J~aOj1fItA>f-*v7`2MJ891e z3{C!hb!9u2o|9YY-lpqjAc9S+@}VZ{9z{1M&AQX@HS$0E8bRC2=r+b|mpQ9tO#o$5 zVV04UF>cm8L1RFJ--B4 zf{KU;6iQVx3d1E;ebS%&kP<|M=wJuDU?DAb}%nXd9S?_fa`4hpUsu57Ia*!b{$ z_srU|T=Kb}!qfB16q-tGB3q?Q_rDA;Y^&|^2_jgF5+c|#1|o=?W&O2%3q-JOFd%}q z#efK!@(&UGDrec(1*ZB;*X39%wd~UZO=*arCJ;pMgX!R%-P9p2a8*$@moS3gPUHC~ zM(1%H$7meKae}6C5~DK}kGzwa$&W)3Slv^pb9IJsP{gCo%fCF-lrcW7tmD zqca

t@`6uYL?U`!VEVFC^JCb=?ym?pZTi^KGOUBy J9E92r0057Suhjqm diff --git a/src/web/assets/dist/assets/widget-B0Swf_04.js b/src/web/assets/dist/assets/widget-DwHmSLCm.js similarity index 90% rename from src/web/assets/dist/assets/widget-B0Swf_04.js rename to src/web/assets/dist/assets/widget-DwHmSLCm.js index f9b413dc..8686a8af 100644 --- a/src/web/assets/dist/assets/widget-B0Swf_04.js +++ b/src/web/assets/dist/assets/widget-DwHmSLCm.js @@ -1,2 +1,2 @@ -import{A as n,a as i}from"./vue-apexcharts-Nop2JhTm.js";import{n as o}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const c=e=>({baseURL:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),h=(e,t,s,a)=>{e.get(t,{params:s}).then(r=>{a&&a(r.data)}).catch(r=>{console.error(r)})},p={components:{apexcharts:n},props:{title:{type:String,default:""},subTitle:{type:String,default:""},days:{type:String,default:""},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-widget",toolbar:{show:!1}},colors:["#008FFB","#DCE6EC"],labels:["404 hits","404 hits handled"]},series:[50,50]}},created:function(){this.getSeriesData()},methods:{getSeriesData:async function(){const e=i.create(c(this.apiUrl));await h(e,"",{days:this.days},t=>{this.series=t})}}};var d=function(){var t=this,s=t._self._c;return s("apexcharts",{attrs:{width:"100%",height:"200px",type:"donut",options:t.chartOptions,series:t.series}})},u=[],l=o(p,d,u,!1,null,null);const f=l.exports,_=window.Vue;new _({el:"#widget-content",components:{"widget-chart":f}}); -//# sourceMappingURL=widget-B0Swf_04.js.map +import{A as n,a as i}from"./vue-apexcharts-BAOY4gp6.js";import{n as o}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const c=e=>({baseURL:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),h=(e,t,s,a)=>{e.get(t,{params:s}).then(r=>{a&&a(r.data)}).catch(r=>{console.error(r)})},p={components:{apexcharts:n},props:{title:{type:String,default:""},subTitle:{type:String,default:""},days:{type:String,default:""},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-widget",toolbar:{show:!1}},colors:["#008FFB","#DCE6EC"],labels:["404 hits","404 hits handled"]},series:[50,50]}},created:function(){this.getSeriesData()},methods:{getSeriesData:async function(){const e=i.create(c(this.apiUrl));await h(e,"",{days:this.days},t=>{this.series=t})}}};var d=function(){var t=this,s=t._self._c;return s("apexcharts",{attrs:{width:"100%",height:"200px",type:"donut",options:t.chartOptions,series:t.series}})},u=[],l=o(p,d,u,!1,null,null);const f=l.exports,_=window.Vue;new _({el:"#widget-content",components:{"widget-chart":f}}); +//# sourceMappingURL=widget-DwHmSLCm.js.map diff --git a/src/web/assets/dist/assets/widget-DwHmSLCm.js.gz b/src/web/assets/dist/assets/widget-DwHmSLCm.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6979d0fda9f9d6966404fe759c01f86686d042fd GIT binary patch literal 668 zcmV;N0%QFjiwFP!000021AS9nZ`3dleCJmLSD-}Nq$w&0`Q%Ea1@TZ+sik~X)yYlv zE=G=R>`kx5@_$E3u5diSi(~KXY{t7|)jR7c9%nLS2ITlrY2|Its{OkGOX={w>7=Jn zzBxYsdboD4s_%g<)XXy@!9Eg}P7iBk%DVwyERFTO)aobt@)Xa*x8w3^Vm8(U${K;< zD37-?;MK($N9a(t=mU@JOL>7m1`LF4`B_oNIQ#P9>^+g&##u@QbRtI}2p|h_6tP+( z|6S1+qvjz@hb{rLZkRz8G(qtdA>um6dUbdr2E zn1+-!c@aI*;7y!#p1Uy^_)=AT9Y}rkMfL>wX*Dq^$S>KFR zJxaoMS1ffZjMKWDa!)16yhzX^b+!#W{)KQE9!!(%uxIz6P}N*IZ}O?&+_R!s$c9bbs{ALW07&9RVs+Ixus#-RSxzkz5*&kyt zh>~cu?nbrLaduGG&lq&5)*W&7qORRNgK3zowPqj&b~_}hc4zk3KH92FqaO!xeFIw9 z+(8QiJUsw2Xgw{(_ARZ1uJC?*j{%lqqfBcz)u#a$1~=I\n \n\n\n\n","import Vue from 'vue';\nimport WidgetChart from '@/vue/WidgetChart.vue';\n\n// Create our vue instance\nnew Vue({\n el: \"#widget-content\",\n components: {\n 'widget-chart': WidgetChart,\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["configureApi","url","queryApi","api","uri","params","callback","result","error","_sfc_main","ApexCharts","chartsAPI","Axios","data","Vue","WidgetChart"],"mappings":"kHAgBA,MAAAA,EAAAC,IACA,CACA,QAAAA,EACA,QAAA,CACA,mBAAA,gBACA,CACA,GAGAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CACAH,EAAA,IAAAC,EAAA,CAAA,OAAAC,CAAA,CAAA,EACA,KAAAE,GAAA,CACAD,GACAA,EAAAC,EAAA,IAAA,CAEA,CAAA,EACA,MAAAC,GAAA,CACA,QAAA,MAAAA,CAAA,CACA,CAAA,CACA,EAGAC,EAAA,CACA,WAAA,CACA,WAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,SAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,OAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,EACA,KAAA,UAAA,CACA,MAAA,CACA,aAAA,CACA,MAAA,CACA,GAAA,kBACA,QAAA,CACA,KAAA,EACA,CACA,EACA,OAAA,CAAA,UAAA,SAAA,EACA,OAAA,CACA,WACA,kBACA,CACA,EACA,OAAA,CAAA,GAAA,EAAA,CACA,CACA,EACA,QAAA,UAAA,CACA,KAAA,cAAA,CACA,EACA,QAAA,CAEA,cAAA,gBAAA,CACA,MAAAC,EAAAC,EAAA,OAAAZ,EAAA,KAAA,MAAA,CAAA,EACA,MAAAE,EAAAS,EAAA,GAAA,CAAA,KAAA,KAAA,IAAA,EAAAE,GAAA,CACA,KAAA,OAAAA,CACA,CAAA,CACA,CACA,CACA,4MC1FAC,EAAA,OAAA,IAIA,IAAIA,EAAI,CACN,GAAI,kBACJ,WAAY,CACV,eAAgBC,CAClB,CACF,CAAC"} \ No newline at end of file +{"version":3,"file":"widget-DwHmSLCm.js","sources":["../../../../../buildchain/src/vue/WidgetChart.vue","../../../../../buildchain/src/js/Widget.js"],"sourcesContent":["\n\n\n","import Vue from 'vue';\nimport WidgetChart from '@/vue/WidgetChart.vue';\n\n// Create our vue instance\nnew Vue({\n el: \"#widget-content\",\n components: {\n 'widget-chart': WidgetChart,\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["configureApi","url","queryApi","api","uri","params","callback","result","error","_sfc_main","ApexCharts","chartsAPI","Axios","data","Vue","WidgetChart"],"mappings":"kHAgBA,MAAAA,EAAAC,IACA,CACA,QAAAA,EACA,QAAA,CACA,mBAAA,gBACA,CACA,GAGAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CACAH,EAAA,IAAAC,EAAA,CAAA,OAAAC,CAAA,CAAA,EACA,KAAAE,GAAA,CACAD,GACAA,EAAAC,EAAA,IAAA,CAEA,CAAA,EACA,MAAAC,GAAA,CACA,QAAA,MAAAA,CAAA,CACA,CAAA,CACA,EAGAC,EAAA,CACA,WAAA,CACA,WAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,SAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,OAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,EACA,KAAA,UAAA,CACA,MAAA,CACA,aAAA,CACA,MAAA,CACA,GAAA,kBACA,QAAA,CACA,KAAA,EACA,CACA,EACA,OAAA,CAAA,UAAA,SAAA,EACA,OAAA,CACA,WACA,kBACA,CACA,EACA,OAAA,CAAA,GAAA,EAAA,CACA,CACA,EACA,QAAA,UAAA,CACA,KAAA,cAAA,CACA,EACA,QAAA,CAEA,cAAA,gBAAA,CACA,MAAAC,EAAAC,EAAA,OAAAZ,EAAA,KAAA,MAAA,CAAA,EACA,MAAAE,EAAAS,EAAA,GAAA,CAAA,KAAA,KAAA,IAAA,EAAAE,GAAA,CACA,KAAA,OAAAA,CACA,CAAA,CACA,CACA,CACA,4MC1FAC,EAAA,OAAA,IAIA,IAAIA,EAAI,CACN,GAAI,kBACJ,WAAY,CACV,eAAgBC,CAAA,CAEpB,CAAC"} \ No newline at end of file diff --git a/src/web/assets/dist/assets/widget-DwHmSLCm.js.map.gz b/src/web/assets/dist/assets/widget-DwHmSLCm.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..16887b198ed7bb60de6655c3caf217e8888896f0 GIT binary patch literal 1401 zcmV-<1%~<`iwFP!000021GQG|Zre5#eHDVmAO&D7Z)=A^jf=^OYkNtSHEG&zRZ%b! zZLyU|m86^mf!}=~Dao`WyZcikP)Oc$zsN)0`v_M=NXi)ue?@RX3j#xUN3$hS$ESC* z^7=e32VW#aQ1V)&M8fbR91H^Y@3y8zmgbnUK#DY2)g*XtEW|k$YOtyaMBmZ*A{!O$ z>r>|}=1dW$w9gYo%BsMMyh<1VC%7W_sWvb56o5OLseF{cpNGSr5@^?QLYKK3CGeNw zu)1$o)k8%_3CuXFRl64QN>R?_D1pZ4rJZ(SNdzTYY6o^bc$Kh|zzHj1Co&bZQf90b zX<2chKy**J1Pj4S;9))XUT(`Pa&Pvk1+8jwyvb0bEj|c9%-Mo2Ye9g@3BVNvgk=?{ zOj$_EnN<2~QBg&~2>7)qj=<;@c(fq>6GYX5xhwj2izT_aIuAiD3bZZC3C@U+;jW7Q zc^{6i$hVqEMY7}fROMa>ybl-WGo`9V;B9NIH`8^q8}0uf0B>p{9ssWei2j~;8G;qX z05kAmb_J%Bw{F7Uv_g|Ct|$Vvpa@i0;8G%x;-a|4>DS#oz!e=ViSiBj(W1jfYkjmG z@Id8+`Mw~sF4V4}_D2`M-#F_5n1~xdV{4FMg^yl7#jbaDY&W13t2Fn0A_NzG0qLFL z1sNDX19RN8_SP=FE^7f&URInDrU1Fu{A{k6oq&uia9t?ZS*P%n9G*kt&>_0Rt+g|* z1h1YNQB)PAhj;oahu~TX%9dzX*u)tE&)bo$cjmIbefwiQWcWe;IP18gH=^jhmj^xk zUmxyRb2S8unx*=M^q+9N|5Y(0aURxi@72(ty;5_-ve3Mb26=2Nm527@73ak*76)w_ z66E|Y1Pfe9a=_Ypk8Iz1$_uWa%#Yr);qdp@ug4w&-m}wq^4lc#KJ8H|@GU8{(*8KS z=fme9r%E15y#s+9v#cPQ*N^Rsqc0&_{6g^Y#SnoP!(Fv?KVwosup-$Z(x{wD{SIFn z2d7wJf9s)gtd&INJbOx@AOPnaXMi$OH4HlpSpk+0EX@UHyq3kow$_%<&_WNy>C{*A zi0RrivekWH)AZfK>zlmn?L6vx;PD-%o6_ZXMv=ac;L*Ms#)uxS5%5i^*i(DDowVl! zMkfEhy0RNf&&jQIZ_{-%5W%KZc~_H7kD?osX5DG{8u=f6ji7C1bQ@!~%beA!CV(=j zFiT0o7`f9V+OjmiE_n;&S4|1*=uI#K1u<_yh z?wPe^x!_AbfwPON1e!{0B3ma+_rDC6w$*m|1QD!70TFB&0};f{vi{n>1tQos7!X0* zVn75<`G*L8mW%XriK#x*O*z&|E&H@UQyLv;Q6&w8w0c6(+_Uw4p8XOH66R-fLq zB~`oYvCF2LZSSdbCY#tMjbJ(6O2ws@armztp0%gF!-$CyUt7?$lb>~;c^j(3xOUfj zXtVh|zleW+?M8y;(cIXZ8-sHV`%4?0o1OYo6YC$n_zsaMT8=y3PpYvV#&G=~_Y{P) H+7AE#-jl6M literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/manifest.json b/src/web/assets/dist/manifest.json index a4e1c30d..089174dd 100644 --- a/src/web/assets/dist/manifest.json +++ b/src/web/assets/dist/manifest.json @@ -11,35 +11,35 @@ "name": "_plugin-vue2_normalizer" }, "_purify.es-!~{007}~.js": { - "file": "assets/purify-aK_k3t68.css", + "file": "assets/purify-DvoaRXnC.css", "src": "_purify.es-!~{007}~.js" }, - "_purify.es-Xo6LZ5T9.js": { - "file": "assets/purify.es-Xo6LZ5T9.js", + "_purify.es-DnCl3rD_.js": { + "file": "assets/purify.es-DnCl3rD_.js", "name": "purify.es", "imports": [ "__plugin-vue2_normalizer-DeOsZA-U.js" ], "css": [ - "assets/purify-aK_k3t68.css" + "assets/purify-DvoaRXnC.css" ] }, - "_vue-apexcharts-Nop2JhTm.js": { - "file": "assets/vue-apexcharts-Nop2JhTm.js", + "_vue-apexcharts-BAOY4gp6.js": { + "file": "assets/vue-apexcharts-BAOY4gp6.js", "name": "vue-apexcharts", "imports": [ "__plugin-vue2_normalizer-DeOsZA-U.js" ] }, "src/js/Dashboard.js": { - "file": "assets/dashboard--4c4omta.js", + "file": "assets/dashboard-hjVnLPX9.js", "name": "dashboard", "src": "src/js/Dashboard.js", "isEntry": true, "imports": [ - "_purify.es-Xo6LZ5T9.js", + "_purify.es-DnCl3rD_.js", "__plugin-vue2_normalizer-DeOsZA-U.js", - "_vue-apexcharts-Nop2JhTm.js" + "_vue-apexcharts-BAOY4gp6.js" ] }, "src/js/Import.js": { @@ -52,43 +52,43 @@ ] }, "src/js/Redirects.js": { - "file": "assets/redirects--9ofOl-C.js", + "file": "assets/redirects-BXkYchow.js", "name": "redirects", "src": "src/js/Redirects.js", "isEntry": true, "imports": [ - "_purify.es-Xo6LZ5T9.js", + "_purify.es-DnCl3rD_.js", "_LegacyUrl-7VynczAE.js", "__plugin-vue2_normalizer-DeOsZA-U.js" ] }, "src/js/Retour.js": { - "file": "assets/retour-BOu9DI9D.js", + "file": "assets/retour-nCwm8tyg.js", "name": "retour", "src": "src/js/Retour.js", "isEntry": true, "css": [ - "assets/retour-DlWrJ6Fo.css" + "assets/retour-ecV1HJmh.css" ] }, "src/js/Shortlinks.js": { - "file": "assets/shortlinks-Q4nOpy0m.js", + "file": "assets/shortlinks-6cjZJRFA.js", "name": "shortlinks", "src": "src/js/Shortlinks.js", "isEntry": true, "imports": [ - "_purify.es-Xo6LZ5T9.js", + "_purify.es-DnCl3rD_.js", "_LegacyUrl-7VynczAE.js", "__plugin-vue2_normalizer-DeOsZA-U.js" ] }, "src/js/Widget.js": { - "file": "assets/widget-B0Swf_04.js", + "file": "assets/widget-DwHmSLCm.js", "name": "widget", "src": "src/js/Widget.js", "isEntry": true, "imports": [ - "_vue-apexcharts-Nop2JhTm.js", + "_vue-apexcharts-BAOY4gp6.js", "__plugin-vue2_normalizer-DeOsZA-U.js" ] } diff --git a/src/web/assets/dist/manifest.json.gz b/src/web/assets/dist/manifest.json.gz index 1bff0df4db6b554272ebe71b508d0b84bc7cff28..b9c07857000b49d60c4d92a8580b4b65f4052ab2 100644 GIT binary patch literal 496 zcmVvh2Qflygb*?brbD)OGzizB6R|l0n>y$<0gT` zNo@z3BKq5>BqSNp#f6QRz9!$j=bm#NXKf&4PJ7HDG&bvy3@#y9gpK>%r2%p6an$Q7bdXH z?&ZY74{6^F{$(JvIWrEe**EziwKX4mO3Z4YC>Gvh(qIyQcwL{LUv6G?Bjhx;mm%qo zc&9;SDJccb6~Ts(pv^n}Ct*+D7Oc}XmnC$XZEc&R-u`N!Nua*uWy~;%*fVvBP!eBT z_v6n_)YAFXl+?`bk|#c&QqbmHHf^7!tQ*?d*4T2fN4vpc1$3l!iv1% zN+f0*DG@V`Ki%0l)PF^5HUNk8EgMOfP(CznJ&h*|t9u8;lM`?@RsUmy`S->5*~}A+ zDyg$23J7117Gvs$E5KO^!RB^^PQ7^D75~5as4y1#a8d&E&MLT4i328+68mB)`s*@* zZ>Fs>qr;Eg+rWixrmf1r4TbVOzR<2&mK1K$`Q*0$)dJj96zphM>-}u{hc|PW_Um3{ m1h!Y*V9@IXKsGr6=Th}QHj_7h6~`MlHh%z?u`~oq2><~381FRz literal 495 zcmV&&p+UYP`T$Knc z*=Kho$&_s3^lr|EG|1QzDqeU&#Dz+`{>UDrx=!TBV=si4nC&?s7XkIXHzvSl zeL3jCUD`K;e;S0$ca3#xR!zQ6ZOzAu60;g8iiI~y8cf2@`^>Tq=kK}^avJElGu>D1 zqlPO>Nh#c15p9SGKJxa(;NZ6Nv0$C9xh$dWY-`aZ_4Zc-O#<~Lzr+k^#D2RIDwKpv z9_^h?ZUdc9O-aq{GP&jRDTUj7l1-b+$uCaDP&e|hfB;%c43)|GxNZHuMB@ zmDJf11q9IHqrMMc5N9QXn_Cjv_TqI{{Qu^ocr5hcqy!xIrhNX`ym6;X?UdIMuFMmK0pI!hV!k*mYD \r\n\r\n\r\n","\n","\n\n\n","\n","\n\n\n","\n\n\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\r\n\r\n\r\n","\n","\n\n\n","\n","\n\n\n","\n\n\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport RedirectsTable from '@/vue/RedirectsTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'redirects-table': RedirectsTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","value","PriorityValue","LegacyUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","label","DOMPurify","url","Vue","VueEvents","RedirectsTable","vuetable"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"redirects-MFAcS0Yj.js","sources":["../../../../../buildchain/src/vue/RedirectsFieldDefs.js","../../../../../buildchain/src/vue/PriorityValue.vue","../../../../../buildchain/src/vue/RedirectsTable.vue","../../../../../buildchain/src/js/Redirects.js"],"sourcesContent":["// Field definitions for RedirectsTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:legacy-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', 'Legacy URL Pattern'),\n titleClass: 'center vuetable-th-redirectSrcUrl',\n dataClass: 'center vuetable-td-redirectSrcUrl',\n },\n {\n name: 'redirectDestUrl',\n sortField: 'redirectDestUrl',\n title: Craft.t('retour', 'Redirect To'),\n titleClass: 'center',\n dataClass: 'center',\n callback: 'urlFormatter'\n },\n {\n name: 'redirectMatchType',\n sortField: 'redirectMatchType',\n title: Craft.t('retour', 'Match Type'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n callback: 'matchFormatter'\n },\n {\n name: 'siteName',\n sortField: 'siteId',\n title: Craft.t('retour', 'Sites'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'redirectHttpCode',\n sortField: 'redirectHttpCode',\n title: Craft.t('retour', 'Status'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: '__component:priority-value',\n sortField: 'priority',\n title: Craft.t('retour', 'Priority'),\n titleClass: 'text-right vuetable-th-priority',\n dataClass: 'text-right vuetable-td-priority',\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport RedirectsTable from '@/vue/RedirectsTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'redirects-table': RedirectsTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","value","PriorityValue","LegacyUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","label","DOMPurify","url","Vue","VueEvents","RedirectsTable","vuetable"],"mappings":"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"} \ No newline at end of file diff --git a/src/web/assets/dist/assets/redirects-MFAcS0Yj.js.map.gz b/src/web/assets/dist/assets/redirects-MFAcS0Yj.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..020851567525b4e6ff9dab60ef1f3ec5edb88cca GIT binary patch literal 4022 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 c?-R8GP1H==0O06n0qs2h2fJLYpA zX}q&0VR}MpZt!=u=*wmouhJ)!!wu?hlx6Q)-W!u&X6fNu*=`<{!7x*Nw-9q~F0(?K z9`o(uF{baiImlA++57;{YPrkw1Jh>6cdom)evGw+@ZNLt^>#QSlX#P>EZ20Sveg@A z7~Po19O)mEPnZ~@@V^CDn9`F$NmRDFk}0lhkl%~N1Qkhf$_ioVpe%`Xs={DOH-gIt z=Q(s*$i(nW`oTt^@mLISq0kgcdhB^@=3GZL>!?xf8`S1b3Bt;DCjba*&lZL4AA>~UT_r?bXWTOo;JgE;p%YZOrl%|`x!YRd;ckS($xn*44Fh=bu z%F@x(Ig>5PTk|N8ZeTU%21A{*1c8FgR*L1&MF_~(qS|omP%#=WeS0>4PeLb85RB@d zl8oc~5gEq9pO8y3CMPe5EQD~sf;yD1<6(qrn-28F#{#1^`1#N#4DxMWsgK+}WkA(zt(Xwli6a$!(~6Q+PpOS0f=E;YTM zk4SBzRnR$ReuU-xPKkQ^)+jD#?KaqJwI0y5$I4GvE17SKrnQ}S1N-{}-Cz))Z7AT8}ks;FwkQBcR zXknmqq2UjeqN4Yk>27E`7_Ta6xTRas7!il4>5|A|af<>I>$wA>>({GP(|ZeLwKBxD zy+o3ux@I$^=L4eM4PVy_`{C#smDM*=2x{0jD9{`Ntu|V?CZ`^NY_4?=RzCr(A?O9C zM62mAdq8Q^+P*<}D=yP)6;%X#z*hbB=SL=ruSa&!Wl2^x$4W*!YUZkT@t66^r3bsjRpvdUpjzHzH_U$XnYm~eOxA{GELncJ`g!^<|I1Ea% zKr_!$O*b<%w`_^FNWjZXPWfyb5fYZn@!$AJYg-Ck46xZihc<#^xI7Qxd8Ok*qq5n% z{;Z=0pGg~5RF6tG|ciyquGNd2cfUzH2XG;ZzO&Y+#ct0&g2Yj z?ASR<>nKSVqC)BWLXFn3#&}Rk(lJR}Qyidv635Gor{3V%vqQWa0>i8W=F|KO7z6wQ=i3g3=mW>02eIIBh4f?{IgXQVKK@iOY!dJ z%4fkvB{-{#+7pQ@&vDFs_>cdJ-m~!Y=s68uot*&z4nbs48y|yb&rUGnG7&|J+J{pJ zo;~w1u0oRydEDTg621+yfBoR?{QH%8i7jekTPS6Pc%3W#DWS6RR^tQMB8R=}7P?dx1GJyYy4{ADnJod&9Nv%z!lz{=kZM{)e(RokKUF#9E@ZMrB% zWAt|@oO~?>-6t_#`amHVxpP%E)jQS1$eGHD+~ZPkiBNWouLrmg;kh?4(yQBqw#jwP zN$9+Uf<|MwoM|Y_V;n914ze5J0fl-}QOQt<$`J%V(r8I&=1>a4BN z&nlPhlv;b8aJP%tcEF=xM9%9=Jk(46O-GHNa@4qX)b@-Cz|b^jJ^6J2#7 zJCV_Sq)r&tZ5ZAbQDqP6Lu{%0&>FHNGs=la>+_Oo5Ss7fkcN4dq7lkl9 z7x+q2c|RDHb%dw{+NPdH20KKk$iw+y>*3&?4_bTJ#jW9g?!o{3Mfewk9>R;kS8&*2 zQDHPcw9>S*1sfZ>MSWQYBl4ohsG+|7ZVQ2&yFXe`jH=NW0hZ?| z(=e|(Ns68B%MGq*)7YO8Z+Hv;Rx-VB4luEc{b)O&$)8VjtsGGm0fVu7^b*3%uZV zkl-(Z3tQ`Re}jU;k4YX%whWU@8njcq?%)+VLy5{V=;PDVpq-X^J1!a8g_~;E&V)K+ zlD*9hk0h?mkS7nm9SzyBeYF<^WmyInKb)QY=;^Fb3I4|NoXgqW&4;)n>@UfuKmT>} V?sfD@+j#WD{{TI$H$NsF008vY*N^}J diff --git a/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map.gz b/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map.gz deleted file mode 100644 index 841e5c017272e120e2b98c236838358037c5b0f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3979 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 diff --git a/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js b/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js similarity index 98% rename from src/web/assets/dist/assets/shortlinks-6cjZJRFA.js rename to src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js index d0387368..1f508da5 100644 --- a/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js +++ b/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js @@ -1,6 +1,6 @@ -import{V as c,a as d,b as u,c as f,s as h,p,_ as m}from"./purify.es-DnCl3rD_.js";import{L as g}from"./LegacyUrl-7VynczAE.js";import{n as l}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const v=[{name:"__checkbox",titleClass:"center aligned",dataClass:"center aligned"},{name:"__component:legacy-url",sortField:"redirectSrcUrl",title:Craft.t("retour","Short Link"),titleClass:"center",dataClass:"center"},{name:"__component:element-url",sortField:"elementTitle",title:Craft.t("retour","Redirect To"),titleClass:"center",dataClass:"center"},{name:"redirectMatchType",sortField:"redirectMatchType",title:Craft.t("retour","Match Type"),titleClass:"text-left",dataClass:"text-left",callback:"matchFormatter"},{name:"siteName",sortField:"siteId",title:Craft.t("retour","Sites"),titleClass:"text-left",dataClass:"text-left"},{name:"redirectHttpCode",sortField:"redirectHttpCode",title:Craft.t("retour","Status"),titleClass:"text-left",dataClass:"text-left"},{name:"hitCount",sortField:"hitCount",title:Craft.t("retour","Hits"),titleClass:"text-right",dataClass:"text-right"},{name:"hitLastTime",sortField:"hitLastTime",title:Craft.t("retour","Last Hit"),titleClass:"center",dataClass:"center"}],b={props:{rowData:{type:Object,required:!0},rowIndex:{type:Number,default:0}},computed:{linkTitle:function(){let a="";return a+=this.rowData.redirectDestUrl,a}}};var C=function(){var e=this,t=e._self._c;return t("div",[t("a",{staticClass:"go",attrs:{href:e.rowData.elementCpUrl,title:e.linkTitle}},[t("span",{staticStyle:{"white-space":"nowrap"}},[t("span"),t("span",{staticStyle:{"white-space":"normal"}},[e._v(e._s(e.rowData.elementTitle))])])])])},_=[],T=l(b,C,_,!1,null,null);const x=T.exports;Vue.component("LegacyUrl",g);Vue.component("ElementUrl",x);const $={components:{vuetable:c,"vuetable-pagination":d,"vuetable-pagination-info":u,"vuetable-filter-bar":f},mixins:[h],props:{siteId:{type:Number,default:0},apiUrl:{type:String,default:""}},data:function(){return{moreParams:{siteId:this.siteId,shortLinks:!0},css:{tableClass:"data fullwidth retour-redirects",ascendingIcon:"icon retour-menubtn-asc",descendingIcon:"icon retour-menubtn-desc"},sortOrder:[{field:"hitCount",sortField:"hitCount",direction:"desc"}],fields:v,numSelected:0,selectedIds:[],filterText:"",perPage:20,stringPerPage:Craft.t("retour","Per-page:"),stringDelete:Craft.t("retour","Delete"),stringRedirect:Craft.t("retour","redirect"),stringRedirects:Craft.t("retour","redirects")}},computed:{csrfTokenName:function(){return window.Craft.csrfTokenName},csrfTokenValue:function(){return window.Craft.csrfTokenValue}},watch:{perPage:function(){this.$events.fire("refresh-table",this.$refs.vuetable)}},mounted(){this.$events.$on("filter-set",a=>this.onFilterSet(a)),this.$events.$on("filter-reset",()=>this.onFilterReset()),this.$refs.vuetable.$on("vuetable:checkbox-toggled",(a,e)=>this.onCheckboxToggled(a,e)),this.$refs.vuetable.$on("vuetable:checkbox-toggled-all",a=>this.onCheckboxToggled(a,null))},methods:{getSaveStateConfig(){return{cacheKey:"retour-shortlinks-state-v2-"+Craft.username+Craft.siteId,ignoreProperties:["numSelected","selectedIds","moreParams"]}},onFilterSet(a){this.filterText=a,this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onFilterReset(){this.filterText="",this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onPaginationData(a){this.$refs.paginationTop.setPaginationData(a),this.$refs.paginationInfoTop.setPaginationData(a),this.$refs.pagination.setPaginationData(a),this.$refs.paginationInfo.setPaginationData(a)},onChangePage(a){this.$refs.vuetable.changePage(a)},onCheckboxToggled(){this.numSelected=0,this.selectedIds=[],this.$refs.vuetable!==void 0&&this.$refs.vuetable.selectedTo!==void 0&&(this.numSelected=this.$refs.vuetable.selectedTo.length,this.selectedIds=this.$refs.vuetable.selectedTo)},matchFormatter(a){let e="Pluing Match";switch(a){case"exactmatch":e="Exact Match";break;case"regexmatch":e="RegEx Match";break}return e},urlFormatter(a){if(a==="")return"";a=p.sanitize(a),a=encodeURI(a);let e=a;return!new RegExp("^(?:[a-z]+:)?//","i").test(e)&&!e.includes("$")&&(e=Craft.getSiteUrl(e)),` +import{V as c,a as d,b as u,c as f,s as h,p,_ as m}from"./purify.es-T1dZ8B5N.js";import{L as g}from"./LegacyUrl-7VynczAE.js";import{n as l}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const v=[{name:"__checkbox",titleClass:"center aligned",dataClass:"center aligned"},{name:"__component:legacy-url",sortField:"redirectSrcUrl",title:Craft.t("retour","Short Link"),titleClass:"center",dataClass:"center"},{name:"__component:element-url",sortField:"elementTitle",title:Craft.t("retour","Redirect To"),titleClass:"center",dataClass:"center"},{name:"redirectMatchType",sortField:"redirectMatchType",title:Craft.t("retour","Match Type"),titleClass:"text-left",dataClass:"text-left",callback:"matchFormatter"},{name:"siteName",sortField:"siteId",title:Craft.t("retour","Sites"),titleClass:"text-left",dataClass:"text-left"},{name:"redirectHttpCode",sortField:"redirectHttpCode",title:Craft.t("retour","Status"),titleClass:"text-left",dataClass:"text-left"},{name:"hitCount",sortField:"hitCount",title:Craft.t("retour","Hits"),titleClass:"text-right",dataClass:"text-right"},{name:"hitLastTime",sortField:"hitLastTime",title:Craft.t("retour","Last Hit"),titleClass:"center",dataClass:"center"}],b={props:{rowData:{type:Object,required:!0},rowIndex:{type:Number,default:0}},computed:{linkTitle:function(){let a="";return a+=this.rowData.redirectDestUrl,a}}};var C=function(){var e=this,t=e._self._c;return t("div",[t("a",{staticClass:"go",attrs:{href:e.rowData.elementCpUrl,title:e.linkTitle}},[t("span",{staticStyle:{"white-space":"nowrap"}},[t("span"),t("span",{staticStyle:{"white-space":"normal"}},[e._v(e._s(e.rowData.elementTitle))])])])])},_=[],T=l(b,C,_,!1,null,null);const x=T.exports;Vue.component("LegacyUrl",g);Vue.component("ElementUrl",x);const $={components:{vuetable:c,"vuetable-pagination":d,"vuetable-pagination-info":u,"vuetable-filter-bar":f},mixins:[h],props:{siteId:{type:Number,default:0},apiUrl:{type:String,default:""}},data:function(){return{moreParams:{siteId:this.siteId,shortLinks:!0},css:{tableClass:"data fullwidth retour-redirects",ascendingIcon:"icon retour-menubtn-asc",descendingIcon:"icon retour-menubtn-desc"},sortOrder:[{field:"hitCount",sortField:"hitCount",direction:"desc"}],fields:v,numSelected:0,selectedIds:[],filterText:"",perPage:20,stringPerPage:Craft.t("retour","Per-page:"),stringDelete:Craft.t("retour","Delete"),stringRedirect:Craft.t("retour","redirect"),stringRedirects:Craft.t("retour","redirects")}},computed:{csrfTokenName:function(){return window.Craft.csrfTokenName},csrfTokenValue:function(){return window.Craft.csrfTokenValue}},watch:{perPage:function(){this.$events.fire("refresh-table",this.$refs.vuetable)}},mounted(){this.$events.$on("filter-set",a=>this.onFilterSet(a)),this.$events.$on("filter-reset",()=>this.onFilterReset()),this.$refs.vuetable.$on("vuetable:checkbox-toggled",(a,e)=>this.onCheckboxToggled(a,e)),this.$refs.vuetable.$on("vuetable:checkbox-toggled-all",a=>this.onCheckboxToggled(a,null))},methods:{getSaveStateConfig(){return{cacheKey:"retour-shortlinks-state-v2-"+Craft.username+Craft.siteId,ignoreProperties:["numSelected","selectedIds","moreParams"]}},onFilterSet(a){this.filterText=a,this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onFilterReset(){this.filterText="",this.moreParams={filter:this.filterText,siteId:this.siteId,shortLinks:!0},this.$events.fire("refresh-table",this.$refs.vuetable)},onPaginationData(a){this.$refs.paginationTop.setPaginationData(a),this.$refs.paginationInfoTop.setPaginationData(a),this.$refs.pagination.setPaginationData(a),this.$refs.paginationInfo.setPaginationData(a)},onChangePage(a){this.$refs.vuetable.changePage(a)},onCheckboxToggled(){this.numSelected=0,this.selectedIds=[],this.$refs.vuetable!==void 0&&this.$refs.vuetable.selectedTo!==void 0&&(this.numSelected=this.$refs.vuetable.selectedTo.length,this.selectedIds=this.$refs.vuetable.selectedTo)},matchFormatter(a){let e="Pluing Match";switch(a){case"exactmatch":e="Exact Match";break;case"regexmatch":e="RegEx Match";break}return e},urlFormatter(a){if(a==="")return"";a=p.sanitize(a),a=encodeURI(a);let e=a;return!new RegExp("^(?:[a-z]+:)?//","i").test(e)&&!e.includes("$")&&(e=Craft.getSiteUrl(e)),`
${a} `},deleteRedirectFormatter(a){return a===""?"":` `}}};var P=function(){var e=this,t=e._self._c;return t("div",[t("div",{directives:[{name:"show",rawName:"v-show",value:e.numSelected!==0,expression:"numSelected !== 0"}]},[t("form",{attrs:{"accept-charset":"UTF-8",method:"post"}},[t("input",{attrs:{name:e.csrfTokenName,type:"hidden"},domProps:{value:e.csrfTokenValue}}),e._l(e.selectedIds,function(r){return t("input",{key:r,attrs:{name:"redirectIds[]",type:"hidden"},domProps:{value:r}})}),t("label",{staticClass:"text-gray-600"},[e._v(e._s(e.numSelected)+" "),e.numSelected===1?t("span",[e._v(e._s(e.stringRedirect))]):e._e(),e.numSelected!==1?t("span",[e._v(e._s(e.stringRedirects))]):e._e(),e._v(":")]),t("div",{staticClass:"btngroup inline"},[t("div",{staticClass:"ml-2 btn menubtn",attrs:{"data-icon":"settings"}}),t("div",{staticClass:"menu",attrs:{"data-align":"right"}},[t("ul",[t("li",[t("a",{staticClass:"formsubmit",attrs:{"data-action":"retour/redirects/delete-shortlinks"}},[e._v(e._s(e.stringDelete))])])])])])],2)]),t("vuetable-filter-bar",{directives:[{name:"show",rawName:"v-show",value:e.numSelected===0,expression:"numSelected === 0"}],attrs:{"initial-filter-text":e.filterText}}),t("div",{staticClass:"vuetable-pagination clearafter"},[t("vuetable-pagination-info",{ref:"paginationInfoTop"}),t("div",{staticClass:"floated left vuetable-pagination-info py-3"},[t("div",{staticClass:"inline pl-3 text-gray-600"},[e._v(" "+e._s(e.stringPerPage)+" ")]),t("div",{staticClass:"inline pl-3 text-gray-600"},[t("div",{staticClass:"select"},[t("select",{directives:[{name:"model",rawName:"v-model",value:e.perPage,expression:"perPage"}],staticClass:"fieldtoggle",attrs:{"data-target-prefix":"per-page-",name:"perPage"},on:{change:function(r){var n=Array.prototype.filter.call(r.target.options,function(s){return s.selected}).map(function(s){var o="_value"in s?s._value:s.value;return o});e.perPage=r.target.multiple?n:n[0]}}},[t("option",{attrs:{selected:"",value:"20"}},[e._v(" 20 ")]),t("option",{attrs:{value:"50"}},[e._v(" 50 ")]),t("option",{attrs:{value:"100"}},[e._v(" 100 ")]),t("option",{attrs:{value:"500"}},[e._v(" 500 ")])])])])]),t("vuetable-pagination",{ref:"paginationTop",on:{"vuetable-pagination:change-page":e.onChangePage}})],1),t("vuetable",{ref:"vuetable",attrs:{"api-url":e.apiUrl,"append-params":e.moreParams,css:e.css,fields:e.fields,"per-page":e.perPage,"sort-order":e.sortOrder},on:{"vuetable:pagination-data":e.onPaginationData}}),t("div",{staticClass:"vuetable-pagination clearafter border-solid"},[t("vuetable-pagination-info",{ref:"paginationInfo"}),t("vuetable-pagination",{ref:"pagination",on:{"vuetable-pagination:change-page":e.onChangePage}})],1)],1)},k=[],w=l($,P,k,!1,null,null);const y=w.exports,i=window.Vue;i.use(m);new i({el:"#cp-nav-content",components:{"shortlinks-table":y},mounted(){this.$events.$on("refresh-table",a=>this.onTableRefresh(a))},methods:{onTableRefresh(a){i.nextTick(()=>a.refresh())}}}); -//# sourceMappingURL=shortlinks-6cjZJRFA.js.map +//# sourceMappingURL=shortlinks-Da8cmtQ7.js.map diff --git a/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js.gz b/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b938c0704ae9f6c3b49f88286e3984ea20716ba3 GIT binary patch literal 2507 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 V?;oPSw2epK{128$@)0H-0021N$V>nL literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map b/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js.map similarity index 99% rename from src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map rename to src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js.map index e14c3c27..34897236 100644 --- a/src/web/assets/dist/assets/shortlinks-6cjZJRFA.js.map +++ b/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js.map @@ -1 +1 @@ -{"version":3,"file":"shortlinks-6cjZJRFA.js","sources":["../../../../../buildchain/src/vue/ShortlinksFieldDefs.js","../../../../../buildchain/src/vue/ElementUrl.vue","../../../../../buildchain/src/vue/ShortlinksTable.vue","../../../../../buildchain/src/js/Shortlinks.js"],"sourcesContent":["// Field definitions for ShortlinksTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:legacy-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', 'Short Link'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: '__component:element-url',\n sortField: 'elementTitle',\n title: Craft.t('retour', 'Redirect To'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: 'redirectMatchType',\n sortField: 'redirectMatchType',\n title: Craft.t('retour', 'Match Type'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n callback: 'matchFormatter'\n },\n {\n name: 'siteName',\n sortField: 'siteId',\n title: Craft.t('retour', 'Sites'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'redirectHttpCode',\n sortField: 'redirectHttpCode',\n title: Craft.t('retour', 'Status'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport ShortlinksTable from '@/vue/ShortlinksTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'shortlinks-table': ShortlinksTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","title","LegacyUrl","ElementUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","value","label","DOMPurify","url","Vue","VueEvents","ShortlinksTable","vuetable"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shortlinks-Da8cmtQ7.js","sources":["../../../../../buildchain/src/vue/ShortlinksFieldDefs.js","../../../../../buildchain/src/vue/ElementUrl.vue","../../../../../buildchain/src/vue/ShortlinksTable.vue","../../../../../buildchain/src/js/Shortlinks.js"],"sourcesContent":["// Field definitions for ShortlinksTable.vue\nexport default [\n {\n name: '__checkbox',\n titleClass: 'center aligned',\n dataClass: 'center aligned'\n },\n {\n name: '__component:legacy-url',\n sortField: 'redirectSrcUrl',\n title: Craft.t('retour', 'Short Link'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: '__component:element-url',\n sortField: 'elementTitle',\n title: Craft.t('retour', 'Redirect To'),\n titleClass: 'center',\n dataClass: 'center',\n },\n {\n name: 'redirectMatchType',\n sortField: 'redirectMatchType',\n title: Craft.t('retour', 'Match Type'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n callback: 'matchFormatter'\n },\n {\n name: 'siteName',\n sortField: 'siteId',\n title: Craft.t('retour', 'Sites'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'redirectHttpCode',\n sortField: 'redirectHttpCode',\n title: Craft.t('retour', 'Status'),\n titleClass: 'text-left',\n dataClass: 'text-left',\n },\n {\n name: 'hitCount',\n sortField: 'hitCount',\n title: Craft.t('retour', 'Hits'),\n titleClass: 'text-right',\n dataClass: 'text-right',\n },\n {\n name: 'hitLastTime',\n sortField: 'hitLastTime',\n title: Craft.t('retour', 'Last Hit'),\n titleClass: 'center',\n dataClass: 'center',\n },\n];\n","\n\n\n","\n\n\n","import Vue from 'vue';\nimport VueEvents from 'vue-events';\nimport ShortlinksTable from '@/vue/ShortlinksTable.vue';\n\nVue.use(VueEvents);\n// Create our vue instance\nnew Vue({\n el: \"#cp-nav-content\",\n components: {\n 'shortlinks-table': ShortlinksTable,\n },\n mounted() {\n this.$events.$on('refresh-table', eventData => this.onTableRefresh(eventData));\n },\n methods: {\n onTableRefresh(vuetable) {\n Vue.nextTick(() => vuetable.refresh());\n }\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["FieldDefs","_sfc_main","title","LegacyUrl","ElementUrl","VueTable","VueTablePagination","VueTablePaginationInfo","VueTableFilterBar","saveState","eventData","isChecked","dataItem","filterText","paginationData","page","value","label","DOMPurify","url","Vue","VueEvents","ShortlinksTable","vuetable"],"mappings":"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"} \ No newline at end of file diff --git a/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js.map.gz b/src/web/assets/dist/assets/shortlinks-Da8cmtQ7.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..4399ad8268d518cc3b327d6244f9be019eae769b GIT binary patch literal 3979 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 C=Wn.call(y);return v[C]||(v[C]=C.slice(8,-1).toLowerCase())})(Object.create(null)),tt=v=>(v=v.toLowerCase(),y=>vi(y)===v),yi=v=>y=>typeof y===v,{isArray:Ht}=Array,Kt=yi("undefined");function jn(v){return v!==null&&!Kt(v)&&v.constructor!==null&&!Kt(v.constructor)&&Ve(v.constructor.isBuffer)&&v.constructor.isBuffer(v)}const ir=tt("ArrayBuffer");function Gn(v){let y;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?y=ArrayBuffer.isView(v):y=v&&v.buffer&&ir(v.buffer),y}const Vn=yi("string"),Ve=yi("function"),sr=yi("number"),wi=v=>v!==null&&typeof v=="object",Un=v=>v===!0||v===!1,fi=v=>{if(vi(v)!=="object")return!1;const y=Ts(v);return(y===null||y===Object.prototype||Object.getPrototypeOf(y)===null)&&!(Symbol.toStringTag in v)&&!(Symbol.iterator in v)},qn=tt("Date"),Zn=tt("File"),$n=tt("Blob"),Jn=tt("FileList"),Kn=v=>wi(v)&&Ve(v.pipe),Qn=v=>{let y;return v&&(typeof FormData=="function"&&v instanceof FormData||Ve(v.append)&&((y=vi(v))==="formdata"||y==="object"&&Ve(v.toString)&&v.toString()==="[object FormData]"))},eo=tt("URLSearchParams"),[to,io,so,ao]=["ReadableStream","Request","Response","Headers"].map(tt),ro=v=>v.trim?v.trim():v.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Qt(v,y,{allOwnKeys:C=!1}={}){if(v===null||typeof v>"u")return;let L,P;if(typeof v!="object"&&(v=[v]),Ht(v))for(L=0,P=v.length;L0;)if(P=C[L],y===P.toLowerCase())return P;return null}const At=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,rr=v=>!Kt(v)&&v!==At;function As(){const{caseless:v}=rr(this)&&this||{},y={},C=(L,P)=>{const z=v&&ar(y,P)||P;fi(y[z])&&fi(L)?y[z]=As(y[z],L):fi(L)?y[z]=As({},L):Ht(L)?y[z]=L.slice():y[z]=L};for(let L=0,P=arguments.length;L(Qt(y,(P,z)=>{C&&Ve(P)?v[z]=tr(P,C):v[z]=P},{allOwnKeys:L}),v),oo=v=>(v.charCodeAt(0)===65279&&(v=v.slice(1)),v),lo=(v,y,C,L)=>{v.prototype=Object.create(y.prototype,L),v.prototype.constructor=v,Object.defineProperty(v,"super",{value:y.prototype}),C&&Object.assign(v.prototype,C)},ho=(v,y,C,L)=>{let P,z,E;const X={};if(y=y||{},v==null)return y;do{for(P=Object.getOwnPropertyNames(v),z=P.length;z-- >0;)E=P[z],(!L||L(E,v,y))&&!X[E]&&(y[E]=v[E],X[E]=!0);v=C!==!1&&Ts(v)}while(v&&(!C||C(v,y))&&v!==Object.prototype);return y},co=(v,y,C)=>{v=String(v),(C===void 0||C>v.length)&&(C=v.length),C-=y.length;const L=v.indexOf(y,C);return L!==-1&&L===C},uo=v=>{if(!v)return null;if(Ht(v))return v;let y=v.length;if(!sr(y))return null;const C=new Array(y);for(;y-- >0;)C[y]=v[y];return C},go=(v=>y=>v&&y instanceof v)(typeof Uint8Array<"u"&&Ts(Uint8Array)),fo=(v,y)=>{const L=(v&&v[Symbol.iterator]).call(v);let P;for(;(P=L.next())&&!P.done;){const z=P.value;y.call(v,z[0],z[1])}},po=(v,y)=>{let C;const L=[];for(;(C=v.exec(y))!==null;)L.push(C);return L},xo=tt("HTMLFormElement"),mo=v=>v.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(C,L,P){return L.toUpperCase()+P}),Da=(({hasOwnProperty:v})=>(y,C)=>v.call(y,C))(Object.prototype),bo=tt("RegExp"),nr=(v,y)=>{const C=Object.getOwnPropertyDescriptors(v),L={};Qt(C,(P,z)=>{let E;(E=y(P,z,v))!==!1&&(L[z]=E||P)}),Object.defineProperties(v,L)},vo=v=>{nr(v,(y,C)=>{if(Ve(v)&&["arguments","caller","callee"].indexOf(C)!==-1)return!1;const L=v[C];if(Ve(L)){if(y.enumerable=!1,"writable"in y){y.writable=!1;return}y.set||(y.set=()=>{throw Error("Can not rewrite read-only method '"+C+"'")})}})},yo=(v,y)=>{const C={},L=P=>{P.forEach(z=>{C[z]=!0})};return Ht(v)?L(v):L(String(v).split(y)),C},wo=()=>{},ko=(v,y)=>v!=null&&Number.isFinite(v=+v)?v:y,bs="abcdefghijklmnopqrstuvwxyz",Na="0123456789",or={DIGIT:Na,ALPHA:bs,ALPHA_DIGIT:bs+bs.toUpperCase()+Na},Ao=(v=16,y=or.ALPHA_DIGIT)=>{let C="";const{length:L}=y;for(;v--;)C+=y[Math.random()*L|0];return C};function So(v){return!!(v&&Ve(v.append)&&v[Symbol.toStringTag]==="FormData"&&v[Symbol.iterator])}const Co=v=>{const y=new Array(10),C=(L,P)=>{if(wi(L)){if(y.indexOf(L)>=0)return;if(!("toJSON"in L)){y[P]=L;const z=Ht(L)?[]:{};return Qt(L,(E,X)=>{const Y=C(E,P+1);!Kt(Y)&&(z[X]=Y)}),y[P]=void 0,z}}return L};return C(v,0)},Lo=tt("AsyncFunction"),Mo=v=>v&&(wi(v)||Ve(v))&&Ve(v.then)&&Ve(v.catch),lr=((v,y)=>v?setImmediate:y?((C,L)=>(At.addEventListener("message",({source:P,data:z})=>{P===At&&z===C&&L.length&&L.shift()()},!1),P=>{L.push(P),At.postMessage(C,"*")}))(`axios@${Math.random()}`,[]):C=>setTimeout(C))(typeof setImmediate=="function",Ve(At.postMessage)),Po=typeof queueMicrotask<"u"?queueMicrotask.bind(At):typeof process<"u"&&process.nextTick||lr,D={isArray:Ht,isArrayBuffer:ir,isBuffer:jn,isFormData:Qn,isArrayBufferView:Gn,isString:Vn,isNumber:sr,isBoolean:Un,isObject:wi,isPlainObject:fi,isReadableStream:to,isRequest:io,isResponse:so,isHeaders:ao,isUndefined:Kt,isDate:qn,isFile:Zn,isBlob:$n,isRegExp:bo,isFunction:Ve,isStream:Kn,isURLSearchParams:eo,isTypedArray:go,isFileList:Jn,forEach:Qt,merge:As,extend:no,trim:ro,stripBOM:oo,inherits:lo,toFlatObject:ho,kindOf:vi,kindOfTest:tt,endsWith:co,toArray:uo,forEachEntry:fo,matchAll:po,isHTMLForm:xo,hasOwnProperty:Da,hasOwnProp:Da,reduceDescriptors:nr,freezeMethods:vo,toObjectSet:yo,toCamelCase:mo,noop:wo,toFiniteNumber:ko,findKey:ar,global:At,isContextDefined:rr,ALPHABET:or,generateString:Ao,isSpecCompliantForm:So,toJSONObject:Co,isAsyncFn:Lo,isThenable:Mo,setImmediate:lr,asap:Po};function le(v,y,C,L,P){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=v,this.name="AxiosError",y&&(this.code=y),C&&(this.config=C),L&&(this.request=L),P&&(this.response=P,this.status=P.status?P.status:null)}D.inherits(le,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:D.toJSONObject(this.config),code:this.code,status:this.status}}});const hr=le.prototype,cr={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(v=>{cr[v]={value:v}});Object.defineProperties(le,cr);Object.defineProperty(hr,"isAxiosError",{value:!0});le.from=(v,y,C,L,P,z)=>{const E=Object.create(hr);return D.toFlatObject(v,E,function(Y){return Y!==Error.prototype},X=>X!=="isAxiosError"),le.call(E,v.message,y,C,L,P),E.cause=v,E.name=v.name,z&&Object.assign(E,z),E};const To=null;function Ss(v){return D.isPlainObject(v)||D.isArray(v)}function dr(v){return D.endsWith(v,"[]")?v.slice(0,-2):v}function _a(v,y,C){return v?v.concat(y).map(function(P,z){return P=dr(P),!C&&z?"["+P+"]":P}).join(C?".":""):y}function Eo(v){return D.isArray(v)&&!v.some(Ss)}const Ro=D.toFlatObject(D,{},null,function(y){return/^is[A-Z]/.test(y)});function ki(v,y,C){if(!D.isObject(v))throw new TypeError("target must be an object");y=y||new FormData,C=D.toFlatObject(C,{metaTokens:!0,dots:!1,indexes:!1},!1,function(ee,J){return!D.isUndefined(J[ee])});const L=C.metaTokens,P=C.visitor||V,z=C.dots,E=C.indexes,Y=(C.Blob||typeof Blob<"u"&&Blob)&&D.isSpecCompliantForm(y);if(!D.isFunction(P))throw new TypeError("visitor must be a function");function _(H){if(H===null)return"";if(D.isDate(H))return H.toISOString();if(!Y&&D.isBlob(H))throw new le("Blob is not supported. Use a Buffer instead.");return D.isArrayBuffer(H)||D.isTypedArray(H)?Y&&typeof Blob=="function"?new Blob([H]):Buffer.from(H):H}function V(H,ee,J){let he=H;if(H&&!J&&typeof H=="object"){if(D.endsWith(ee,"{}"))ee=L?ee:ee.slice(0,-2),H=JSON.stringify(H);else if(D.isArray(H)&&Eo(H)||(D.isFileList(H)||D.endsWith(ee,"[]"))&&(he=D.toArray(H)))return ee=dr(ee),he.forEach(function(Ae,We){!(D.isUndefined(Ae)||Ae===null)&&y.append(E===!0?_a([ee],We,z):E===null?ee:ee+"[]",_(Ae))}),!1}return Ss(H)?!0:(y.append(_a(J,ee,z),_(H)),!1)}const Z=[],oe=Object.assign(Ro,{defaultVisitor:V,convertValue:_,isVisitable:Ss});function ke(H,ee){if(!D.isUndefined(H)){if(Z.indexOf(H)!==-1)throw Error("Circular reference detected in "+ee.join("."));Z.push(H),D.forEach(H,function(he,Le){(!(D.isUndefined(he)||he===null)&&P.call(y,he,D.isString(Le)?Le.trim():Le,ee,oe))===!0&&ke(he,ee?ee.concat(Le):[Le])}),Z.pop()}}if(!D.isObject(v))throw new TypeError("data must be an object");return ke(v),y}function Ba(v){const y={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(v).replace(/[!'()~]|%20|%00/g,function(L){return y[L]})}function Es(v,y){this._pairs=[],v&&ki(v,this,y)}const ur=Es.prototype;ur.append=function(y,C){this._pairs.push([y,C])};ur.toString=function(y){const C=y?function(L){return y.call(this,L,Ba)}:Ba;return this._pairs.map(function(P){return C(P[0])+"="+C(P[1])},"").join("&")};function Io(v){return encodeURIComponent(v).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function gr(v,y,C){if(!y)return v;const L=C&&C.encode||Io;D.isFunction(C)&&(C={serialize:C});const P=C&&C.serialize;let z;if(P?z=P(y,C):z=D.isURLSearchParams(y)?y.toString():new Es(y,C).toString(L),z){const E=v.indexOf("#");E!==-1&&(v=v.slice(0,E)),v+=(v.indexOf("?")===-1?"?":"&")+z}return v}class Wa{constructor(){this.handlers=[]}use(y,C,L){return this.handlers.push({fulfilled:y,rejected:C,synchronous:L?L.synchronous:!1,runWhen:L?L.runWhen:null}),this.handlers.length-1}eject(y){this.handlers[y]&&(this.handlers[y]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(y){D.forEach(this.handlers,function(L){L!==null&&y(L)})}}const fr={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Oo=typeof URLSearchParams<"u"?URLSearchParams:Es,zo=typeof FormData<"u"?FormData:null,Xo=typeof Blob<"u"?Blob:null,Ho={isBrowser:!0,classes:{URLSearchParams:Oo,FormData:zo,Blob:Xo},protocols:["http","https","file","blob","url","data"]},Rs=typeof window<"u"&&typeof document<"u",Cs=typeof navigator=="object"&&navigator||void 0,Fo=Rs&&(!Cs||["ReactNative","NativeScript","NS"].indexOf(Cs.product)<0),Yo=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Do=Rs&&window.location.href||"http://localhost",No=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Rs,hasStandardBrowserEnv:Fo,hasStandardBrowserWebWorkerEnv:Yo,navigator:Cs,origin:Do},Symbol.toStringTag,{value:"Module"})),He={...No,...Ho};function _o(v,y){return ki(v,new He.classes.URLSearchParams,Object.assign({visitor:function(C,L,P,z){return He.isNode&&D.isBuffer(C)?(this.append(L,C.toString("base64")),!1):z.defaultVisitor.apply(this,arguments)}},y))}function Bo(v){return D.matchAll(/\w+|\[(\w*)]/g,v).map(y=>y[0]==="[]"?"":y[1]||y[0])}function Wo(v){const y={},C=Object.keys(v);let L;const P=C.length;let z;for(L=0;L=C.length;return E=!E&&D.isArray(P)?P.length:E,Y?(D.hasOwnProp(P,E)?P[E]=[P[E],L]:P[E]=L,!X):((!P[E]||!D.isObject(P[E]))&&(P[E]=[]),y(C,L,P[E],z)&&D.isArray(P[E])&&(P[E]=Wo(P[E])),!X)}if(D.isFormData(v)&&D.isFunction(v.entries)){const C={};return D.forEachEntry(v,(L,P)=>{y(Bo(L),P,C,0)}),C}return null}function jo(v,y,C){if(D.isString(v))try{return(y||JSON.parse)(v),D.trim(v)}catch(L){if(L.name!=="SyntaxError")throw L}return(0,JSON.stringify)(v)}const ei={transitional:fr,adapter:["xhr","http","fetch"],transformRequest:[function(y,C){const L=C.getContentType()||"",P=L.indexOf("application/json")>-1,z=D.isObject(y);if(z&&D.isHTMLForm(y)&&(y=new FormData(y)),D.isFormData(y))return P?JSON.stringify(pr(y)):y;if(D.isArrayBuffer(y)||D.isBuffer(y)||D.isStream(y)||D.isFile(y)||D.isBlob(y)||D.isReadableStream(y))return y;if(D.isArrayBufferView(y))return y.buffer;if(D.isURLSearchParams(y))return C.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),y.toString();let X;if(z){if(L.indexOf("application/x-www-form-urlencoded")>-1)return _o(y,this.formSerializer).toString();if((X=D.isFileList(y))||L.indexOf("multipart/form-data")>-1){const Y=this.env&&this.env.FormData;return ki(X?{"files[]":y}:y,Y&&new Y,this.formSerializer)}}return z||P?(C.setContentType("application/json",!1),jo(y)):y}],transformResponse:[function(y){const C=this.transitional||ei.transitional,L=C&&C.forcedJSONParsing,P=this.responseType==="json";if(D.isResponse(y)||D.isReadableStream(y))return y;if(y&&D.isString(y)&&(L&&!this.responseType||P)){const E=!(C&&C.silentJSONParsing)&&P;try{return JSON.parse(y)}catch(X){if(E)throw X.name==="SyntaxError"?le.from(X,le.ERR_BAD_RESPONSE,this,null,this.response):X}}return y}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:He.classes.FormData,Blob:He.classes.Blob},validateStatus:function(y){return y>=200&&y<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};D.forEach(["delete","get","head","post","put","patch"],v=>{ei.headers[v]={}});const Go=D.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vo=v=>{const y={};let C,L,P;return v&&v.split(` -`).forEach(function(E){P=E.indexOf(":"),C=E.substring(0,P).trim().toLowerCase(),L=E.substring(P+1).trim(),!(!C||y[C]&&Go[C])&&(C==="set-cookie"?y[C]?y[C].push(L):y[C]=[L]:y[C]=y[C]?y[C]+", "+L:L)}),y},ja=Symbol("internals");function Jt(v){return v&&String(v).trim().toLowerCase()}function pi(v){return v===!1||v==null?v:D.isArray(v)?v.map(pi):String(v)}function Uo(v){const y=Object.create(null),C=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let L;for(;L=C.exec(v);)y[L[1]]=L[2];return y}const qo=v=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(v.trim());function vs(v,y,C,L,P){if(D.isFunction(L))return L.call(this,y,C);if(P&&(y=C),!!D.isString(y)){if(D.isString(L))return y.indexOf(L)!==-1;if(D.isRegExp(L))return L.test(y)}}function Zo(v){return v.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(y,C,L)=>C.toUpperCase()+L)}function $o(v,y){const C=D.toCamelCase(" "+y);["get","set","has"].forEach(L=>{Object.defineProperty(v,L+C,{value:function(P,z,E){return this[L].call(this,y,P,z,E)},configurable:!0})})}class Be{constructor(y){y&&this.set(y)}set(y,C,L){const P=this;function z(X,Y,_){const V=Jt(Y);if(!V)throw new Error("header name must be a non-empty string");const Z=D.findKey(P,V);(!Z||P[Z]===void 0||_===!0||_===void 0&&P[Z]!==!1)&&(P[Z||Y]=pi(X))}const E=(X,Y)=>D.forEach(X,(_,V)=>z(_,V,Y));if(D.isPlainObject(y)||y instanceof this.constructor)E(y,C);else if(D.isString(y)&&(y=y.trim())&&!qo(y))E(Vo(y),C);else if(D.isHeaders(y))for(const[X,Y]of y.entries())z(Y,X,L);else y!=null&&z(C,y,L);return this}get(y,C){if(y=Jt(y),y){const L=D.findKey(this,y);if(L){const P=this[L];if(!C)return P;if(C===!0)return Uo(P);if(D.isFunction(C))return C.call(this,P,L);if(D.isRegExp(C))return C.exec(P);throw new TypeError("parser must be boolean|regexp|function")}}}has(y,C){if(y=Jt(y),y){const L=D.findKey(this,y);return!!(L&&this[L]!==void 0&&(!C||vs(this,this[L],L,C)))}return!1}delete(y,C){const L=this;let P=!1;function z(E){if(E=Jt(E),E){const X=D.findKey(L,E);X&&(!C||vs(L,L[X],X,C))&&(delete L[X],P=!0)}}return D.isArray(y)?y.forEach(z):z(y),P}clear(y){const C=Object.keys(this);let L=C.length,P=!1;for(;L--;){const z=C[L];(!y||vs(this,this[z],z,y,!0))&&(delete this[z],P=!0)}return P}normalize(y){const C=this,L={};return D.forEach(this,(P,z)=>{const E=D.findKey(L,z);if(E){C[E]=pi(P),delete C[z];return}const X=y?Zo(z):String(z).trim();X!==z&&delete C[z],C[X]=pi(P),L[X]=!0}),this}concat(...y){return this.constructor.concat(this,...y)}toJSON(y){const C=Object.create(null);return D.forEach(this,(L,P)=>{L!=null&&L!==!1&&(C[P]=y&&D.isArray(L)?L.join(", "):L)}),C}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([y,C])=>y+": "+C).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(y){return y instanceof this?y:new this(y)}static concat(y,...C){const L=new this(y);return C.forEach(P=>L.set(P)),L}static accessor(y){const L=(this[ja]=this[ja]={accessors:{}}).accessors,P=this.prototype;function z(E){const X=Jt(E);L[X]||($o(P,E),L[X]=!0)}return D.isArray(y)?y.forEach(z):z(y),this}}Be.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);D.reduceDescriptors(Be.prototype,({value:v},y)=>{let C=y[0].toUpperCase()+y.slice(1);return{get:()=>v,set(L){this[C]=L}}});D.freezeMethods(Be);function ys(v,y){const C=this||ei,L=y||C,P=Be.from(L.headers);let z=L.data;return D.forEach(v,function(X){z=X.call(C,z,P.normalize(),y?y.status:void 0)}),P.normalize(),z}function xr(v){return!!(v&&v.__CANCEL__)}function Ft(v,y,C){le.call(this,v??"canceled",le.ERR_CANCELED,y,C),this.name="CanceledError"}D.inherits(Ft,le,{__CANCEL__:!0});function mr(v,y,C){const L=C.config.validateStatus;!C.status||!L||L(C.status)?v(C):y(new le("Request failed with status code "+C.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(C.status/100)-4],C.config,C.request,C))}function Jo(v){const y=/^([-+\w]{1,25})(:?\/\/|:)/.exec(v);return y&&y[1]||""}function Ko(v,y){v=v||10;const C=new Array(v),L=new Array(v);let P=0,z=0,E;return y=y!==void 0?y:1e3,function(Y){const _=Date.now(),V=L[z];E||(E=_),C[P]=Y,L[P]=_;let Z=z,oe=0;for(;Z!==P;)oe+=C[Z++],Z=Z%v;if(P=(P+1)%v,P===z&&(z=(z+1)%v),_-E{C=V,P=null,z&&(clearTimeout(z),z=null),v.apply(null,_)};return[(..._)=>{const V=Date.now(),Z=V-C;Z>=L?E(_,V):(P=_,z||(z=setTimeout(()=>{z=null,E(P)},L-Z)))},()=>P&&E(P)]}const mi=(v,y,C=3)=>{let L=0;const P=Ko(50,250);return Qo(z=>{const E=z.loaded,X=z.lengthComputable?z.total:void 0,Y=E-L,_=P(Y),V=E<=X;L=E;const Z={loaded:E,total:X,progress:X?E/X:void 0,bytes:Y,rate:_||void 0,estimated:_&&X&&V?(X-E)/_:void 0,event:z,lengthComputable:X!=null,[y?"download":"upload"]:!0};v(Z)},C)},Ga=(v,y)=>{const C=v!=null;return[L=>y[0]({lengthComputable:C,total:v,loaded:L}),y[1]]},Va=v=>(...y)=>D.asap(()=>v(...y)),el=He.hasStandardBrowserEnv?((v,y)=>C=>(C=new URL(C,He.origin),v.protocol===C.protocol&&v.host===C.host&&(y||v.port===C.port)))(new URL(He.origin),He.navigator&&/(msie|trident)/i.test(He.navigator.userAgent)):()=>!0,tl=He.hasStandardBrowserEnv?{write(v,y,C,L,P,z){const E=[v+"="+encodeURIComponent(y)];D.isNumber(C)&&E.push("expires="+new Date(C).toGMTString()),D.isString(L)&&E.push("path="+L),D.isString(P)&&E.push("domain="+P),z===!0&&E.push("secure"),document.cookie=E.join("; ")},read(v){const y=document.cookie.match(new RegExp("(^|;\\s*)("+v+")=([^;]*)"));return y?decodeURIComponent(y[3]):null},remove(v){this.write(v,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function il(v){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(v)}function sl(v,y){return y?v.replace(/\/?\/$/,"")+"/"+y.replace(/^\/+/,""):v}function br(v,y){return v&&!il(y)?sl(v,y):y}const Ua=v=>v instanceof Be?{...v}:v;function Ct(v,y){y=y||{};const C={};function L(_,V,Z,oe){return D.isPlainObject(_)&&D.isPlainObject(V)?D.merge.call({caseless:oe},_,V):D.isPlainObject(V)?D.merge({},V):D.isArray(V)?V.slice():V}function P(_,V,Z,oe){if(D.isUndefined(V)){if(!D.isUndefined(_))return L(void 0,_,Z,oe)}else return L(_,V,Z,oe)}function z(_,V){if(!D.isUndefined(V))return L(void 0,V)}function E(_,V){if(D.isUndefined(V)){if(!D.isUndefined(_))return L(void 0,_)}else return L(void 0,V)}function X(_,V,Z){if(Z in y)return L(_,V);if(Z in v)return L(void 0,_)}const Y={url:z,method:z,data:z,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:X,headers:(_,V,Z)=>P(Ua(_),Ua(V),Z,!0)};return D.forEach(Object.keys(Object.assign({},v,y)),function(V){const Z=Y[V]||P,oe=Z(v[V],y[V],V);D.isUndefined(oe)&&Z!==X||(C[V]=oe)}),C}const vr=v=>{const y=Ct({},v);let{data:C,withXSRFToken:L,xsrfHeaderName:P,xsrfCookieName:z,headers:E,auth:X}=y;y.headers=E=Be.from(E),y.url=gr(br(y.baseURL,y.url),v.params,v.paramsSerializer),X&&E.set("Authorization","Basic "+btoa((X.username||"")+":"+(X.password?unescape(encodeURIComponent(X.password)):"")));let Y;if(D.isFormData(C)){if(He.hasStandardBrowserEnv||He.hasStandardBrowserWebWorkerEnv)E.setContentType(void 0);else if((Y=E.getContentType())!==!1){const[_,...V]=Y?Y.split(";").map(Z=>Z.trim()).filter(Boolean):[];E.setContentType([_||"multipart/form-data",...V].join("; "))}}if(He.hasStandardBrowserEnv&&(L&&D.isFunction(L)&&(L=L(y)),L||L!==!1&&el(y.url))){const _=P&&z&&tl.read(z);_&&E.set(P,_)}return y},al=typeof XMLHttpRequest<"u",rl=al&&function(v){return new Promise(function(C,L){const P=vr(v);let z=P.data;const E=Be.from(P.headers).normalize();let{responseType:X,onUploadProgress:Y,onDownloadProgress:_}=P,V,Z,oe,ke,H;function ee(){ke&&ke(),H&&H(),P.cancelToken&&P.cancelToken.unsubscribe(V),P.signal&&P.signal.removeEventListener("abort",V)}let J=new XMLHttpRequest;J.open(P.method.toUpperCase(),P.url,!0),J.timeout=P.timeout;function he(){if(!J)return;const Ae=Be.from("getAllResponseHeaders"in J&&J.getAllResponseHeaders()),R={data:!X||X==="text"||X==="json"?J.responseText:J.response,status:J.status,statusText:J.statusText,headers:Ae,config:v,request:J};mr(function(Je){C(Je),ee()},function(Je){L(Je),ee()},R),J=null}"onloadend"in J?J.onloadend=he:J.onreadystatechange=function(){!J||J.readyState!==4||J.status===0&&!(J.responseURL&&J.responseURL.indexOf("file:")===0)||setTimeout(he)},J.onabort=function(){J&&(L(new le("Request aborted",le.ECONNABORTED,v,J)),J=null)},J.onerror=function(){L(new le("Network Error",le.ERR_NETWORK,v,J)),J=null},J.ontimeout=function(){let We=P.timeout?"timeout of "+P.timeout+"ms exceeded":"timeout exceeded";const R=P.transitional||fr;P.timeoutErrorMessage&&(We=P.timeoutErrorMessage),L(new le(We,R.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,v,J)),J=null},z===void 0&&E.setContentType(null),"setRequestHeader"in J&&D.forEach(E.toJSON(),function(We,R){J.setRequestHeader(R,We)}),D.isUndefined(P.withCredentials)||(J.withCredentials=!!P.withCredentials),X&&X!=="json"&&(J.responseType=P.responseType),_&&([oe,H]=mi(_,!0),J.addEventListener("progress",oe)),Y&&J.upload&&([Z,ke]=mi(Y),J.upload.addEventListener("progress",Z),J.upload.addEventListener("loadend",ke)),(P.cancelToken||P.signal)&&(V=Ae=>{J&&(L(!Ae||Ae.type?new Ft(null,v,J):Ae),J.abort(),J=null)},P.cancelToken&&P.cancelToken.subscribe(V),P.signal&&(P.signal.aborted?V():P.signal.addEventListener("abort",V)));const Le=Jo(P.url);if(Le&&He.protocols.indexOf(Le)===-1){L(new le("Unsupported protocol "+Le+":",le.ERR_BAD_REQUEST,v));return}J.send(z||null)})},nl=(v,y)=>{const{length:C}=v=v?v.filter(Boolean):[];if(y||C){let L=new AbortController,P;const z=function(_){if(!P){P=!0,X();const V=_ instanceof Error?_:this.reason;L.abort(V instanceof le?V:new Ft(V instanceof Error?V.message:V))}};let E=y&&setTimeout(()=>{E=null,z(new le(`timeout ${y} of ms exceeded`,le.ETIMEDOUT))},y);const X=()=>{v&&(E&&clearTimeout(E),E=null,v.forEach(_=>{_.unsubscribe?_.unsubscribe(z):_.removeEventListener("abort",z)}),v=null)};v.forEach(_=>_.addEventListener("abort",z));const{signal:Y}=L;return Y.unsubscribe=()=>D.asap(X),Y}},ol=function*(v,y){let C=v.byteLength;if(C{const P=ll(v,y);let z=0,E,X=Y=>{E||(E=!0,L&&L(Y))};return new ReadableStream({async pull(Y){try{const{done:_,value:V}=await P.next();if(_){X(),Y.close();return}let Z=V.byteLength;if(C){let oe=z+=Z;C(oe)}Y.enqueue(new Uint8Array(V))}catch(_){throw X(_),_}},cancel(Y){return X(Y),P.return()}},{highWaterMark:2})},Ai=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",yr=Ai&&typeof ReadableStream=="function",cl=Ai&&(typeof TextEncoder=="function"?(v=>y=>v.encode(y))(new TextEncoder):async v=>new Uint8Array(await new Response(v).arrayBuffer())),wr=(v,...y)=>{try{return!!v(...y)}catch{return!1}},dl=yr&&wr(()=>{let v=!1;const y=new Request(He.origin,{body:new ReadableStream,method:"POST",get duplex(){return v=!0,"half"}}).headers.has("Content-Type");return v&&!y}),Za=64*1024,Ls=yr&&wr(()=>D.isReadableStream(new Response("").body)),bi={stream:Ls&&(v=>v.body)};Ai&&(v=>{["text","arrayBuffer","blob","formData","stream"].forEach(y=>{!bi[y]&&(bi[y]=D.isFunction(v[y])?C=>C[y]():(C,L)=>{throw new le(`Response type '${y}' is not supported`,le.ERR_NOT_SUPPORT,L)})})})(new Response);const ul=async v=>{if(v==null)return 0;if(D.isBlob(v))return v.size;if(D.isSpecCompliantForm(v))return(await new Request(He.origin,{method:"POST",body:v}).arrayBuffer()).byteLength;if(D.isArrayBufferView(v)||D.isArrayBuffer(v))return v.byteLength;if(D.isURLSearchParams(v)&&(v=v+""),D.isString(v))return(await cl(v)).byteLength},gl=async(v,y)=>{const C=D.toFiniteNumber(v.getContentLength());return C??ul(y)},fl=Ai&&(async v=>{let{url:y,method:C,data:L,signal:P,cancelToken:z,timeout:E,onDownloadProgress:X,onUploadProgress:Y,responseType:_,headers:V,withCredentials:Z="same-origin",fetchOptions:oe}=vr(v);_=_?(_+"").toLowerCase():"text";let ke=nl([P,z&&z.toAbortSignal()],E),H;const ee=ke&&ke.unsubscribe&&(()=>{ke.unsubscribe()});let J;try{if(Y&&dl&&C!=="get"&&C!=="head"&&(J=await gl(V,L))!==0){let R=new Request(y,{method:"POST",body:L,duplex:"half"}),Fe;if(D.isFormData(L)&&(Fe=R.headers.get("content-type"))&&V.setContentType(Fe),R.body){const[Je,ut]=Ga(J,mi(Va(Y)));L=qa(R.body,Za,Je,ut)}}D.isString(Z)||(Z=Z?"include":"omit");const he="credentials"in Request.prototype;H=new Request(y,{...oe,signal:ke,method:C.toUpperCase(),headers:V.normalize().toJSON(),body:L,duplex:"half",credentials:he?Z:void 0});let Le=await fetch(H);const Ae=Ls&&(_==="stream"||_==="response");if(Ls&&(X||Ae&&ee)){const R={};["status","statusText","headers"].forEach(re=>{R[re]=Le[re]});const Fe=D.toFiniteNumber(Le.headers.get("content-length")),[Je,ut]=X&&Ga(Fe,mi(Va(X),!0))||[];Le=new Response(qa(Le.body,Za,Je,()=>{ut&&ut(),ee&&ee()}),R)}_=_||"text";let We=await bi[D.findKey(bi,_)||"text"](Le,v);return!Ae&&ee&&ee(),await new Promise((R,Fe)=>{mr(R,Fe,{data:We,headers:Be.from(Le.headers),status:Le.status,statusText:Le.statusText,config:v,request:H})})}catch(he){throw ee&&ee(),he&&he.name==="TypeError"&&/fetch/i.test(he.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,v,H),{cause:he.cause||he}):le.from(he,he&&he.code,v,H)}}),Ms={http:To,xhr:rl,fetch:fl};D.forEach(Ms,(v,y)=>{if(v){try{Object.defineProperty(v,"name",{value:y})}catch{}Object.defineProperty(v,"adapterName",{value:y})}});const $a=v=>`- ${v}`,pl=v=>D.isFunction(v)||v===null||v===!1,kr={getAdapter:v=>{v=D.isArray(v)?v:[v];const{length:y}=v;let C,L;const P={};for(let z=0;z`adapter ${X} `+(Y===!1?"is not supported by the environment":"is not available in the build"));let E=y?z.length>1?`since : -`+z.map($a).join(` -`):" "+$a(z[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+E,"ERR_NOT_SUPPORT")}return L},adapters:Ms};function ws(v){if(v.cancelToken&&v.cancelToken.throwIfRequested(),v.signal&&v.signal.aborted)throw new Ft(null,v)}function Ja(v){return ws(v),v.headers=Be.from(v.headers),v.data=ys.call(v,v.transformRequest),["post","put","patch"].indexOf(v.method)!==-1&&v.headers.setContentType("application/x-www-form-urlencoded",!1),kr.getAdapter(v.adapter||ei.adapter)(v).then(function(L){return ws(v),L.data=ys.call(v,v.transformResponse,L),L.headers=Be.from(L.headers),L},function(L){return xr(L)||(ws(v),L&&L.response&&(L.response.data=ys.call(v,v.transformResponse,L.response),L.response.headers=Be.from(L.response.headers))),Promise.reject(L)})}const Ar="1.7.8",Si={};["object","boolean","number","function","string","symbol"].forEach((v,y)=>{Si[v]=function(L){return typeof L===v||"a"+(y<1?"n ":" ")+v}});const Ka={};Si.transitional=function(y,C,L){function P(z,E){return"[Axios v"+Ar+"] Transitional option '"+z+"'"+E+(L?". "+L:"")}return(z,E,X)=>{if(y===!1)throw new le(P(E," has been removed"+(C?" in "+C:"")),le.ERR_DEPRECATED);return C&&!Ka[E]&&(Ka[E]=!0,console.warn(P(E," has been deprecated since v"+C+" and will be removed in the near future"))),y?y(z,E,X):!0}};Si.spelling=function(y){return(C,L)=>(console.warn(`${L} is likely a misspelling of ${y}`),!0)};function xl(v,y,C){if(typeof v!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);const L=Object.keys(v);let P=L.length;for(;P-- >0;){const z=L[P],E=y[z];if(E){const X=v[z],Y=X===void 0||E(X,z,v);if(Y!==!0)throw new le("option "+z+" must be "+Y,le.ERR_BAD_OPTION_VALUE);continue}if(C!==!0)throw new le("Unknown option "+z,le.ERR_BAD_OPTION)}}const xi={assertOptions:xl,validators:Si},st=xi.validators;class St{constructor(y){this.defaults=y,this.interceptors={request:new Wa,response:new Wa}}async request(y,C){try{return await this._request(y,C)}catch(L){if(L instanceof Error){let P={};Error.captureStackTrace?Error.captureStackTrace(P):P=new Error;const z=P.stack?P.stack.replace(/^.+\n/,""):"";try{L.stack?z&&!String(L.stack).endsWith(z.replace(/^.+\n.+\n/,""))&&(L.stack+=` -`+z):L.stack=z}catch{}}throw L}}_request(y,C){typeof y=="string"?(C=C||{},C.url=y):C=y||{},C=Ct(this.defaults,C);const{transitional:L,paramsSerializer:P,headers:z}=C;L!==void 0&&xi.assertOptions(L,{silentJSONParsing:st.transitional(st.boolean),forcedJSONParsing:st.transitional(st.boolean),clarifyTimeoutError:st.transitional(st.boolean)},!1),P!=null&&(D.isFunction(P)?C.paramsSerializer={serialize:P}:xi.assertOptions(P,{encode:st.function,serialize:st.function},!0)),xi.assertOptions(C,{baseUrl:st.spelling("baseURL"),withXsrfToken:st.spelling("withXSRFToken")},!0),C.method=(C.method||this.defaults.method||"get").toLowerCase();let E=z&&D.merge(z.common,z[C.method]);z&&D.forEach(["delete","get","head","post","put","patch","common"],H=>{delete z[H]}),C.headers=Be.concat(E,z);const X=[];let Y=!0;this.interceptors.request.forEach(function(ee){typeof ee.runWhen=="function"&&ee.runWhen(C)===!1||(Y=Y&&ee.synchronous,X.unshift(ee.fulfilled,ee.rejected))});const _=[];this.interceptors.response.forEach(function(ee){_.push(ee.fulfilled,ee.rejected)});let V,Z=0,oe;if(!Y){const H=[Ja.bind(this),void 0];for(H.unshift.apply(H,X),H.push.apply(H,_),oe=H.length,V=Promise.resolve(C);Z{if(!L._listeners)return;let z=L._listeners.length;for(;z-- >0;)L._listeners[z](P);L._listeners=null}),this.promise.then=P=>{let z;const E=new Promise(X=>{L.subscribe(X),z=X}).then(P);return E.cancel=function(){L.unsubscribe(z)},E},y(function(z,E,X){L.reason||(L.reason=new Ft(z,E,X),C(L.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(y){if(this.reason){y(this.reason);return}this._listeners?this._listeners.push(y):this._listeners=[y]}unsubscribe(y){if(!this._listeners)return;const C=this._listeners.indexOf(y);C!==-1&&this._listeners.splice(C,1)}toAbortSignal(){const y=new AbortController,C=L=>{y.abort(L)};return this.subscribe(C),y.signal.unsubscribe=()=>this.unsubscribe(C),y.signal}static source(){let y;return{token:new Is(function(P){y=P}),cancel:y}}}function ml(v){return function(C){return v.apply(null,C)}}function bl(v){return D.isObject(v)&&v.isAxiosError===!0}const Ps={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ps).forEach(([v,y])=>{Ps[y]=v});function Sr(v){const y=new St(v),C=tr(St.prototype.request,y);return D.extend(C,St.prototype,y,{allOwnKeys:!0}),D.extend(C,y,null,{allOwnKeys:!0}),C.create=function(P){return Sr(Ct(v,P))},C}const Te=Sr(ei);Te.Axios=St;Te.CanceledError=Ft;Te.CancelToken=Is;Te.isCancel=xr;Te.VERSION=Ar;Te.toFormData=ki;Te.AxiosError=le;Te.Cancel=Te.CanceledError;Te.all=function(y){return Promise.all(y)};Te.spread=ml;Te.isAxiosError=bl;Te.mergeConfig=Ct;Te.AxiosHeaders=Be;Te.formToJSON=v=>pr(D.isHTMLForm(v)?new FormData(v):v);Te.getAdapter=kr.getAdapter;Te.HttpStatusCode=Ps;Te.default=Te;var Cr={exports:{}},ks={exports:{}};/*! - * ApexCharts v4.1.0 - * (c) 2018-2024 ApexCharts - * Released under the MIT License. - */var Qa;function vl(){return Qa||(Qa=1,function(v,y){(function(C,L){v.exports=L()})(er,function(){function C(o,e){(e==null||e>o.length)&&(e=o.length);for(var t=0,i=Array(e);t=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(l){throw l},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,r=!0,n=!1;return{s:function(){t=t.call(o)},n:function(){var l=t.next();return r=l.done,l},e:function(l){n=!0,a=l},f:function(){try{r||t.return==null||t.return()}finally{if(n)throw a}}}}function Y(o){var e=oe();return function(){var t,i=V(o);if(e){var s=V(this).constructor;t=Reflect.construct(i,arguments,s)}else t=i.apply(this,arguments);return function(a,r){if(r&&(typeof r=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return L(a)}(this,t)}}function _(o,e,t){return(e=Le(e))in o?Object.defineProperty(o,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[e]=t,o}function V(o){return V=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},V(o)}function Z(o,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),Object.defineProperty(o,"prototype",{writable:!1}),e&&ee(o,e)}function oe(){try{var o=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(oe=function(){return!!o})()}function ke(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable})),t.push.apply(t,i)}return t}function H(o){for(var e=1;e>16,n=i>>8&255,l=255&i;return"#"+(16777216+65536*(Math.round((s-r)*a)+r)+256*(Math.round((s-n)*a)+n)+(Math.round((s-l)*a)+l)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,t){return o.isColorHex(t)?this.shadeHexColor(e,t):this.shadeRGBColor(e,t)}}],[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&Ae(e)==="object"&&!Array.isArray(e)&&e!=null}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,i=[];for(t=0;t1&&arguments[1]!==void 0?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(t.length===1)return t[0];var i="",s=e<0?"-":"",a=t[0].replace(".",""),r=Number(t[1])+1;if(r<0){for(i=s+"0.";r++;)i+="0";return i+a.replace(/^-/,"")}for(r-=a.length;r--;)i+="0";return a+i}},{key:"elementExists",value:function(e){return!(!e||!e.isConnected)}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),i=e.clientHeight,s=e.clientWidth;return i-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[s-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce(function(t,i){return Array.isArray(i)&&(i=i.reduce(function(s,a){return s.length>a.length?s:a})),t.length>i.length?t:i},0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"#999999",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.6;e.substring(0,1)!=="#"&&(e="#999999");var i=e.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var s=0;s1&&arguments[1]!==void 0?arguments[1]:"x",i=e.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,i){if(i>=e.length)for(var s=i-e.length+1;s--;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e.style.key=t[i])}},{key:"preciseAddition",value:function(e,t){var i=(String(e).split(".")[1]||"").length,s=(String(t).split(".")[1]||"").length,a=Math.pow(10,Math.max(i,s));return(Math.round(e*a)+Math.round(t*a))/a}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isMsEdge",value:function(){var e=window.navigator.userAgent,t=e.indexOf("Edge/");return t>0&&parseInt(e.substring(t+5,e.indexOf(".",t)),10)}},{key:"getGCD",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,s=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*s),t=Math.round(Math.abs(t)*s);t;){var a=t;t=e%t,e=a}return e/s}},{key:"getPrimeFactors",value:function(e){for(var t=[],i=2;e>=2;)e%i==0?(t.push(i),e/=i):i++;return t}},{key:"mod",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,s=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*s))%(t=Math.round(Math.abs(t)*s))/s}}]),o}(),Fe=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"animateLine",value:function(e,t,i,s){e.attr(t).animate(s).attr(i)}},{key:"animateMarker",value:function(e,t,i,s){e.attr({opacity:0}).animate(t).attr({opacity:1}).after(function(){s()})}},{key:"animateRect",value:function(e,t,i,s,a){e.attr(t).animate(s).attr(i).after(function(){return a()})}},{key:"animatePathsGradually",value:function(e){var t=e.el,i=e.realIndex,s=e.j,a=e.fill,r=e.pathFrom,n=e.pathTo,l=e.speed,h=e.delay,d=this.w,c=0;d.config.chart.animations.animateGradually.enabled&&(c=d.config.chart.animations.animateGradually.delay),d.config.chart.animations.dynamicAnimation.enabled&&d.globals.dataChanged&&d.config.chart.type!=="bar"&&(c=0),this.morphSVG(t,i,s,d.config.chart.type!=="line"||d.globals.comboCharts?a:"stroke",r,n,l,h*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(e){var t=e.el;t.classList.remove("apexcharts-element-hidden"),t.classList.add("apexcharts-hidden-element-shown")})}},{key:"animationCompleted",value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),typeof t.config.chart.events.animationEnd=="function"&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:"morphSVG",value:function(e,t,i,s,a,r,n,l){var h=this,d=this.w;a||(a=e.attr("pathFrom")),r||(r=e.attr("pathTo"));var c=function(u){return d.config.chart.type==="radar"&&(n=1),"M 0 ".concat(d.globals.gridHeight)};(!a||a.indexOf("undefined")>-1||a.indexOf("NaN")>-1)&&(a=c()),(!r.trim()||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),d.globals.shouldAnimate||(n=1),e.plot(a).animate(1,l).plot(a).animate(n,l).plot(r).after(function(){R.isNumber(i)?i===d.globals.series[d.globals.maxValsInArrayIndex].length-2&&d.globals.shouldAnimate&&h.animationCompleted(e):s!=="none"&&d.globals.shouldAnimate&&(!d.globals.comboCharts&&t===d.globals.series.length-1||d.globals.comboCharts)&&h.animationCompleted(e),h.showDelayedElements()})}}]),o}();const Je={},ut=[];function re(o,e){if(Array.isArray(o))for(const t of o)re(t,e);else if(typeof o!="object")Os(Object.getOwnPropertyNames(e)),Je[o]=Object.assign(Je[o]||{},e);else for(const t in o)re(t,o[t])}function _e(o){return Je[o]||{}}function Os(o){ut.push(...o)}function Ci(o,e){let t;const i=o.length,s=[];for(t=0;tLr.has(o.nodeName),zs=(o,e,t={})=>{const i={...e};for(const s in i)i[s].valueOf()===t[s]&&delete i[s];Object.keys(i).length?o.node.setAttribute("data-svgjs",JSON.stringify(i)):(o.node.removeAttribute("data-svgjs"),o.node.removeAttribute("svgjs:data"))},Ti="http://www.w3.org/2000/svg",Ei="http://www.w3.org/2000/xmlns/",Pt="http://www.w3.org/1999/xlink",ce={window:typeof window>"u"?null:window,document:typeof document>"u"?null:document};function Yt(){return ce.window}let Ri=class{};const gt={},Ii="___SYMBOL___ROOT___";function Dt(o,e=Ti){return ce.document.createElementNS(e,o)}function Ye(o,e=!1){if(o instanceof Ri)return o;if(typeof o=="object")return Oi(o);if(o==null)return new gt[Ii];if(typeof o=="string"&&o.charAt(0)!=="<")return Oi(ce.document.querySelector(o));const t=e?ce.document.createElement("div"):Dt("svg");return t.innerHTML=o,o=Oi(t.firstChild),t.removeChild(t.firstChild),o}function be(o,e){return e&&(e instanceof ce.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:Dt(o)}function Ue(o){if(!o)return null;if(o.instance instanceof Ri)return o.instance;if(o.nodeName==="#document-fragment")return new gt.Fragment(o);let e=Lt(o.nodeName||"Dom");return e==="LinearGradient"||e==="RadialGradient"?e="Gradient":gt[e]||(e="Dom"),new gt[e](o)}let Oi=Ue;function de(o,e=o.name,t=!1){return gt[e]=o,t&&(gt[Ii]=o),Os(Object.getOwnPropertyNames(o.prototype)),o}let Mr=1e3;function Xs(o){return"Svgjs"+Lt(o)+Mr++}function Hs(o){for(let e=o.children.length-1;e>=0;e--)Hs(o.children[e]);return o.id&&(o.id=Xs(o.nodeName)),o}function Q(o,e){let t,i;for(i=(o=Array.isArray(o)?o:[o]).length-1;i>=0;i--)for(t in e)o[i].prototype[t]=e[t]}function ve(o){return function(...e){const t=e[e.length-1];return!t||t.constructor!==Object||t instanceof Array?o.apply(this,e):o.apply(this,e.slice(0,-1)).attr(t)}}re("Dom",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const o=this.position();return this.parent().add(this.remove(),o+1),this},backward:function(){const o=this.position();return this.parent().add(this.remove(),o?o-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(o){(o=Ye(o)).remove();const e=this.position();return this.parent().add(o,e),this},after:function(o){(o=Ye(o)).remove();const e=this.position();return this.parent().add(o,e+1),this},insertBefore:function(o){return(o=Ye(o)).before(this),this},insertAfter:function(o){return(o=Ye(o)).after(this),this}});const Fs=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,Pr=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Tr=/rgb\((\d+),(\d+),(\d+)\)/,Er=/(#[a-z_][a-z0-9\-_]*)/i,Rr=/\)\s*,?\s*/,Ir=/\s/g,Ys=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,Ds=/^rgb\(/,Ns=/^(\s+)?$/,_s=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Or=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,at=/[\s,]+/,zi=/[MLHVCSQTAZ]/i;function zr(o){const e=Math.round(o),t=Math.max(0,Math.min(255,e)).toString(16);return t.length===1?"0"+t:t}function Tt(o,e){for(let t=e.length;t--;)if(o[e[t]]==null)return!1;return!0}function Xi(o,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?o+6*(e-o)*t:t<.5?e:t<2/3?o+(e-o)*(2/3-t)*6:o}re("Dom",{classes:function(){const o=this.attr("class");return o==null?[]:o.trim().split(at)},hasClass:function(o){return this.classes().indexOf(o)!==-1},addClass:function(o){if(!this.hasClass(o)){const e=this.classes();e.push(o),this.attr("class",e.join(" "))}return this},removeClass:function(o){return this.hasClass(o)&&this.attr("class",this.classes().filter(function(e){return e!==o}).join(" ")),this},toggleClass:function(o){return this.hasClass(o)?this.removeClass(o):this.addClass(o)}}),re("Dom",{css:function(o,e){const t={};if(arguments.length===0)return this.node.style.cssText.split(/\s*;\s*/).filter(function(i){return!!i.length}).forEach(function(i){const s=i.split(/\s*:\s*/);t[s[0]]=s[1]}),t;if(arguments.length<2){if(Array.isArray(o)){for(const i of o){const s=i;t[i]=this.node.style.getPropertyValue(s)}return t}if(typeof o=="string")return this.node.style.getPropertyValue(o);if(typeof o=="object")for(const i in o)this.node.style.setProperty(i,o[i]==null||Ns.test(o[i])?"":o[i])}return arguments.length===2&&this.node.style.setProperty(o,e==null||Ns.test(e)?"":e),this},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},visible:function(){return this.css("display")!=="none"}}),re("Dom",{data:function(o,e,t){if(o==null)return this.data(Ci(function(i,s){let a;const r=i.length,n=[];for(a=0;ai.nodeName.indexOf("data-")===0),i=>i.nodeName.slice(5)));if(o instanceof Array){const i={};for(const s of o)i[s]=this.data(s);return i}if(typeof o=="object")for(e in o)this.data(e,o[e]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+o))}catch{return this.attr("data-"+o)}else this.attr("data-"+o,e===null?null:t===!0||typeof e=="string"||typeof e=="number"?e:JSON.stringify(e));return this}}),re("Dom",{remember:function(o,e){if(typeof arguments[0]=="object")for(const t in o)this.remember(t,o[t]);else{if(arguments.length===1)return this.memory()[o];this.memory()[o]=e}return this},forget:function(){if(arguments.length===0)this._memory={};else for(let o=arguments.length-1;o>=0;o--)delete this.memory()[arguments[o]];return this},memory:function(){return this._memory=this._memory||{}}});class xe{constructor(...e){this.init(...e)}static isColor(e){return e&&(e instanceof xe||this.isRgb(e)||this.test(e))}static isRgb(e){return e&&typeof e.r=="number"&&typeof e.g=="number"&&typeof e.b=="number"}static random(e="vibrant",t){const{random:i,round:s,sin:a,PI:r}=Math;if(e==="vibrant"){const n=24*i()+57,l=38*i()+45,h=360*i();return new xe(n,l,h,"lch")}if(e==="sine"){const n=s(80*a(2*r*(t=t??i())/.5+.01)+150),l=s(50*a(2*r*t/.5+4.6)+200),h=s(100*a(2*r*t/.5+2.3)+150);return new xe(n,l,h)}if(e==="pastel"){const n=8*i()+86,l=17*i()+9,h=360*i();return new xe(n,l,h,"lch")}if(e==="dark"){const n=10+10*i(),l=50*i()+86,h=360*i();return new xe(n,l,h,"lch")}if(e==="rgb"){const n=255*i(),l=255*i(),h=255*i();return new xe(n,l,h)}if(e==="lab"){const n=100*i(),l=256*i()-128,h=256*i()-128;return new xe(n,l,h,"lab")}if(e==="grey"){const n=255*i();return new xe(n,n,n)}throw new Error("Unsupported random color mode")}static test(e){return typeof e=="string"&&(Ys.test(e)||Ds.test(e))}cmyk(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(l=>l/255),n=Math.min(1-s,1-a,1-r);return n===1?new xe(0,0,0,1,"cmyk"):new xe((1-s-n)/(1-n),(1-a-n)/(1-n),(1-r-n)/(1-n),n,"cmyk")}hsl(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(u=>u/255),n=Math.max(s,a,r),l=Math.min(s,a,r),h=(n+l)/2,d=n===l,c=n-l;return new xe(360*(d?0:n===s?((a-r)/c+(a.5?c/(2-n-l):c/(n+l)),100*h,"hsl")}init(e=0,t=0,i=0,s=0,a="rgb"){if(e=e||0,this.space)for(const c in this.space)delete this[this.space[c]];if(typeof e=="number")a=typeof s=="string"?s:a,s=typeof s=="string"?0:s,Object.assign(this,{_a:e,_b:t,_c:i,_d:s,space:a});else if(e instanceof Array)this.space=t||(typeof e[3]=="string"?e[3]:e[4])||"rgb",Object.assign(this,{_a:e[0],_b:e[1],_c:e[2],_d:e[3]||0});else if(e instanceof Object){const c=function(u,g){const p=Tt(u,"rgb")?{_a:u.r,_b:u.g,_c:u.b,_d:0,space:"rgb"}:Tt(u,"xyz")?{_a:u.x,_b:u.y,_c:u.z,_d:0,space:"xyz"}:Tt(u,"hsl")?{_a:u.h,_b:u.s,_c:u.l,_d:0,space:"hsl"}:Tt(u,"lab")?{_a:u.l,_b:u.a,_c:u.b,_d:0,space:"lab"}:Tt(u,"lch")?{_a:u.l,_b:u.c,_c:u.h,_d:0,space:"lch"}:Tt(u,"cmyk")?{_a:u.c,_b:u.m,_c:u.y,_d:u.k,space:"cmyk"}:{_a:0,_b:0,_c:0,space:"rgb"};return p.space=g||p.space,p}(e,t);Object.assign(this,c)}else if(typeof e=="string")if(Ds.test(e)){const c=e.replace(Ir,""),[u,g,p]=Tr.exec(c).slice(1,4).map(f=>parseInt(f));Object.assign(this,{_a:u,_b:g,_c:p,_d:0,space:"rgb"})}else{if(!Ys.test(e))throw Error("Unsupported string format, can't construct Color");{const c=f=>parseInt(f,16),[,u,g,p]=Pr.exec(function(f){return f.length===4?["#",f.substring(1,2),f.substring(1,2),f.substring(2,3),f.substring(2,3),f.substring(3,4),f.substring(3,4)].join(""):f}(e)).map(c);Object.assign(this,{_a:u,_b:g,_c:p,_d:0,space:"rgb"})}}const{_a:r,_b:n,_c:l,_d:h}=this,d=this.space==="rgb"?{r,g:n,b:l}:this.space==="xyz"?{x:r,y:n,z:l}:this.space==="hsl"?{h:r,s:n,l}:this.space==="lab"?{l:r,a:n,b:l}:this.space==="lch"?{l:r,c:n,h:l}:this.space==="cmyk"?{c:r,m:n,y:l,k:h}:{};Object.assign(this,d)}lab(){const{x:e,y:t,z:i}=this.xyz();return new xe(116*t-16,500*(e-t),200*(t-i),"lab")}lch(){const{l:e,a:t,b:i}=this.lab(),s=Math.sqrt(t**2+i**2);let a=180*Math.atan2(i,t)/Math.PI;return a<0&&(a*=-1,a=360-a),new xe(e,s,a,"lch")}rgb(){if(this.space==="rgb")return this;if((e=this.space)==="lab"||e==="xyz"||e==="lch"){let{x:t,y:i,z:s}=this;if(this.space==="lab"||this.space==="lch"){let{l:g,a:p,b:f}=this;if(this.space==="lch"){const{c:T,h:k}=this,M=Math.PI/180;p=T*Math.cos(M*k),f=T*Math.sin(M*k)}const x=(g+16)/116,m=p/500+x,b=x-f/200,w=16/116,S=.008856,A=7.787;t=.95047*(m**3>S?m**3:(m-w)/A),i=1*(x**3>S?x**3:(x-w)/A),s=1.08883*(b**3>S?b**3:(b-w)/A)}const a=3.2406*t+-1.5372*i+-.4986*s,r=-.9689*t+1.8758*i+.0415*s,n=.0557*t+-.204*i+1.057*s,l=Math.pow,h=.0031308,d=a>h?1.055*l(a,1/2.4)-.055:12.92*a,c=r>h?1.055*l(r,1/2.4)-.055:12.92*r,u=n>h?1.055*l(n,1/2.4)-.055:12.92*n;return new xe(255*d,255*c,255*u)}if(this.space==="hsl"){let{h:t,s:i,l:s}=this;if(t/=360,i/=100,s/=100,i===0)return s*=255,new xe(s,s,s);const a=s<.5?s*(1+i):s+i-s*i,r=2*s-a,n=255*Xi(r,a,t+1/3),l=255*Xi(r,a,t),h=255*Xi(r,a,t-1/3);return new xe(n,l,h)}if(this.space==="cmyk"){const{c:t,m:i,y:s,k:a}=this,r=255*(1-Math.min(1,t*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a)),l=255*(1-Math.min(1,s*(1-a)+a));return new xe(r,n,l)}return this;var e}toArray(){const{_a:e,_b:t,_c:i,_d:s,space:a}=this;return[e,t,i,s,a]}toHex(){const[e,t,i]=this._clamped().map(zr);return`#${e}${t}${i}`}toRgb(){const[e,t,i]=this._clamped();return`rgb(${e},${t},${i})`}toString(){return this.toHex()}xyz(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(x=>x/255),n=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,h=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,d=(.4124*n+.3576*l+.1805*h)/.95047,c=(.2126*n+.7152*l+.0722*h)/1,u=(.0193*n+.1192*l+.9505*h)/1.08883,g=d>.008856?Math.pow(d,1/3):7.787*d+16/116,p=c>.008856?Math.pow(c,1/3):7.787*c+16/116,f=u>.008856?Math.pow(u,1/3):7.787*u+16/116;return new xe(g,p,f,"xyz")}_clamped(){const{_a:e,_b:t,_c:i}=this.rgb(),{max:s,min:a,round:r}=Math;return[e,t,i].map(n=>s(0,a(r(n),255)))}}class fe{constructor(...e){this.init(...e)}clone(){return new fe(this)}init(e,t){const a=Array.isArray(e)?{x:e[0],y:e[1]}:typeof e=="object"?{x:e.x,y:e.y}:{x:e,y:t};return this.x=a.x==null?0:a.x,this.y=a.y==null?0:a.y,this}toArray(){return[this.x,this.y]}transform(e){return this.clone().transformO(e)}transformO(e){K.isMatrixLike(e)||(e=new K(e));const{x:t,y:i}=this;return this.x=e.a*t+e.c*i+e.e,this.y=e.b*t+e.d*i+e.f,this}}function Et(o,e,t){return Math.abs(e-o)<1e-6}class K{constructor(...e){this.init(...e)}static formatTransforms(e){const t=e.flip==="both"||e.flip===!0,i=e.flip&&(t||e.flip==="x")?-1:1,s=e.flip&&(t||e.flip==="y")?-1:1,a=e.skew&&e.skew.length?e.skew[0]:isFinite(e.skew)?e.skew:isFinite(e.skewX)?e.skewX:0,r=e.skew&&e.skew.length?e.skew[1]:isFinite(e.skew)?e.skew:isFinite(e.skewY)?e.skewY:0,n=e.scale&&e.scale.length?e.scale[0]*i:isFinite(e.scale)?e.scale*i:isFinite(e.scaleX)?e.scaleX*i:i,l=e.scale&&e.scale.length?e.scale[1]*s:isFinite(e.scale)?e.scale*s:isFinite(e.scaleY)?e.scaleY*s:s,h=e.shear||0,d=e.rotate||e.theta||0,c=new fe(e.origin||e.around||e.ox||e.originX,e.oy||e.originY),u=c.x,g=c.y,p=new fe(e.position||e.px||e.positionX||NaN,e.py||e.positionY||NaN),f=p.x,x=p.y,m=new fe(e.translate||e.tx||e.translateX,e.ty||e.translateY),b=m.x,w=m.y,S=new fe(e.relative||e.rx||e.relativeX,e.ry||e.relativeY);return{scaleX:n,scaleY:l,skewX:a,skewY:r,shear:h,theta:d,rx:S.x,ry:S.y,tx:b,ty:w,ox:u,oy:g,px:f,py:x}}static fromArray(e){return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}static isMatrixLike(e){return e.a!=null||e.b!=null||e.c!=null||e.d!=null||e.e!=null||e.f!=null}static matrixMultiply(e,t,i){const s=e.a*t.a+e.c*t.b,a=e.b*t.a+e.d*t.b,r=e.a*t.c+e.c*t.d,n=e.b*t.c+e.d*t.d,l=e.e+e.a*t.e+e.c*t.f,h=e.f+e.b*t.e+e.d*t.f;return i.a=s,i.b=a,i.c=r,i.d=n,i.e=l,i.f=h,i}around(e,t,i){return this.clone().aroundO(e,t,i)}aroundO(e,t,i){const s=e||0,a=t||0;return this.translateO(-s,-a).lmultiplyO(i).translateO(s,a)}clone(){return new K(this)}decompose(e=0,t=0){const i=this.a,s=this.b,a=this.c,r=this.d,n=this.e,l=this.f,h=i*r-s*a,d=h>0?1:-1,c=d*Math.sqrt(i*i+s*s),u=Math.atan2(d*s,d*i),g=180/Math.PI*u,p=Math.cos(u),f=Math.sin(u),x=(i*a+s*r)/h,m=a*c/(x*i-s)||r*c/(x*s+i);return{scaleX:c,scaleY:m,shear:x,rotate:g,translateX:n-e+e*p*c+t*(x*p*c-f*m),translateY:l-t+e*f*c+t*(x*f*c+p*m),originX:e,originY:t,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(e){if(e===this)return!0;const t=new K(e);return Et(this.a,t.a)&&Et(this.b,t.b)&&Et(this.c,t.c)&&Et(this.d,t.d)&&Et(this.e,t.e)&&Et(this.f,t.f)}flip(e,t){return this.clone().flipO(e,t)}flipO(e,t){return e==="x"?this.scaleO(-1,1,t,0):e==="y"?this.scaleO(1,-1,0,t):this.scaleO(-1,-1,e,t||e)}init(e){const t=K.fromArray([1,0,0,1,0,0]);return e=e instanceof Ee?e.matrixify():typeof e=="string"?K.fromArray(e.split(at).map(parseFloat)):Array.isArray(e)?K.fromArray(e):typeof e=="object"&&K.isMatrixLike(e)?e:typeof e=="object"?new K().transform(e):arguments.length===6?K.fromArray([].slice.call(arguments)):t,this.a=e.a!=null?e.a:t.a,this.b=e.b!=null?e.b:t.b,this.c=e.c!=null?e.c:t.c,this.d=e.d!=null?e.d:t.d,this.e=e.e!=null?e.e:t.e,this.f=e.f!=null?e.f:t.f,this}inverse(){return this.clone().inverseO()}inverseO(){const e=this.a,t=this.b,i=this.c,s=this.d,a=this.e,r=this.f,n=e*s-t*i;if(!n)throw new Error("Cannot invert "+this);const l=s/n,h=-t/n,d=-i/n,c=e/n,u=-(l*a+d*r),g=-(h*a+c*r);return this.a=l,this.b=h,this.c=d,this.d=c,this.e=u,this.f=g,this}lmultiply(e){return this.clone().lmultiplyO(e)}lmultiplyO(e){const t=e instanceof K?e:new K(e);return K.matrixMultiply(t,this,this)}multiply(e){return this.clone().multiplyO(e)}multiplyO(e){const t=e instanceof K?e:new K(e);return K.matrixMultiply(this,t,this)}rotate(e,t,i){return this.clone().rotateO(e,t,i)}rotateO(e,t=0,i=0){e=Li(e);const s=Math.cos(e),a=Math.sin(e),{a:r,b:n,c:l,d:h,e:d,f:c}=this;return this.a=r*s-n*a,this.b=n*s+r*a,this.c=l*s-h*a,this.d=h*s+l*a,this.e=d*s-c*a+i*a-t*s+t,this.f=c*s+d*a-t*a-i*s+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(e,t=e,i=0,s=0){arguments.length===3&&(s=i,i=t,t=e);const{a,b:r,c:n,d:l,e:h,f:d}=this;return this.a=a*e,this.b=r*t,this.c=n*e,this.d=l*t,this.e=h*e-i*e+i,this.f=d*t-s*t+s,this}shear(e,t,i){return this.clone().shearO(e,t,i)}shearO(e,t=0,i=0){const{a:s,b:a,c:r,d:n,e:l,f:h}=this;return this.a=s+a*e,this.c=r+n*e,this.e=l+h*e-i*e,this}skew(){return this.clone().skewO(...arguments)}skewO(e,t=e,i=0,s=0){arguments.length===3&&(s=i,i=t,t=e),e=Li(e),t=Li(t);const a=Math.tan(e),r=Math.tan(t),{a:n,b:l,c:h,d,e:c,f:u}=this;return this.a=n+l*a,this.b=l+n*r,this.c=h+d*a,this.d=d+h*r,this.e=c+u*a-s*a,this.f=u+c*r-i*r,this}skewX(e,t,i){return this.skew(e,0,t,i)}skewY(e,t,i){return this.skew(0,e,t,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}transform(e){if(K.isMatrixLike(e))return new K(e).multiplyO(this);const t=K.formatTransforms(e),{x:i,y:s}=new fe(t.ox,t.oy).transform(this),a=new K().translateO(t.rx,t.ry).lmultiplyO(this).translateO(-i,-s).scaleO(t.scaleX,t.scaleY).skewO(t.skewX,t.skewY).shearO(t.shear).rotateO(t.theta).translateO(i,s);if(isFinite(t.px)||isFinite(t.py)){const r=new fe(i,s).transform(a),n=isFinite(t.px)?t.px-r.x:0,l=isFinite(t.py)?t.py-r.y:0;a.translateO(n,l)}return a.translateO(t.tx,t.ty),a}translate(e,t){return this.clone().translateO(e,t)}translateO(e,t){return this.e+=e||0,this.f+=t||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function ot(){if(!ot.nodes){const o=Ye().size(2,0);o.node.style.cssText=["opacity: 0","position: absolute","left: -100%","top: -100%","overflow: hidden"].join(";"),o.attr("focusable","false"),o.attr("aria-hidden","true");const e=o.path().node;ot.nodes={svg:o,path:e}}if(!ot.nodes.svg.node.parentNode){const o=ce.document.body||ce.document.documentElement;ot.nodes.svg.addTo(o)}return ot.nodes}function Bs(o){return!(o.width||o.height||o.x||o.y)}de(K,"Matrix");class Me{constructor(...e){this.init(...e)}addOffset(){return this.x+=ce.window.pageXOffset,this.y+=ce.window.pageYOffset,new Me(this)}init(e){return e=typeof e=="string"?e.split(at).map(parseFloat):Array.isArray(e)?e:typeof e=="object"?[e.left!=null?e.left:e.x,e.top!=null?e.top:e.y,e.width,e.height]:arguments.length===4?[].slice.call(arguments):[0,0,0,0],this.x=e[0]||0,this.y=e[1]||0,this.width=this.w=e[2]||0,this.height=this.h=e[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return Bs(this)}merge(e){const t=Math.min(this.x,e.x),i=Math.min(this.y,e.y),s=Math.max(this.x+this.width,e.x+e.width)-t,a=Math.max(this.y+this.height,e.y+e.height)-i;return new Me(t,i,s,a)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+" "+this.y+" "+this.width+" "+this.height}transform(e){e instanceof K||(e=new K(e));let t=1/0,i=-1/0,s=1/0,a=-1/0;return[new fe(this.x,this.y),new fe(this.x2,this.y),new fe(this.x,this.y2),new fe(this.x2,this.y2)].forEach(function(r){r=r.transform(e),t=Math.min(t,r.x),i=Math.max(i,r.x),s=Math.min(s,r.y),a=Math.max(a,r.y)}),new Me(t,s,i-t,a-s)}}function Ws(o,e,t){let i;try{if(i=e(o.node),Bs(i)&&(s=o.node)!==ce.document&&!(ce.document.documentElement.contains||function(a){for(;a.parentNode;)a=a.parentNode;return a===ce.document}).call(ce.document.documentElement,s))throw new Error("Element not in the dom")}catch{i=t(o)}var s;return i}re({viewbox:{viewbox(o,e,t,i){return o==null?new Me(this.attr("viewBox")):this.attr("viewBox",new Me(o,e,t,i))},zoom(o,e){let{width:t,height:i}=this.attr(["width","height"]);if((t||i)&&typeof t!="string"&&typeof i!="string"||(t=this.node.clientWidth,i=this.node.clientHeight),!t||!i)throw new Error("Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element");const s=this.viewbox(),a=t/s.width,r=i/s.height,n=Math.min(a,r);if(o==null)return n;let l=n/o;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new fe(t/2/a+s.x,i/2/r+s.y);const h=new Me(s).transform(new K({scale:l,origin:e}));return this.viewbox(h)}}}),de(Me,"Box");class ft extends Array{constructor(e=[],...t){if(super(e,...t),typeof e=="number")return this;this.length=0,this.push(...e)}}Q([ft],{each(o,...e){return typeof o=="function"?this.map((t,i,s)=>o.call(t,t,i,s)):this.map(t=>t[o](...e))},toArray(){return Array.prototype.concat.apply([],this)}});const Xr=["toArray","constructor","each"];function pt(o,e){return new ft(Ci((e||ce.document).querySelectorAll(o),function(t){return Ue(t)}))}ft.extend=function(o){o=o.reduce((e,t)=>(Xr.includes(t)||t[0]==="_"||(t in Array.prototype&&(e["$"+t]=Array.prototype[t]),e[t]=function(...i){return this.each(t,...i)}),e),{}),Q([ft],o)};let Hr=0;const js={};function Gs(o){let e=o.getEventHolder();return e===ce.window&&(e=js),e.events||(e.events={}),e.events}function Hi(o){return o.getEventTarget()}function rt(o,e,t,i,s){const a=t.bind(i||o),r=Ye(o),n=Gs(r),l=Hi(r);e=Array.isArray(e)?e:e.split(at),t._svgjsListenerId||(t._svgjsListenerId=++Hr),e.forEach(function(h){const d=h.split(".")[0],c=h.split(".")[1]||"*";n[d]=n[d]||{},n[d][c]=n[d][c]||{},n[d][c][t._svgjsListenerId]=a,l.addEventListener(d,a,s||!1)})}function qe(o,e,t,i){const s=Ye(o),a=Gs(s),r=Hi(s);(typeof t!="function"||(t=t._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||"").split(at)).forEach(function(n){const l=n&&n.split(".")[0],h=n&&n.split(".")[1];let d,c;if(t)a[l]&&a[l][h||"*"]&&(r.removeEventListener(l,a[l][h||"*"][t],i||!1),delete a[l][h||"*"][t]);else if(l&&h){if(a[l]&&a[l][h]){for(c in a[l][h])qe(r,[l,h].join("."),c);delete a[l][h]}}else if(h)for(n in a)for(d in a[n])h===d&&qe(r,[n,h].join("."));else if(l){if(a[l]){for(d in a[l])qe(r,[l,d].join("."));delete a[l]}}else{for(n in a)qe(r,n);(function(u){let g=u.getEventHolder();g===ce.window&&(g=js),g.events&&(g.events={})})(s)}})}class Nt extends Ri{addEventListener(){}dispatch(e,t,i){return function(s,a,r,n){const l=Hi(s);return a instanceof ce.window.Event||(a=new ce.window.CustomEvent(a,{detail:r,cancelable:!0,...n})),l.dispatchEvent(a),a}(this,e,t,i)}dispatchEvent(e){const t=this.getEventHolder().events;if(!t)return!0;const i=t[e.type];for(const s in i)for(const a in i[s])i[s][a](e);return!e.defaultPrevented}fire(e,t,i){return this.dispatch(e,t,i),this}getEventHolder(){return this}getEventTarget(){return this}off(e,t,i){return qe(this,e,t,i),this}on(e,t,i,s){return rt(this,e,t,i,s),this}removeEventListener(){}}function Vs(){}de(Nt,"EventTarget");const Fi=400,Fr=">",Yr=0,Dr={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","text-anchor":"start"};class xt extends Array{constructor(...e){super(...e),this.init(...e)}clone(){return new this.constructor(this)}init(e){return typeof e=="number"||(this.length=0,this.push(...this.parse(e))),this}parse(e=[]){return e instanceof Array?e:e.trim().split(at).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(" ")}valueOf(){const e=[];return e.push(...this),e}}class ne{constructor(...e){this.init(...e)}convert(e){return new ne(this.value,e)}divide(e){return e=new ne(e),new ne(this/e,this.unit||e.unit)}init(e,t){return t=Array.isArray(e)?e[1]:t,e=Array.isArray(e)?e[0]:e,this.value=0,this.unit=t||"",typeof e=="number"?this.value=isNaN(e)?0:isFinite(e)?e:e<0?-34e37:34e37:typeof e=="string"?(t=e.match(Fs))&&(this.value=parseFloat(t[1]),t[5]==="%"?this.value/=100:t[5]==="s"&&(this.value*=1e3),this.unit=t[5]):e instanceof ne&&(this.value=e.valueOf(),this.unit=e.unit),this}minus(e){return e=new ne(e),new ne(this-e,this.unit||e.unit)}plus(e){return e=new ne(e),new ne(this+e,this.unit||e.unit)}times(e){return e=new ne(e),new ne(this*e,this.unit||e.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}toString(){return(this.unit==="%"?~~(1e8*this.value)/1e6:this.unit==="s"?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nr=new Set(["fill","stroke","color","bgcolor","stop-color","flood-color","lighting-color"]),Us=[];class lt extends Nt{constructor(e,t){super(),this.node=e,this.type=e.nodeName,t&&e!==t&&this.attr(t)}add(e,t){return(e=Ye(e)).removeNamespace&&this.node instanceof ce.window.SVGElement&&e.removeNamespace(),t==null?this.node.appendChild(e.node):e.node!==this.node.childNodes[t]&&this.node.insertBefore(e.node,this.node.childNodes[t]),this}addTo(e,t){return Ye(e).put(this,t)}children(){return new ft(Ci(this.node.children,function(e){return Ue(e)}))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(e=!0,t=!0){this.writeDataToDom();let i=this.node.cloneNode(e);return t&&(i=Hs(i)),new this.constructor(i)}each(e,t){const i=this.children();let s,a;for(s=0,a=i.length;s=0}html(e,t){return this.xml(e,t,"http://www.w3.org/1999/xhtml")}id(e){return e!==void 0||this.node.id||(this.node.id=Xs(this.type)),this.attr("id",e)}index(e){return[].slice.call(this.node.childNodes).indexOf(e.node)}last(){return Ue(this.node.lastChild)}matches(e){const t=this.node,i=t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector||null;return i&&i.call(t,e)}parent(e){let t=this;if(!t.node.parentNode)return null;if(t=Ue(t.node.parentNode),!e)return t;do if(typeof e=="string"?t.matches(e):t instanceof e)return t;while(t=Ue(t.node.parentNode));return t}put(e,t){return e=Ye(e),this.add(e,t),e}putIn(e,t){return Ye(e).add(this,t)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(e){return this.node.removeChild(e.node),this}replace(e){return e=Ye(e),this.node.parentNode&&this.node.parentNode.replaceChild(e.node,this.node),e}round(e=2,t=null){const i=10**e,s=this.attr(t);for(const a in s)typeof s[a]=="number"&&(s[a]=Math.round(s[a]*i)/i);return this.attr(s),this}svg(e,t){return this.xml(e,t,Ti)}toString(){return this.id()}words(e){return this.node.textContent=e,this}wrap(e){const t=this.parent();if(!t)return this.addTo(e);const i=t.index(this);return t.put(e,i).put(this)}writeDataToDom(){return this.each(function(){this.writeDataToDom()}),this}xml(e,t,i){if(typeof e=="boolean"&&(i=t,t=e,e=null),e==null||typeof e=="function"){t=t==null||t,this.writeDataToDom();let n=this;if(e!=null){if(n=Ue(n.node.cloneNode(!0)),t){const l=e(n);if(n=l||n,l===!1)return""}n.each(function(){const l=e(this),h=l||this;l===!1?this.remove():l&&this!==h&&this.replace(h)},!0)}return t?n.node.outerHTML:n.node.innerHTML}t=t!=null&&t;const s=Dt("wrapper",i),a=ce.document.createDocumentFragment();s.innerHTML=e;for(let n=s.children.length;n--;)a.appendChild(s.firstElementChild);const r=this.parent();return t?this.replace(a)&&r:this.add(a)}}Q(lt,{attr:function(o,e,t){if(o==null){o={},e=this.node.attributes;for(const i of e)o[i.nodeName]=_s.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return o}if(o instanceof Array)return o.reduce((i,s)=>(i[s]=this.attr(s),i),{});if(typeof o=="object"&&o.constructor===Object)for(e in o)this.attr(e,o[e]);else if(e===null)this.node.removeAttribute(o);else{if(e==null)return(e=this.node.getAttribute(o))==null?Dr[o]:_s.test(e)?parseFloat(e):e;typeof(e=Us.reduce((i,s)=>s(o,i,this),e))=="number"?e=new ne(e):Nr.has(o)&&xe.isColor(e)?e=new xe(e):e.constructor===Array&&(e=new xt(e)),o==="leading"?this.leading&&this.leading(e):typeof t=="string"?this.node.setAttributeNS(t,o,e.toString()):this.node.setAttribute(o,e.toString()),!this.rebuild||o!=="font-size"&&o!=="x"||this.rebuild()}return this},find:function(o){return pt(o,this.node)},findOne:function(o){return Ue(this.node.querySelector(o))}}),de(lt,"Dom");class Ee extends lt{constructor(e,t){super(e,t),this.dom={},this.node.instance=this,(e.hasAttribute("data-svgjs")||e.hasAttribute("svgjs:data"))&&this.setData(JSON.parse(e.getAttribute("data-svgjs"))??JSON.parse(e.getAttribute("svgjs:data"))??{})}center(e,t){return this.cx(e).cy(t)}cx(e){return e==null?this.x()+this.width()/2:this.x(e-this.width()/2)}cy(e){return e==null?this.y()+this.height()/2:this.y(e-this.height()/2)}defs(){const e=this.root();return e&&e.defs()}dmove(e,t){return this.dx(e).dy(t)}dx(e=0){return this.x(new ne(e).plus(this.x()))}dy(e=0){return this.y(new ne(e).plus(this.y()))}getEventHolder(){return this}height(e){return this.attr("height",e)}move(e,t){return this.x(e).y(t)}parents(e=this.root()){const t=typeof e=="string";t||(e=Ye(e));const i=new ft;let s=this;for(;(s=s.parent())&&s.node!==ce.document&&s.nodeName!=="#document-fragment"&&(i.push(s),t||s.node!==e.node)&&(!t||!s.matches(e));)if(s.node===this.root().node)return null;return i}reference(e){if(!(e=this.attr(e)))return null;const t=(e+"").match(Er);return t?Ye(t[1]):null}root(){const e=this.parent(function(t){return gt[t]}(Ii));return e&&e.root()}setData(e){return this.dom=e,this}size(e,t){const i=Mt(this,e,t);return this.width(new ne(i.width)).height(new ne(i.height))}width(e){return this.attr("width",e)}writeDataToDom(){return zs(this,this.dom),super.writeDataToDom()}x(e){return this.attr("x",e)}y(e){return this.attr("y",e)}}Q(Ee,{bbox:function(){const o=Ws(this,e=>e.getBBox(),e=>{try{const t=e.clone().addTo(ot().svg).show(),i=t.node.getBBox();return t.remove(),i}catch(t){throw new Error(`Getting bbox of element "${e.node.nodeName}" is not possible: ${t.toString()}`)}});return new Me(o)},rbox:function(o){const e=Ws(this,i=>i.getBoundingClientRect(),i=>{throw new Error(`Getting rbox of element "${i.node.nodeName}" is not possible`)}),t=new Me(e);return o?t.transform(o.screenCTM().inverseO()):t.addOffset()},inside:function(o,e){const t=this.bbox();return o>t.x&&e>t.y&&o=0;t--)i[_t[o][t]]!=null&&this.attr(_t.prefix(o,_t[o][t]),i[_t[o][t]]);return this},re(["Element","Runner"],e)}),re(["Element","Runner"],{matrix:function(o,e,t,i,s,a){return o==null?new K(this):this.attr("transform",new K(o,e,t,i,s,a))},rotate:function(o,e,t){return this.transform({rotate:o,ox:e,oy:t},!0)},skew:function(o,e,t,i){return arguments.length===1||arguments.length===3?this.transform({skew:o,ox:e,oy:t},!0):this.transform({skew:[o,e],ox:t,oy:i},!0)},shear:function(o,e,t){return this.transform({shear:o,ox:e,oy:t},!0)},scale:function(o,e,t,i){return arguments.length===1||arguments.length===3?this.transform({scale:o,ox:e,oy:t},!0):this.transform({scale:[o,e],ox:t,oy:i},!0)},translate:function(o,e){return this.transform({translate:[o,e]},!0)},relative:function(o,e){return this.transform({relative:[o,e]},!0)},flip:function(o="both",e="center"){return"xybothtrue".indexOf(o)===-1&&(e=o,o="both"),this.transform({flip:o,origin:e},!0)},opacity:function(o){return this.attr("opacity",o)}}),re("radius",{radius:function(o,e=o){return(this._element||this).type==="radialGradient"?this.attr("r",new ne(o)):this.rx(o).ry(e)}}),re("Path",{length:function(){return this.node.getTotalLength()},pointAt:function(o){return new fe(this.node.getPointAtLength(o))}}),re(["Element","Runner"],{font:function(o,e){if(typeof o=="object"){for(e in o)this.font(e,o[e]);return this}return o==="leading"?this.leading(e):o==="anchor"?this.attr("text-anchor",e):o==="size"||o==="family"||o==="weight"||o==="stretch"||o==="variant"||o==="style"?this.attr("font-"+o,e):this.attr(o,e)}}),re("Element",["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","touchstart","touchmove","touchleave","touchend","touchcancel","contextmenu","wheel","pointerdown","pointermove","pointerup","pointerleave","pointercancel"].reduce(function(o,e){return o[e]=function(t){return t===null?this.off(e):this.on(e,t),this},o},{})),re("Element",{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(Rr).slice(0,-1).map(function(e){const t=e.trim().split("(");return[t[0],t[1].split(at).map(function(i){return parseFloat(i)})]}).reverse().reduce(function(e,t){return t[0]==="matrix"?e.lmultiply(K.fromArray(t[1])):e[t[0]].apply(e,t[1])},new K)},toParent:function(o,e){if(this===o)return this;if(Pi(this.node))return this.addTo(o,e);const t=this.screenCTM(),i=o.screenCTM().inverse();return this.addTo(o,e).untransform().transform(i.multiply(t)),this},toRoot:function(o){return this.toParent(this.root(),o)},transform:function(o,e){if(o==null||typeof o=="string"){const i=new K(this).decompose();return o==null?i:i[o]}K.isMatrixLike(o)||(o={...o,origin:Mi(o,this)});const t=new K(e===!0?this:e||!1).transform(o);return this.attr("transform",t)}});class De extends Ee{flatten(){return this.each(function(){if(this instanceof De)return this.flatten().ungroup()}),this}ungroup(e=this.parent(),t=e.index(this)){return t=t===-1?e.children().length:t,this.each(function(i,s){return s[s.length-i-1].toParent(e,t)}),this.remove()}}de(De,"Container");class ti extends De{constructor(e,t=e){super(be("defs",e),t)}flatten(){return this}ungroup(){return this}}de(ti,"Defs");class je extends Ee{}function Yi(o){return this.attr("rx",o)}function Di(o){return this.attr("ry",o)}function qs(o){return o==null?this.cx()-this.rx():this.cx(o+this.rx())}function Zs(o){return o==null?this.cy()-this.ry():this.cy(o+this.ry())}function $s(o){return this.attr("cx",o)}function Js(o){return this.attr("cy",o)}function Ks(o){return o==null?2*this.rx():this.rx(new ne(o).divide(2))}function Qs(o){return o==null?2*this.ry():this.ry(new ne(o).divide(2))}de(je,"Shape");var _r=Object.freeze({__proto__:null,cx:$s,cy:Js,height:Qs,rx:Yi,ry:Di,width:Ks,x:qs,y:Zs});class ii extends je{constructor(e,t=e){super(be("ellipse",e),t)}size(e,t){const i=Mt(this,e,t);return this.rx(new ne(i.width).divide(2)).ry(new ne(i.height).divide(2))}}Q(ii,_r),re("Container",{ellipse:ve(function(o=0,e=o){return this.put(new ii).size(o,e).move(0,0)})}),de(ii,"Ellipse");class ea extends lt{constructor(e=ce.document.createDocumentFragment()){super(e)}xml(e,t,i){if(typeof e=="boolean"&&(i=t,t=e,e=null),e==null||typeof e=="function"){const s=new lt(Dt("wrapper",i));return s.add(this.node.cloneNode(!0)),s.xml(!1,i)}return super.xml(e,!1,i)}}function ta(o,e){return(this._element||this).type==="radialGradient"?this.attr({fx:new ne(o),fy:new ne(e)}):this.attr({x1:new ne(o),y1:new ne(e)})}function ia(o,e){return(this._element||this).type==="radialGradient"?this.attr({cx:new ne(o),cy:new ne(e)}):this.attr({x2:new ne(o),y2:new ne(e)})}de(ea,"Fragment");var Br=Object.freeze({__proto__:null,from:ta,to:ia});class Bt extends De{constructor(e,t){super(be(e+"Gradient",typeof e=="string"?null:e),t)}attr(e,t,i){return e==="transform"&&(e="gradientTransform"),super.attr(e,t,i)}bbox(){return new Me}targets(){return pt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(e){return this.clear(),typeof e=="function"&&e.call(this,this),this}url(){return"url(#"+this.id()+")"}}Q(Bt,Br),re({Container:{gradient(...o){return this.defs().gradient(...o)}},Defs:{gradient:ve(function(o,e){return this.put(new Bt(o)).update(e)})}}),de(Bt,"Gradient");class Wt extends De{constructor(e,t=e){super(be("pattern",e),t)}attr(e,t,i){return e==="transform"&&(e="patternTransform"),super.attr(e,t,i)}bbox(){return new Me}targets(){return pt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(e){return this.clear(),typeof e=="function"&&e.call(this,this),this}url(){return"url(#"+this.id()+")"}}re({Container:{pattern(...o){return this.defs().pattern(...o)}},Defs:{pattern:ve(function(o,e,t){return this.put(new Wt).update(t).attr({x:0,y:0,width:o,height:e,patternUnits:"userSpaceOnUse"})})}}),de(Wt,"Pattern");let si=class extends je{constructor(o,e=o){super(be("image",o),e)}load(o,e){if(!o)return this;const t=new ce.window.Image;return rt(t,"load",function(i){const s=this.parent(Wt);this.width()===0&&this.height()===0&&this.size(t.width,t.height),s instanceof Wt&&s.width()===0&&s.height()===0&&s.size(this.width(),this.height()),typeof e=="function"&&e.call(this,i)},this),rt(t,"load error",function(){qe(t)}),this.attr("href",t.src=o,Pt)}};var sa;sa=function(o,e,t){return o!=="fill"&&o!=="stroke"||Or.test(e)&&(e=t.root().defs().image(e)),e instanceof si&&(e=t.root().defs().pattern(0,0,i=>{i.add(e)})),e},Us.push(sa),re({Container:{image:ve(function(o,e){return this.put(new si).size(0,0).load(o,e)})}}),de(si,"Image");class ht extends xt{bbox(){let e=-1/0,t=-1/0,i=1/0,s=1/0;return this.forEach(function(a){e=Math.max(a[0],e),t=Math.max(a[1],t),i=Math.min(a[0],i),s=Math.min(a[1],s)}),new Me(i,s,e-i,t-s)}move(e,t){const i=this.bbox();if(e-=i.x,t-=i.y,!isNaN(e)&&!isNaN(t))for(let s=this.length-1;s>=0;s--)this[s]=[this[s][0]+e,this[s][1]+t];return this}parse(e=[0,0]){const t=[];(e=e instanceof Array?Array.prototype.concat.apply([],e):e.trim().split(at).map(parseFloat)).length%2!=0&&e.pop();for(let i=0,s=e.length;i=0;i--)s.width&&(this[i][0]=(this[i][0]-s.x)*e/s.width+s.x),s.height&&(this[i][1]=(this[i][1]-s.y)*t/s.height+s.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const e=[];for(let t=0,i=this.length;t":function(o){return-Math.cos(o*Math.PI)/2+.5},">":function(o){return Math.sin(o*Math.PI/2)},"<":function(o){return 1-Math.cos(o*Math.PI/2)},bezier:function(o,e,t,i){return function(s){return s<0?o>0?e/o*s:t>0?i/t*s:0:s>1?t<1?(1-i)/(1-t)*s+(i-t)/(1-t):o<1?(1-e)/(1-o)*s+(e-o)/(1-o):1:3*s*(1-s)**2*e+3*s**2*(1-s)*i+s**3}},steps:function(o,e="end"){e=e.split("-").reverse()[0];let t=o;return e==="none"?--t:e==="both"&&++t,(i,s=!1)=>{let a=Math.floor(i*o);const r=i*a%1==0;return e!=="start"&&e!=="both"||++a,s&&r&&--a,i>=0&&a<0&&(a=0),i<=1&&a>t&&(a=t),a/t}}};class _i{done(){return!1}}class Bi extends _i{constructor(e=Fr){super(),this.ease=Wr[e]||e}step(e,t,i){return typeof e!="number"?i<1?e:t:e+(t-e)*this.ease(i)}}class ri extends _i{constructor(e){super(),this.stepper=e}done(e){return e.done}step(e,t,i,s){return this.stepper(e,t,i,s)}}function aa(){const o=(this._duration||500)/1e3,e=this._overshoot||0,t=Math.PI,i=Math.log(e/100+1e-10),s=-i/Math.sqrt(t*t+i*i),a=3.9/(s*o);this.d=2*s*a,this.k=a*a}Q(class extends ri{constructor(o=500,e=0){super(),this.duration(o).overshoot(e)}step(o,e,t,i){if(typeof o=="string")return o;if(i.done=t===1/0,t===1/0)return e;if(t===0)return o;t>100&&(t=16),t/=1e3;const s=i.velocity||0,a=-this.d*s-this.k*(o-e),r=o+s*t+a*t*t/2;return i.velocity=s+a*t,i.done=Math.abs(e-r)+Math.abs(s)<.002,i.done?e:r}},{duration:Rt("_duration",aa),overshoot:Rt("_overshoot",aa)}),Q(class extends ri{constructor(o=.1,e=.01,t=0,i=1e3){super(),this.p(o).i(e).d(t).windup(i)}step(o,e,t,i){if(typeof o=="string")return o;if(i.done=t===1/0,t===1/0)return e;if(t===0)return o;const s=e-o;let a=(i.integral||0)+s*t;const r=(s-(i.error||0))/t,n=this._windup;return n!==!1&&(a=Math.max(-n,Math.min(a,n))),i.error=s,i.integral=a,i.done=Math.abs(s)<.001,i.done?e:o+(this.P*s+this.I*a+this.D*r)}},{windup:Rt("_windup"),p:Rt("P"),i:Rt("I"),d:Rt("D")});const jr={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Wi={M:function(o,e,t){return e.x=t.x=o[0],e.y=t.y=o[1],["M",e.x,e.y]},L:function(o,e){return e.x=o[0],e.y=o[1],["L",o[0],o[1]]},H:function(o,e){return e.x=o[0],["H",o[0]]},V:function(o,e){return e.y=o[0],["V",o[0]]},C:function(o,e){return e.x=o[4],e.y=o[5],["C",o[0],o[1],o[2],o[3],o[4],o[5]]},S:function(o,e){return e.x=o[2],e.y=o[3],["S",o[0],o[1],o[2],o[3]]},Q:function(o,e){return e.x=o[2],e.y=o[3],["Q",o[0],o[1],o[2],o[3]]},T:function(o,e){return e.x=o[0],e.y=o[1],["T",o[0],o[1]]},Z:function(o,e,t){return e.x=t.x,e.y=t.y,["Z"]},A:function(o,e){return e.x=o[5],e.y=o[6],["A",o[0],o[1],o[2],o[3],o[4],o[5],o[6]]}},ji="mlhvqtcsaz".split("");for(let o=0,e=ji.length;o=0;a--)s=this[a][0],s==="M"||s==="L"||s==="T"?(this[a][1]+=e,this[a][2]+=t):s==="H"?this[a][1]+=e:s==="V"?this[a][1]+=t:s==="C"||s==="S"||s==="Q"?(this[a][1]+=e,this[a][2]+=t,this[a][3]+=e,this[a][4]+=t,s==="C"&&(this[a][5]+=e,this[a][6]+=t)):s==="A"&&(this[a][6]+=e,this[a][7]+=t);return this}parse(e="M0 0"){return Array.isArray(e)&&(e=Array.prototype.concat.apply([],e).toString()),function(t,i=!0){let s=0,a="";const r={segment:[],inNumber:!1,number:"",lastToken:"",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:i,p0:new fe,p:new fe};for(;r.lastToken=a,a=t.charAt(s++);)if(r.inSegment||!Gr(r,a))if(a!==".")if(isNaN(parseInt(a)))if(qr.has(a))r.inNumber&&bt(r,!1);else if(a!=="-"&&a!=="+")if(a.toUpperCase()!=="E"){if(zi.test(a)){if(r.inNumber)bt(r,!1);else{if(!Gi(r))throw new Error("parser Error");Vi(r)}--s}}else r.number+=a,r.hasExponent=!0;else{if(r.inNumber&&!Ur(r)){bt(r,!1),--s;continue}r.number+=a,r.inNumber=!0}else{if(r.number==="0"||Vr(r)){r.inNumber=!0,r.number=a,bt(r,!0);continue}r.inNumber=!0,r.number+=a}else{if(r.pointSeen||r.hasExponent){bt(r,!1),--s;continue}r.inNumber=!0,r.pointSeen=!0,r.number+=a}return r.inNumber&&bt(r,!1),r.inSegment&&Gi(r)&&Vi(r),r.segments}(e)}size(e,t){const i=this.bbox();let s,a;for(i.width=i.width===0?1:i.width,i.height=i.height===0?1:i.height,s=this.length-1;s>=0;s--)a=this[s][0],a==="M"||a==="L"||a==="T"?(this[s][1]=(this[s][1]-i.x)*e/i.width+i.x,this[s][2]=(this[s][2]-i.y)*t/i.height+i.y):a==="H"?this[s][1]=(this[s][1]-i.x)*e/i.width+i.x:a==="V"?this[s][1]=(this[s][1]-i.y)*t/i.height+i.y:a==="C"||a==="S"||a==="Q"?(this[s][1]=(this[s][1]-i.x)*e/i.width+i.x,this[s][2]=(this[s][2]-i.y)*t/i.height+i.y,this[s][3]=(this[s][3]-i.x)*e/i.width+i.x,this[s][4]=(this[s][4]-i.y)*t/i.height+i.y,a==="C"&&(this[s][5]=(this[s][5]-i.x)*e/i.width+i.x,this[s][6]=(this[s][6]-i.y)*t/i.height+i.y)):a==="A"&&(this[s][1]=this[s][1]*e/i.width,this[s][2]=this[s][2]*t/i.height,this[s][6]=(this[s][6]-i.x)*e/i.width+i.x,this[s][7]=(this[s][7]-i.y)*t/i.height+i.y);return this}toString(){return function(e){let t="";for(let i=0,s=e.length;i{const e=typeof o;return e==="number"?ne:e==="string"?xe.isColor(o)?xe:at.test(o)?zi.test(o)?Ke:xt:Fs.test(o)?ne:Ui:qi.indexOf(o.constructor)>-1?o.constructor:Array.isArray(o)?xt:e==="object"?Gt:Ui};class vt{constructor(e){this._stepper=e||new Bi("-"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(e){return this._morphObj.morph(this._from,this._to,e,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce(function(e,t){return e&&t},!0)}from(e){return e==null?this._from:(this._from=this._set(e),this)}stepper(e){return e==null?this._stepper:(this._stepper=e,this)}to(e){return e==null?this._to:(this._to=this._set(e),this)}type(e){return e==null?this._type:(this._type=e,this)}_set(e){this._type||this.type(ra(e));let t=new this._type(e);return this._type===xe&&(t=this._to?t[this._to[4]]():this._from?t[this._from[4]]():t),this._type===Gt&&(t=this._to?t.align(this._to):this._from?t.align(this._from):t),t=t.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(t.length)).map(Object).map(function(i){return i.done=!0,i}),t}}class Ui{constructor(...e){this.init(...e)}init(e){return e=Array.isArray(e)?e[0]:e,this.value=e,this}toArray(){return[this.value]}valueOf(){return this.value}}class jt{constructor(...e){this.init(...e)}init(e){return Array.isArray(e)&&(e={scaleX:e[0],scaleY:e[1],shear:e[2],rotate:e[3],translateX:e[4],translateY:e[5],originX:e[6],originY:e[7]}),Object.assign(this,jt.defaults,e),this}toArray(){const e=this;return[e.scaleX,e.scaleY,e.shear,e.rotate,e.translateX,e.translateY,e.originX,e.originY]}}jt.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const Zr=(o,e)=>o[0]e[0]?1:0;class Gt{constructor(...e){this.init(...e)}align(e){const t=this.values;for(let i=0,s=t.length;ii.concat(s),[]),this}toArray(){return this.values}valueOf(){const e={},t=this.values;for(;t.length;){const i=t.shift(),s=t.shift(),a=t.shift(),r=t.splice(0,a);e[i]=new s(r)}return e}}const qi=[Ui,jt,Gt];class It extends je{constructor(e,t=e){super(be("path",e),t)}array(){return this._array||(this._array=new Ke(this.attr("d")))}clear(){return delete this._array,this}height(e){return e==null?this.bbox().height:this.size(this.bbox().width,e)}move(e,t){return this.attr("d",this.array().move(e,t))}plot(e){return e==null?this.array():this.clear().attr("d",typeof e=="string"?e:this._array=new Ke(e))}size(e,t){const i=Mt(this,e,t);return this.attr("d",this.array().size(i.width,i.height))}width(e){return e==null?this.bbox().width:this.size(e,this.bbox().height)}x(e){return e==null?this.bbox().x:this.move(e,this.bbox().y)}y(e){return e==null?this.bbox().y:this.move(this.bbox().x,e)}}It.prototype.MorphArray=Ke,re({Container:{path:ve(function(o){return this.put(new It).plot(o||new Ke)})}}),de(It,"Path");var na=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ht(this.attr("points")))},clear:function(){return delete this._array,this},move:function(o,e){return this.attr("points",this.array().move(o,e))},plot:function(o){return o==null?this.array():this.clear().attr("points",typeof o=="string"?o:this._array=new ht(o))},size:function(o,e){const t=Mt(this,o,e);return this.attr("points",this.array().size(t.width,t.height))}});class yt extends je{constructor(e,t=e){super(be("polygon",e),t)}}re({Container:{polygon:ve(function(o){return this.put(new yt).plot(o||new ht)})}}),Q(yt,Ni),Q(yt,na),de(yt,"Polygon");class wt extends je{constructor(e,t=e){super(be("polyline",e),t)}}re({Container:{polyline:ve(function(o){return this.put(new wt).plot(o||new ht)})}}),Q(wt,Ni),Q(wt,na),de(wt,"Polyline");class ni extends je{constructor(e,t=e){super(be("rect",e),t)}}Q(ni,{rx:Yi,ry:Di}),re({Container:{rect:ve(function(o,e){return this.put(new ni).size(o,e)})}}),de(ni,"Rect");class Zi{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(e){const t=e.next!==void 0?e:{value:e,next:null,prev:null};return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._last=t,this._first=t),t}remove(e){e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e===this._last&&(this._last=e.prev),e===this._first&&(this._first=e.next),e.prev=null,e.next=null}shift(){const e=this._first;return e?(this._first=e.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,e.value):null}}const pe={nextDraw:null,frames:new Zi,timeouts:new Zi,immediates:new Zi,timer:()=>ce.window.performance||ce.window.Date,transforms:[],frame(o){const e=pe.frames.push({run:o});return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),e},timeout(o,e){e=e||0;const t=pe.timer().now()+e,i=pe.timeouts.push({run:o,time:t});return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),i},immediate(o){const e=pe.immediates.push(o);return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),e},cancelFrame(o){o!=null&&pe.frames.remove(o)},clearTimeout(o){o!=null&&pe.timeouts.remove(o)},cancelImmediate(o){o!=null&&pe.immediates.remove(o)},_draw(o){let e=null;const t=pe.timeouts.last();for(;(e=pe.timeouts.shift())&&(o>=e.time?e.run():pe.timeouts.push(e),e!==t););let i=null;const s=pe.frames.last();for(;i!==s&&(i=pe.frames.shift());)i.run(o);let a=null;for(;a=pe.immediates.shift();)a();pe.nextDraw=pe.timeouts.first()||pe.frames.first()?ce.window.requestAnimationFrame(pe._draw):null}},$r=function(o){const e=o.start,t=o.runner.duration();return{start:e,duration:t,end:e+t,runner:o.runner}},Jr=function(){const o=ce.window;return(o.performance||o.Date).now()};class oa extends Nt{constructor(e=Jr){super(),this._timeSource=e,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const e=this.getLastRunnerInfo(),t=e?e.runner.duration():0;return(e?e.start:this._time)+t}getEndTimeOfTimeline(){const e=this._runners.map(t=>t.start+t.runner.duration());return Math.max(0,...e)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(e){return this._runners[this._runnerIds.indexOf(e)]||null}pause(){return this._paused=!0,this._continue()}persist(e){return e==null?this._persist:(this._persist=e,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(e){const t=this.speed();if(e==null)return this.speed(-t);const i=Math.abs(t);return this.speed(e?-i:i)}schedule(e,t,i){if(e==null)return this._runners.map($r);let s=0;const a=this.getEndTime();if(t=t||0,i==null||i==="last"||i==="after")s=a;else if(i==="absolute"||i==="start")s=t,t=0;else if(i==="now")s=this._time;else if(i==="relative"){const l=this.getRunnerInfoById(e.id);l&&(s=l.start+t,t=0)}else{if(i!=="with-last")throw new Error('Invalid value for the "when" parameter');{const l=this.getLastRunnerInfo();s=l?l.start:this._time}}e.unschedule(),e.timeline(this);const r=e.persist(),n={persist:r===null?this._persist:r,start:s+t,runner:e};return this._lastRunnerId=e.id,this._runners.push(n),this._runners.sort((l,h)=>l.start-h.start),this._runnerIds=this._runners.map(l=>l.runner.id),this.updateTime()._continue(),this}seek(e){return this.time(this._time+e)}source(e){return e==null?this._timeSource:(this._timeSource=e,this)}speed(e){return e==null?this._speed:(this._speed=e,this)}stop(){return this.time(0),this.pause()}time(e){return e==null?this._time:(this._time=e,this._continue(!0))}unschedule(e){const t=this._runnerIds.indexOf(e.id);return t<0||(this._runners.splice(t,1),this._runnerIds.splice(t,1),e.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(e=!1){return pe.cancelFrame(this._nextFrame),this._nextFrame=null,e?this._stepImmediate():(this._paused||(this._nextFrame=pe.frame(this._step)),this)}_stepFn(e=!1){const t=this._timeSource();let i=t-this._lastSourceTime;e&&(i=0);const s=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=t,e||(this._time+=s,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire("time",this._time);for(let r=this._runners.length;r--;){const n=this._runners[r],l=n.runner;this._time-n.start<=0&&l.reset()}let a=!1;for(let r=0,n=this._runners.length;r0?this._continue():(this.pause(),this.fire("finished")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}re({Element:{timeline:function(o){return o==null?(this._timeline=this._timeline||new oa,this._timeline):(this._timeline=o,this)}}});class Ge extends Nt{constructor(e){super(),this.id=Ge.id++,e=typeof(e=e??Fi)=="function"?new ri(e):e,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration=typeof e=="number"&&e,this._isDeclarative=e instanceof ri,this._stepper=this._isDeclarative?e:new Bi,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new K,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(e,t,i){let s=1,a=!1,r=0;return t=t??Yr,i=i||"last",typeof(e=e??Fi)!="object"||e instanceof _i||(t=e.delay??t,i=e.when??i,a=e.swing||a,s=e.times??s,r=e.wait??r,e=e.duration??Fi),{duration:e,delay:t,swing:a,times:s,wait:r,when:i}}active(e){return e==null?this.enabled:(this.enabled=e,this)}addTransform(e){return this.transforms.lmultiplyO(e),this}after(e){return this.on("finished",e)}animate(e,t,i){const s=Ge.sanitise(e,t,i),a=new Ge(s.duration);return this._timeline&&a.timeline(this._timeline),this._element&&a.element(this._element),a.loop(s).schedule(s.delay,s.when)}clearTransform(){return this.transforms=new K,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter(e=>!e.isTransform))}delay(e){return this.animate(0,e)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(e){return this.queue(null,e)}ease(e){return this._stepper=new Bi(e),this}element(e){return e==null?this._element:(this._element=e,e._prepareRunner(),this)}finish(){return this.step(1/0)}loop(e,t,i){return typeof e=="object"&&(t=e.swing,i=e.wait,e=e.times),this._times=e||1/0,this._swing=t||!1,this._wait=i||0,this._times===!0&&(this._times=1/0),this}loops(e){const t=this._duration+this._wait;if(e==null){const a=Math.floor(this._time/t),r=(this._time-a*t)/this._duration;return Math.min(a+r,this._times)}const i=e%1,s=t*Math.floor(e)+this._duration*i;return this.time(s)}persist(e){return e==null?this._persist:(this._persist=e,this)}position(e){const t=this._time,i=this._duration,s=this._wait,a=this._times,r=this._swing,n=this._reverse;let l;if(e==null){const c=function(g){const p=r*Math.floor(g%(2*(s+i))/(s+i)),f=p&&!n||!p&&n,x=Math.pow(-1,f)*(g%(s+i))/i+f;return Math.max(Math.min(x,1),0)},u=a*(s+i)-s;return l=t<=0?Math.round(c(1e-5)):t=0;this._lastPosition=t;const s=this.duration(),a=this._lastTime<=0&&this._time>0,r=this._lastTime=s;this._lastTime=this._time,a&&this.fire("start",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=s,this._reseted=!1;let l=!1;return(i||n)&&(this._initialise(i),this.transforms=new K,l=this._run(n?e:t),this.fire("step",this)),this.done=this.done||l&&n,r&&this.fire("finished",this),this}time(e){if(e==null)return this._time;const t=e-this._time;return this.step(t),this}timeline(e){return e===void 0?this._timeline:(this._timeline=e,this)}unschedule(){const e=this.timeline();return e&&e.unschedule(this),this}_initialise(e){if(e||this._isDeclarative)for(let t=0,i=this._queue.length;to.lmultiplyO(e),ha=o=>o.transforms;function Kr(){const o=this._transformationRunners.runners.map(ha).reduce(la,new K);this.transform(o),this._transformationRunners.merge(),this._transformationRunners.length()===1&&(this._frameId=null)}class Qr{constructor(){this.runners=[],this.ids=[]}add(e){if(this.runners.includes(e))return;const t=e.id+1;return this.runners.push(e),this.ids.push(t),this}clearBefore(e){const t=this.ids.indexOf(e+1)||1;return this.ids.splice(0,t,0),this.runners.splice(0,t,new oi).forEach(i=>i.clearTransformsFromQueue()),this}edit(e,t){const i=this.ids.indexOf(e+1);return this.ids.splice(i,1,e+1),this.runners.splice(i,1,t),this}getByID(e){return this.runners[this.ids.indexOf(e+1)]}length(){return this.ids.length}merge(){let e=null;for(let t=0;te.id<=o.id).map(ha).reduce(la,new K)},_addRunner(o){this._transformationRunners.add(o),pe.cancelImmediate(this._frameId),this._frameId=pe.immediate(Kr.bind(this))},_prepareRunner(){this._frameId==null&&(this._transformationRunners=new Qr().add(new oi(new K(this))))}}}),Q(Ge,{attr(o,e){return this.styleAttr("attr",o,e)},css(o,e){return this.styleAttr("css",o,e)},styleAttr(o,e,t){if(typeof e=="string")return this.styleAttr(o,{[e]:t});let i=e;if(this._tryRetarget(o,i))return this;let s=new vt(this._stepper).to(i),a=Object.keys(i);return this.queue(function(){s=s.from(this.element()[o](a))},function(r){return this.element()[o](s.at(r).valueOf()),s.done()},function(r){const n=Object.keys(r),l=(h=a,n.filter(c=>!h.includes(c)));var h;if(l.length){const c=this.element()[o](l),u=new Gt(s.from()).valueOf();Object.assign(u,c),s.from(u)}const d=new Gt(s.to()).valueOf();Object.assign(d,r),s.to(d),a=n,i=r}),this._rememberMorpher(o,s),this},zoom(o,e){if(this._tryRetarget("zoom",o,e))return this;let t=new vt(this._stepper).to(new ne(o));return this.queue(function(){t=t.from(this.element().zoom())},function(i){return this.element().zoom(t.at(i),e),t.done()},function(i,s){e=s,t.to(i)}),this._rememberMorpher("zoom",t),this},transform(o,e,t){if(e=o.relative||e,this._isDeclarative&&!e&&this._tryRetarget("transform",o))return this;const i=K.isMatrixLike(o);t=o.affine!=null?o.affine:t??!i;const s=new vt(this._stepper).type(t?jt:K);let a,r,n,l,h;return this.queue(function(){r=r||this.element(),a=a||Mi(o,r),h=new K(e?void 0:r),r._addRunner(this),e||r._clearTransformRunnersBefore(this)},function(d){e||this.clearTransform();const{x:c,y:u}=new fe(a).transform(r._currentTransform(this));let g=new K({...o,origin:[c,u]}),p=this._isDeclarative&&n?n:h;if(t){g=g.decompose(c,u),p=p.decompose(c,u);const x=g.rotate,m=p.rotate,b=[x-360,x,x+360],w=b.map(T=>Math.abs(T-m)),S=Math.min(...w),A=w.indexOf(S);g.rotate=b[A]}e&&(i||(g.rotate=o.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(d);return l=f.rotate,n=new K(f),this.addTransform(n),r._addRunner(this),s.done()},function(d){(d.origin||"center").toString()!==(o.origin||"center").toString()&&(a=Mi(d,r)),o={...d,origin:a}},!0),this._isDeclarative&&this._rememberMorpher("transform",s),this},x(o){return this._queueNumber("x",o)},y(o){return this._queueNumber("y",o)},ax(o){return this._queueNumber("ax",o)},ay(o){return this._queueNumber("ay",o)},dx(o=0){return this._queueNumberDelta("x",o)},dy(o=0){return this._queueNumberDelta("y",o)},dmove(o,e){return this.dx(o).dy(e)},_queueNumberDelta(o,e){if(e=new ne(e),this._tryRetarget(o,e))return this;const t=new vt(this._stepper).to(e);let i=null;return this.queue(function(){i=this.element()[o](),t.from(i),t.to(i+e)},function(s){return this.element()[o](t.at(s)),t.done()},function(s){t.to(i+new ne(s))}),this._rememberMorpher(o,t),this},_queueObject(o,e){if(this._tryRetarget(o,e))return this;const t=new vt(this._stepper).to(e);return this.queue(function(){t.from(this.element()[o]())},function(i){return this.element()[o](t.at(i)),t.done()}),this._rememberMorpher(o,t),this},_queueNumber(o,e){return this._queueObject(o,new ne(e))},cx(o){return this._queueNumber("cx",o)},cy(o){return this._queueNumber("cy",o)},move(o,e){return this.x(o).y(e)},amove(o,e){return this.ax(o).ay(e)},center(o,e){return this.cx(o).cy(e)},size(o,e){let t;return o&&e||(t=this._element.bbox()),o||(o=t.width/t.height*e),e||(e=t.height/t.width*o),this.width(o).height(e)},width(o){return this._queueNumber("width",o)},height(o){return this._queueNumber("height",o)},plot(o,e,t,i){if(arguments.length===4)return this.plot([o,e,t,i]);if(this._tryRetarget("plot",o))return this;const s=new vt(this._stepper).type(this._element.MorphArray).to(o);return this.queue(function(){s.from(this._element.array())},function(a){return this._element.plot(s.at(a)),s.done()}),this._rememberMorpher("plot",s),this},leading(o){return this._queueNumber("leading",o)},viewbox(o,e,t,i){return this._queueObject("viewbox",new Me(o,e,t,i))},update(o){return typeof o!="object"?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(o.opacity!=null&&this.attr("stop-opacity",o.opacity),o.color!=null&&this.attr("stop-color",o.color),o.offset!=null&&this.attr("offset",o.offset),this)}}),Q(Ge,{rx:Yi,ry:Di,from:ta,to:ia}),de(Ge,"Runner");class $i extends De{constructor(e,t=e){super(be("svg",e),t),this.namespace()}defs(){return this.isRoot()?Ue(this.node.querySelector("defs"))||this.put(new ti):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof ce.window.SVGElement)&&this.node.parentNode.nodeName!=="#document-fragment"}namespace(){return this.isRoot()?this.attr({xmlns:Ti,version:"1.1"}).attr("xmlns:xlink",Pt,Ei):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr("xmlns:xlink",null,Ei).attr("xmlns:svgjs",null,Ei)}root(){return this.isRoot()?this:super.root()}}re({Container:{nested:ve(function(){return this.put(new $i)})}}),de($i,"Svg",!0);let Ji=class extends De{constructor(o,e=o){super(be("symbol",o),e)}};re({Container:{symbol:ve(function(){return this.put(new Ji)})}}),de(Ji,"Symbol");var ca=Object.freeze({__proto__:null,amove:function(o,e){return this.ax(o).ay(e)},ax:function(o){return this.attr("x",o)},ay:function(o){return this.attr("y",o)},build:function(o){return this._build=!!o,this},center:function(o,e,t=this.bbox()){return this.cx(o,t).cy(e,t)},cx:function(o,e=this.bbox()){return o==null?e.cx:this.attr("x",this.attr("x")+o-e.cx)},cy:function(o,e=this.bbox()){return o==null?e.cy:this.attr("y",this.attr("y")+o-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(o,e,t=this.bbox()){return this.x(o,t).y(e,t)},plain:function(o){return this._build===!1&&this.clear(),this.node.appendChild(ce.document.createTextNode(o)),this},x:function(o,e=this.bbox()){return o==null?e.x:this.attr("x",this.attr("x")+o-e.x)},y:function(o,e=this.bbox()){return o==null?e.y:this.attr("y",this.attr("y")+o-e.y)}});class Qe extends je{constructor(e,t=e){super(be("text",e),t),this.dom.leading=this.dom.leading??new ne(1.3),this._rebuild=!0,this._build=!1}leading(e){return e==null?this.dom.leading:(this.dom.leading=new ne(e),this.rebuild())}rebuild(e){if(typeof e=="boolean"&&(this._rebuild=e),this._rebuild){const t=this;let i=0;const s=this.dom.leading;this.each(function(a){if(Pi(this.node))return;const r=ce.window.getComputedStyle(this.node).getPropertyValue("font-size"),n=s*new ne(r);this.dom.newLined&&(this.attr("x",t.attr("x")),this.text()===` -`?i+=n:(this.attr("dy",a?n+i:0),i=0))}),this.fire("rebuild")}return this}setData(e){return this.dom=e,this.dom.leading=new ne(e.leading||1.3),this}writeDataToDom(){return zs(this,this.dom,{leading:1.3}),this}text(e){if(e===void 0){const t=this.node.childNodes;let i=0;e="";for(let s=0,a=t.length;s{let i;try{i=t.node instanceof Yt().SVGSVGElement?new Me(t.attr(["x","y","width","height"])):t.bbox()}catch{return}const s=new K(t),a=s.translate(o,e).transform(s.inverse()),r=new fe(i.x,i.y).transform(a);t.move(r.x,r.y)}),this},dx:function(o){return this.dmove(o,0)},dy:function(o){return this.dmove(0,o)},height:function(o,e=this.bbox()){return o==null?e.height:this.size(e.width,o,e)},move:function(o=0,e=0,t=this.bbox()){const i=o-t.x,s=e-t.y;return this.dmove(i,s)},size:function(o,e,t=this.bbox()){const i=Mt(this,o,e,t),s=i.width/t.width,a=i.height/t.height;return this.children().forEach(r=>{const n=new fe(t).transform(new K(r).inverse());r.scale(s,a,n.x,n.y)}),this},width:function(o,e=this.bbox()){return o==null?e.width:this.size(o,e.height,e)},x:function(o,e=this.bbox()){return o==null?e.x:this.move(o,e.y,e)},y:function(o,e=this.bbox()){return o==null?e.y:this.move(e.x,o,e)}});class ct extends De{constructor(e,t=e){super(be("g",e),t)}}Q(ct,ua),re({Container:{group:ve(function(){return this.put(new ct)})}}),de(ct,"G");class hi extends De{constructor(e,t=e){super(be("a",e),t)}target(e){return this.attr("target",e)}to(e){return this.attr("href",e,Pt)}}Q(hi,ua),re({Container:{link:ve(function(o){return this.put(new hi).to(o)})},Element:{unlink(){const o=this.linker();if(!o)return this;const e=o.parent();if(!e)return this.remove();const t=e.index(o);return e.add(this,t),o.remove(),this},linkTo(o){let e=this.linker();return e||(e=new hi,this.wrap(e)),typeof o=="function"?o.call(e,e):e.to(o),this},linker(){const o=this.parent();return o&&o.node.nodeName.toLowerCase()==="a"?o:null}}}),de(hi,"A");class es extends De{constructor(e,t=e){super(be("mask",e),t)}remove(){return this.targets().forEach(function(e){e.unmask()}),super.remove()}targets(){return pt("svg [mask*="+this.id()+"]")}}re({Container:{mask:ve(function(){return this.defs().put(new es)})},Element:{masker(){return this.reference("mask")},maskWith(o){const e=o instanceof es?o:this.parent().mask().add(o);return this.attr("mask","url(#"+e.id()+")")},unmask(){return this.attr("mask",null)}}}),de(es,"Mask");class ga extends Ee{constructor(e,t=e){super(be("stop",e),t)}update(e){return(typeof e=="number"||e instanceof ne)&&(e={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),e.opacity!=null&&this.attr("stop-opacity",e.opacity),e.color!=null&&this.attr("stop-color",e.color),e.offset!=null&&this.attr("offset",new ne(e.offset)),this}}re({Gradient:{stop:function(o,e,t){return this.put(new ga).update(o,e,t)}}}),de(ga,"Stop");class ts extends Ee{constructor(e,t=e){super(be("style",e),t)}addText(e=""){return this.node.textContent+=e,this}font(e,t,i={}){return this.rule("@font-face",{fontFamily:e,src:t,...i})}rule(e,t){return this.addText(function(i,s){if(!i)return"";if(!s)return i;let a=i+"{";for(const r in s)a+=r.replace(/([A-Z])/g,function(n,l){return"-"+l.toLowerCase()})+":"+s[r]+";";return a+="}",a}(e,t))}}re("Dom",{style(o,e){return this.put(new ts).rule(o,e)},fontface(o,e,t){return this.put(new ts).font(o,e,t)}}),de(ts,"Style");class is extends Qe{constructor(e,t=e){super(be("textPath",e),t)}array(){const e=this.track();return e?e.array():null}plot(e){const t=this.track();let i=null;return t&&(i=t.plot(e)),e==null?i:this}track(){return this.reference("href")}}re({Container:{textPath:ve(function(o,e){return o instanceof Qe||(o=this.text(o)),o.path(e)})},Text:{path:ve(function(o,e=!0){const t=new is;let i;if(o instanceof It||(o=this.defs().path(o)),t.attr("href","#"+o,Pt),e)for(;i=this.node.firstChild;)t.node.appendChild(i);return this.put(t)}),textPath(){return this.findOne("textPath")}},Path:{text:ve(function(o){return o instanceof Qe||(o=new Qe().addTo(this.parent()).text(o)),o.path(this)}),targets(){return pt("svg textPath").filter(o=>(o.attr("href")||"").includes(this.id()))}}}),is.prototype.MorphArray=Ke,de(is,"TextPath");class fa extends je{constructor(e,t=e){super(be("use",e),t)}use(e,t){return this.attr("href",(t||"")+"#"+e,Pt)}}re({Container:{use:ve(function(o,e){return this.put(new fa).use(o,e)})}}),de(fa,"Use");const en=Ye;Q([$i,Ji,si,Wt,ai],_e("viewbox")),Q([mt,wt,yt,It],_e("marker")),Q(Qe,_e("Text")),Q(It,_e("Path")),Q(ti,_e("Defs")),Q([Qe,li],_e("Tspan")),Q([ni,ii,Bt,Ge],_e("radius")),Q(Nt,_e("EventTarget")),Q(lt,_e("Dom")),Q(Ee,_e("Element")),Q(je,_e("Shape")),Q([De,ea],_e("Container")),Q(Bt,_e("Gradient")),Q(Ge,_e("Runner")),ft.extend([...new Set(ut)]),function(o=[]){qi.push(...[].concat(o))}([ne,xe,Me,K,xt,ht,Ke,fe]),Q(qi,{to(o){return new vt().type(this.constructor).from(this.toArray()).to(o)},fromArray(o){return this.init(o),this},toConsumable(){return this.toArray()},morph(o,e,t,i,s){return this.fromArray(o.map(function(a,r){return i.step(a,e[r],t,s[r],s)}))}});class we extends Ee{constructor(e){super(be("filter",e),e),this.$source="SourceGraphic",this.$sourceAlpha="SourceAlpha",this.$background="BackgroundImage",this.$backgroundAlpha="BackgroundAlpha",this.$fill="FillPaint",this.$stroke="StrokePaint",this.$autoSetIn=!0}put(e,t){return!(e=super.put(e,t)).attr("in")&&this.$autoSetIn&&e.attr("in",this.$source),e.attr("result")||e.attr("result",e.id()),e}remove(){return this.targets().each("unfilter"),super.remove()}targets(){return pt('svg [filter*="'+this.id()+'"]')}toString(){return"url(#"+this.id()+")"}}class ss extends Ee{constructor(e,t){super(e,t),this.result(this.id())}in(e){if(e==null){const t=this.attr("in");return this.parent()&&this.parent().find(`[result="${t}"]`)[0]||t}return this.attr("in",e)}result(e){return this.attr("result",e)}toString(){return this.result()}}const Ze=o=>function(...e){for(let t=o.length;t--;)e[t]!=null&&this.attr(o[t],e[t])},tn={blend:Ze(["in","in2","mode"]),colorMatrix:Ze(["type","values"]),composite:Ze(["in","in2","operator"]),convolveMatrix:function(o){o=new xt(o).toString(),this.attr({order:Math.sqrt(o.split(" ").length),kernelMatrix:o})},diffuseLighting:Ze(["surfaceScale","lightingColor","diffuseConstant","kernelUnitLength"]),displacementMap:Ze(["in","in2","scale","xChannelSelector","yChannelSelector"]),dropShadow:Ze(["in","dx","dy","stdDeviation"]),flood:Ze(["flood-color","flood-opacity"]),gaussianBlur:function(o=0,e=o){this.attr("stdDeviation",o+" "+e)},image:function(o){this.attr("href",o,Pt)},morphology:Ze(["operator","radius"]),offset:Ze(["dx","dy"]),specularLighting:Ze(["surfaceScale","lightingColor","diffuseConstant","specularExponent","kernelUnitLength"]),tile:Ze([]),turbulence:Ze(["baseFrequency","numOctaves","seed","stitchTiles","type"])};["blend","colorMatrix","componentTransfer","composite","convolveMatrix","diffuseLighting","displacementMap","dropShadow","flood","gaussianBlur","image","merge","morphology","offset","specularLighting","tile","turbulence"].forEach(o=>{const e=Lt(o),t=tn[o];we[e+"Effect"]=class extends ss{constructor(i){super(be("fe"+e,i),i)}update(i){return t.apply(this,i),this}},we.prototype[o]=ve(function(i,...s){const a=new we[e+"Effect"];return i==null?this.put(a):(typeof i=="function"?i.call(a,a):s.unshift(i),this.put(a).update(s))})}),Q(we,{merge(o){const e=this.put(new we.MergeEffect);return typeof o=="function"?(o.call(e,e),e):((o instanceof Array?o:[...arguments]).forEach(t=>{t instanceof we.MergeNode?e.put(t):e.mergeNode(t)}),e)},componentTransfer(o={}){const e=this.put(new we.ComponentTransferEffect);if(typeof o=="function")return o.call(e,e),e;o.r||o.g||o.b||o.a||(o={r:o,g:o,b:o,a:o});for(const t in o)e.add(new we["Func"+t.toUpperCase()](o[t]));return e}}),["distantLight","pointLight","spotLight","mergeNode","FuncR","FuncG","FuncB","FuncA"].forEach(o=>{const e=Lt(o);we[e]=class extends ss{constructor(t){super(be("fe"+e,t),t)}}}),["funcR","funcG","funcB","funcA"].forEach(function(o){const e=we[Lt(o)],t=ve(function(){return this.put(new e)});we.ComponentTransferEffect.prototype[o]=t}),["distantLight","pointLight","spotLight"].forEach(o=>{const e=we[Lt(o)],t=ve(function(){return this.put(new e)});we.DiffuseLightingEffect.prototype[o]=t,we.SpecularLightingEffect.prototype[o]=t}),Q(we.MergeEffect,{mergeNode(o){return this.put(new we.MergeNode).attr("in",o)}}),Q(ti,{filter:function(o){const e=this.put(new we);return typeof o=="function"&&o.call(e,e),e}}),Q(De,{filter:function(o){return this.defs().filter(o)}}),Q(Ee,{filterWith:function(o){const e=o instanceof we?o:this.defs().filter(o);return this.attr("filter",e)},unfilter:function(o){return this.attr("filter",null)},filterer(){return this.reference("filter")}}),Q(ss,{blend:function(o,e){return this.parent()&&this.parent().blend(this,o,e)},colorMatrix:function(o,e){return this.parent()&&this.parent().colorMatrix(o,e).in(this)},componentTransfer:function(o){return this.parent()&&this.parent().componentTransfer(o).in(this)},composite:function(o,e){return this.parent()&&this.parent().composite(this,o,e)},convolveMatrix:function(o){return this.parent()&&this.parent().convolveMatrix(o).in(this)},diffuseLighting:function(o,e,t,i){return this.parent()&&this.parent().diffuseLighting(o,t,i).in(this)},displacementMap:function(o,e,t,i){return this.parent()&&this.parent().displacementMap(this,o,e,t,i)},dropShadow:function(o,e,t){return this.parent()&&this.parent().dropShadow(this,o,e,t).in(this)},flood:function(o,e){return this.parent()&&this.parent().flood(o,e)},gaussianBlur:function(o,e){return this.parent()&&this.parent().gaussianBlur(o,e).in(this)},image:function(o){return this.parent()&&this.parent().image(o)},merge:function(o){return o=o instanceof Array?o:[...o],this.parent()&&this.parent().merge(this,...o)},morphology:function(o,e){return this.parent()&&this.parent().morphology(o,e).in(this)},offset:function(o,e){return this.parent()&&this.parent().offset(o,e).in(this)},specularLighting:function(o,e,t,i,s){return this.parent()&&this.parent().specularLighting(o,t,i,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(o,e,t,i,s){return this.parent()&&this.parent().turbulence(o,e,t,i,s).in(this)}}),Q(we.MergeEffect,{in:function(o){return o instanceof we.MergeNode?this.add(o,0):this.add(new we.MergeNode().in(o),0),this}}),Q([we.CompositeEffect,we.BlendEffect,we.DisplacementMapEffect],{in2:function(o){if(o==null){const e=this.attr("in2");return this.parent()&&this.parent().find(`[result="${e}"]`)[0]||e}return this.attr("in2",o)}}),we.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Re=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getDefaultFilter",value:function(e,t){var i=this.w;e.unfilter(!0),new we().size("120%","180%","-5%","-40%"),i.config.chart.dropShadow.enabled&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"applyFilter",value:function(e,t,i){var s,a=this,r=this.w;if(e.unfilter(!0),i!=="none"){var n,l,h=r.config.chart.dropShadow,d=i==="lighten"?2:.3;e.filterWith(function(c){c.colorMatrix({type:"matrix",values:` - `.concat(d,` 0 0 0 0 - 0 `).concat(d,` 0 0 0 - 0 0 `).concat(d,` 0 0 - 0 0 0 1 0 - `),in:"SourceGraphic",result:"brightness"}),h.enabled&&a.addShadow(c,t,h,"brightness")}),!h.noUserSpaceOnUse&&((n=e.filterer())===null||n===void 0||(l=n.node)===null||l===void 0||l.setAttribute("filterUnits","userSpaceOnUse")),this._scaleFilterSize((s=e.filterer())===null||s===void 0?void 0:s.node)}else this.getDefaultFilter(e,t)}},{key:"addShadow",value:function(e,t,i,s){var a,r=this.w,n=i.blur,l=i.top,h=i.left,d=i.color,c=i.opacity;if(d=Array.isArray(d)?d[t]:d,((a=r.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.length)>0&&r.config.chart.dropShadow.enabledOnSeries.indexOf(t)===-1)return e;e.offset({in:s,dx:h,dy:l,result:"offset"}),e.gaussianBlur({in:"offset",stdDeviation:n,result:"blur"}),e.flood({"flood-color":d,"flood-opacity":c,result:"flood"}),e.composite({in:"flood",in2:"blur",operator:"in",result:"shadow"}),e.merge(["shadow",s])}},{key:"dropShadow",value:function(e,t){var i,s,a,r=this,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=this.w;return e.unfilter(!0),R.isMsEdge()&&l.config.chart.type==="radialBar"||((i=l.config.chart.dropShadow.enabledOnSeries)===null||i===void 0?void 0:i.length)>0&&((a=l.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.indexOf(n))===-1||(e.filterWith(function(h){r.addShadow(h,n,t,"SourceGraphic")}),t.noUserSpaceOnUse||e.filterer().node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize((s=e.filterer())===null||s===void 0?void 0:s.node)),e}},{key:"setSelectionFilter",value:function(e,t,i){var s=this.w;if(s.globals.selectedDataPoints[t]!==void 0&&s.globals.selectedDataPoints[t].indexOf(i)>-1){e.node.setAttribute("selected",!0);var a=s.config.states.active.filter;a!=="none"&&this.applyFilter(e,t,a.type)}}},{key:"_scaleFilterSize",value:function(e){e&&function(t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),o}(),W=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"roundPathCorners",value:function(e,t){function i(M,O,I){var F=O.x-M.x,G=O.y-M.y,N=Math.sqrt(F*F+G*G);return s(M,O,Math.min(1,I/N))}function s(M,O,I){return{x:M.x+(O.x-M.x)*I,y:M.y+(O.y-M.y)*I}}function a(M,O){M.length>2&&(M[M.length-2]=O.x,M[M.length-1]=O.y)}function r(M){return{x:parseFloat(M[M.length-2]),y:parseFloat(M[M.length-1])}}e.indexOf("NaN")>-1&&(e="");var n=e.split(/[,\s]/).reduce(function(M,O){var I=O.match("([a-zA-Z])(.+)");return I?(M.push(I[1]),M.push(I[2])):M.push(O),M},[]).reduce(function(M,O){return parseFloat(O)==O&&M.length?M[M.length-1].push(O):M.push([O]),M},[]),l=[];if(n.length>1){var h=r(n[0]),d=null;n[n.length-1][0]=="Z"&&n[0].length>2&&(d=["L",h.x,h.y],n[n.length-1]=d),l.push(n[0]);for(var c=1;c2&&g[0]=="L"&&p.length>2&&p[0]=="L"){var f,x,m=r(u),b=r(g),w=r(p);f=i(b,m,t),x=i(b,w,t),a(g,f),g.origPoint=b,l.push(g);var S=s(f,b,.5),A=s(b,x,.5),T=["C",S.x,S.y,A.x,A.y,x.x,x.y];T.origPoint=b,l.push(T)}else l.push(g)}if(d){var k=r(l[l.length-1]);l.push(["Z"]),a(l[0],k)}}else l=n;return l.reduce(function(M,O){return M+O.join(" ")+" "},"")}},{key:"drawLine",value:function(e,t,i,s){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#a8a8a8",r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:e,y1:t,x2:i,y2:s,stroke:a,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":l})}},{key:"drawRect",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"#fefefe",n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:1,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,h=arguments.length>8&&arguments[8]!==void 0?arguments[8]:null,d=arguments.length>9&&arguments[9]!==void 0?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:e,y:t,width:i>0?i:0,height:s>0?s:0,rx:a,ry:a,opacity:n,"stroke-width":l!==null?l:0,stroke:h!==null?h:"none","stroke-dasharray":d}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"#e1e1e1",i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(e).attr({fill:s,stroke:t,"stroke-width":i})}},{key:"drawCircle",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e<0&&(e=0);var i=this.w.globals.dom.Paper.circle(2*e);return t!==null&&i.attr(t),i}},{key:"drawPath",value:function(e){var t=e.d,i=t===void 0?"":t,s=e.stroke,a=s===void 0?"#a8a8a8":s,r=e.strokeWidth,n=r===void 0?1:r,l=e.fill,h=e.fillOpacity,d=h===void 0?1:h,c=e.strokeOpacity,u=c===void 0?1:c,g=e.classes,p=e.strokeLinecap,f=p===void 0?null:p,x=e.strokeDashArray,m=x===void 0?0:x,b=this.w;return f===null&&(f=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:l,"fill-opacity":d,stroke:a,"stroke-opacity":u,"stroke-linecap":f,"stroke-width":n,"stroke-dasharray":m,class:g})}},{key:"group",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w.globals.dom.Paper.group();return e!==null&&t.attr(e),t}},{key:"move",value:function(e,t){var i=["M",e,t].join(" ");return i}},{key:"line",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=null;return i===null?s=[" L",e,t].join(" "):i==="H"?s=[" H",e].join(" "):i==="V"&&(s=[" V",t].join(" ")),s}},{key:"curve",value:function(e,t,i,s,a,r){var n=["C",e,t,i,s,a,r].join(" ");return n}},{key:"quadraticCurve",value:function(e,t,i,s){return["Q",e,t,i,s].join(" ")}},{key:"arc",value:function(e,t,i,s,a,r,n){var l="A";arguments.length>7&&arguments[7]!==void 0&&arguments[7]&&(l="a");var h=[l,e,t,i,s,a,r,n].join(" ");return h}},{key:"renderPaths",value:function(e){var t,i=e.j,s=e.realIndex,a=e.pathFrom,r=e.pathTo,n=e.stroke,l=e.strokeWidth,h=e.strokeLinecap,d=e.fill,c=e.animationDelay,u=e.initialSpeed,g=e.dataChangeSpeed,p=e.className,f=e.chartType,x=e.shouldClipToGrid,m=x===void 0||x,b=e.bindEventsOnPaths,w=b===void 0||b,S=e.drawShadow,A=S===void 0||S,T=this.w,k=new Re(this.ctx),M=new Fe(this.ctx),O=this.w.config.chart.animations.enabled,I=O&&this.w.config.chart.animations.dynamicAnimation.enabled,F=!!(O&&!T.globals.resized||I&&T.globals.dataChanged&&T.globals.shouldAnimate);F?t=a:(t=r,T.globals.animationEnded=!0);var G=T.config.stroke.dashArray,N=0;N=Array.isArray(G)?G[s]:T.config.stroke.dashArray;var B=this.drawPath({d:t,stroke:n,strokeWidth:l,fill:d,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:N});B.attr("index",s),m&&(f==="bar"&&!T.globals.isHorizontal||T.globals.comboCharts?B.attr({"clip-path":"url(#gridRectBarMask".concat(T.globals.cuid,")")}):B.attr({"clip-path":"url(#gridRectMask".concat(T.globals.cuid,")")})),T.config.chart.dropShadow.enabled&&A&&k.dropShadow(B,T.config.chart.dropShadow,s),w&&(B.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,B)),B.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,B)),B.node.addEventListener("mousedown",this.pathMouseDown.bind(this,B))),B.attr({pathTo:r,pathFrom:a});var U={el:B,j:i,realIndex:s,pathFrom:a,pathTo:r,fill:d,strokeWidth:l,delay:c};return!O||T.globals.resized||T.globals.dataChanged?!T.globals.resized&&T.globals.dataChanged||M.showDelayedElements():M.animatePathsGradually(H(H({},U),{},{speed:u})),T.globals.dataChanged&&I&&F&&M.animatePathsGradually(H(H({},U),{},{speed:g})),B}},{key:"drawPattern",value:function(e,t,i){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#a8a8a8",a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;return this.w.globals.dom.Paper.pattern(t,i,function(r){e==="horizontalLines"?r.line(0,0,i,0).stroke({color:s,width:a+1}):e==="verticalLines"?r.line(0,0,0,t).stroke({color:s,width:a+1}):e==="slantedLines"?r.line(0,0,t,i).stroke({color:s,width:a}):e==="squares"?r.rect(t,i).fill("none").stroke({color:s,width:a}):e==="circles"&&r.circle(t).fill("none").stroke({color:s,width:a})})}},{key:"drawGradient",value:function(e,t,i,s,a){var r,n=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,h=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],d=arguments.length>8&&arguments[8]!==void 0?arguments[8]:0,c=this.w;t.length<9&&t.indexOf("#")===0&&(t=R.hexToRgba(t,s)),i.length<9&&i.indexOf("#")===0&&(i=R.hexToRgba(i,a));var u=0,g=1,p=1,f=null;l!==null&&(u=l[0]!==void 0?l[0]/100:0,g=l[1]!==void 0?l[1]/100:1,p=l[2]!==void 0?l[2]/100:1,f=l[3]!==void 0?l[3]/100:null);var x=!(c.config.chart.type!=="donut"&&c.config.chart.type!=="pie"&&c.config.chart.type!=="polarArea"&&c.config.chart.type!=="bubble");if(r=h&&h.length!==0?c.globals.dom.Paper.gradient(x?"radial":"linear",function(w){(Array.isArray(h[d])?h[d]:h).forEach(function(S){w.stop(S.offset/100,S.color,S.opacity)})}):c.globals.dom.Paper.gradient(x?"radial":"linear",function(w){w.stop(u,t,s),w.stop(g,i,a),w.stop(p,i,a),f!==null&&w.stop(f,t,s)}),x){var m=c.globals.gridWidth/2,b=c.globals.gridHeight/2;c.config.chart.type!=="bubble"?r.attr({gradientUnits:"userSpaceOnUse",cx:m,cy:b,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else e==="vertical"?r.from(0,0).to(0,1):e==="diagonal"?r.from(0,0).to(1,1):e==="horizontal"?r.from(0,1).to(1,1):e==="diagonal2"&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(e){var t=e.text,i=e.maxWidth,s=e.fontSize,a=e.fontFamily,r=this.getTextRects(t,s,a),n=r.width/t.length,l=Math.floor(i/n);return i-1){var l=i.globals.selectedDataPoints[a].indexOf(r);i.globals.selectedDataPoints[a].splice(l,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var h=i.globals.dom.Paper.find(".apexcharts-series path:not(.apexcharts-decoration-element)"),d=i.globals.dom.Paper.find(".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)"),c=function(p){Array.prototype.forEach.call(p,function(f){f.node.setAttribute("selected","false"),s.getDefaultFilter(f,a)})};c(h),c(d)}e.node.setAttribute("selected","true"),n="true",i.globals.selectedDataPoints[a]===void 0&&(i.globals.selectedDataPoints[a]=[]),i.globals.selectedDataPoints[a].push(r)}if(n==="true"){var u=i.config.states.active.filter;if(u!=="none")s.applyFilter(e,a,u.type);else if(i.config.states.hover.filter!=="none"&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;s.applyFilter(e,a,g.type)}}else i.config.states.active.filter.type!=="none"&&(i.config.states.hover.filter.type==="none"||i.globals.isTouchDevice?s.getDefaultFilter(e,a):(g=i.config.states.hover.filter,s.applyFilter(e,a,g.type)));typeof i.config.chart.events.dataPointSelection=="function"&&i.config.chart.events.dataPointSelection(t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:r,w:i}),t&&this.ctx.events.fireEvent("dataPointSelection",[t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(e){var t={};return e&&typeof e.getBBox=="function"&&(t=e.getBBox()),{x:t.x+t.width/2,y:t.y+t.height/2}}},{key:"getTextRects",value:function(e,t,i,s){var a=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:e,textAnchor:"start",fontSize:t,fontFamily:i,foreColor:"#fff",opacity:0});s&&n.attr("transform",s),r.globals.dom.Paper.add(n);var l=n.bbox();return a||(l=n.node.getBoundingClientRect()),n.remove(),{width:l.width,height:l.height}}},{key:"placeTextWithEllipsis",value:function(e,t,i){if(typeof e.getComputedTextLength=="function"&&(e.textContent=t,t.length>0&&e.getComputedTextLength()>=i/1.1)){for(var s=t.length-3;s>0;s-=3)if(e.getSubStringLength(0,s)<=i/1.1)return void(e.textContent=t.substring(0,s)+"...");e.textContent="."}}}],[{key:"setAttrs",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}}]),o}(),Pe=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getStackedSeriesTotals",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=this.w,i=[];if(t.globals.series.length===0)return i;for(var s=0;s0&&arguments[0]!==void 0?arguments[0]:null;return e===null?this.w.config.series.reduce(function(t,i){return t+i},0):this.w.globals.series[e].reduce(function(t,i){return t+i},0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var e=this,t=this.w,i=[];return t.globals.seriesGroups.forEach(function(s){var a=[];t.config.series.forEach(function(n,l){s.indexOf(t.globals.seriesNames[l])>-1&&a.push(l)});var r=t.globals.series.map(function(n,l){return a.indexOf(l)===-1?l:-1}).filter(function(n){return n!==-1});i.push(e.getStackedSeriesTotals(r))}),i}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],s=[],a=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(c){return Array.isArray(c.seriesName)});t.series.forEach(function(c,u){a.push(u),s.push(null)}),t.yaxis.forEach(function(c,u){i[u]=[]});var n=[];t.yaxis.forEach(function(c,u){var g=!1;if(c.seriesName){var p=[];Array.isArray(c.seriesName)?p=c.seriesName:p.push(c.seriesName),p.forEach(function(f){t.series.forEach(function(x,m){if(x.name===f){var b=m;u===m||r?!r||a.indexOf(m)>-1?i[u].push([u,m]):console.warn("Series '"+x.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[m].push([m,u]),b=u),g=!0,(b=a.indexOf(b))!==-1&&a.splice(b,1)}})})}g||n.push(u)}),i=i.map(function(c,u){var g=[];return c.forEach(function(p){s[p[1]]=p[0],g.push(p[1])}),g});for(var l=t.yaxis.length-1,h=0;h0&&arguments[0]!==void 0?arguments[0]:null;return(e===null?this.w.config.series.filter(function(t){return t!==null}):this.w.config.series[e].data.filter(function(t){return t!==null})).length===0}},{key:"seriesHaveSameValues",value:function(e){return this.w.globals.series[e].every(function(t,i,s){return t===s[0]})}},{key:"getCategoryLabels",value:function(e){var t=this.w,i=e.slice();return t.config.xaxis.convertedCatToNumeric&&(i=e.map(function(s,a){return t.config.xaxis.labels.formatter(s-t.globals.minX+1)})),i}},{key:"getLargestSeries",value:function(){var e=this.w;e.globals.maxValsInArrayIndex=e.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,e.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var e=this.w,t=0;return e.globals.markers.size.forEach(function(i){t=Math.max(t,i)}),e.config.markers.discrete&&e.config.markers.discrete.length&&e.config.markers.discrete.forEach(function(i){t=Math.max(t,i.size)}),t>0&&(e.config.markers.hover.size>0?t=e.config.markers.hover.size:t+=e.config.markers.hover.sizeOffset),e.globals.markers.largestSize=t,t}},{key:"getSeriesTotals",value:function(){var e=this.w;e.globals.seriesTotals=e.globals.series.map(function(t,i){var s=0;if(Array.isArray(t))for(var a=0;ae&&i.globals.seriesX[a][n]0){var p=function(x,m){var b=a.config.yaxis[a.globals.seriesYAxisReverseMap[m]],w=x<0?-1:1;return x=Math.abs(x),b.logarithmic&&(x=s.getBaseLog(b.logBase,x)),-w*x/n[m]};if(r.isMultipleYAxis){h=[];for(var f=0;f0&&t.forEach(function(n){var l=[],h=[];e.i.forEach(function(d,c){a.config.series[d].group===n&&(l.push(e.series[c]),h.push(d))}),l.length>0&&r.push(s.draw(l,i,h))}),r}}],[{key:"checkComboSeries",value:function(e,t){var i=!1,s=0,a=0;return t===void 0&&(t="line"),e.length&&e[0].type!==void 0&&e.forEach(function(r){r.type!=="bar"&&r.type!=="column"&&r.type!=="candlestick"&&r.type!=="boxPlot"||s++,r.type!==void 0&&r.type!==t&&a++}),a>0&&(i=!0),{comboBarCount:s,comboCharts:i}}},{key:"extendArrayProps",value:function(e,t,i){var s,a,r,n,l,h;return(s=t)!==null&&s!==void 0&&s.yaxis&&(t=e.extendYAxis(t,i)),(a=t)!==null&&a!==void 0&&a.annotations&&(t.annotations.yaxis&&(t=e.extendYAxisAnnotations(t)),(r=t)!==null&&r!==void 0&&(n=r.annotations)!==null&&n!==void 0&&n.xaxis&&(t=e.extendXAxisAnnotations(t)),(l=t)!==null&&l!==void 0&&(h=l.annotations)!==null&&h!==void 0&&h.points&&(t=e.extendPointAnnotations(t))),t}}]),o}(),ci=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e}return E(o,[{key:"setOrientations",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.w;if(e.label.orientation==="vertical"){var s=t!==null?t:0,a=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(s,"']"));if(a!==null){var r=a.getBoundingClientRect();a.setAttribute("x",parseFloat(a.getAttribute("x"))-r.height+4);var n=e.label.position==="top"?r.width:-r.width;a.setAttribute("y",parseFloat(a.getAttribute("y"))+n);var l=this.annoCtx.graphics.rotateAroundCenter(a),h=l.x,d=l.y;a.setAttribute("transform","rotate(-90 ".concat(h," ").concat(d,")"))}}}},{key:"addBackgroundToAnno",value:function(e,t){var i=this.w;if(!e||!t.label.text||!String(t.label.text).trim())return null;var s=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),a=e.getBoundingClientRect(),r=t.label.style.padding,n=r.left,l=r.right,h=r.top,d=r.bottom;if(t.label.orientation==="vertical"){var c=[n,l,h,d];h=c[0],d=c[1],n=c[2],l=c[3]}var u=a.left-s.left-n,g=a.top-s.top-h,p=this.annoCtx.graphics.drawRect(u-i.globals.barPadForNumericAxis,g,a.width+n+l,a.height+h+d,t.label.borderRadius,t.label.style.background,1,t.label.borderWidth,t.label.borderColor,0);return t.id&&p.node.classList.add(t.id),p}},{key:"annotationsBackground",value:function(){var e=this,t=this.w,i=function(s,a,r){var n=t.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(a,"']"));if(n){var l=n.parentNode,h=e.addBackgroundToAnno(n,s);h&&(l.insertBefore(h.node,n),s.label.mouseEnter&&h.node.addEventListener("mouseenter",s.label.mouseEnter.bind(e,s)),s.label.mouseLeave&&h.node.addEventListener("mouseleave",s.label.mouseLeave.bind(e,s)),s.label.click&&h.node.addEventListener("click",s.label.click.bind(e,s)))}};t.config.annotations.xaxis.forEach(function(s,a){return i(s,a,"xaxis")}),t.config.annotations.yaxis.forEach(function(s,a){return i(s,a,"yaxis")}),t.config.annotations.points.forEach(function(s,a){return i(s,a,"point")})}},{key:"getY1Y2",value:function(e,t){var i,s=this.w,a=e==="y1"?t.y:t.y2,r=!1;if(this.annoCtx.invertAxis){var n=s.config.xaxis.convertedCatToNumeric?s.globals.categoryLabels:s.globals.labels,l=n.indexOf(a),h=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(".concat(l+1,")"));i=h?parseFloat(h.getAttribute("y")):(s.globals.gridHeight/n.length-1)*(l+1)-s.globals.barHeight,t.seriesIndex!==void 0&&s.globals.barHeight&&(i-=s.globals.barHeight/2*(s.globals.series.length-1)-s.globals.barHeight*t.seriesIndex)}else{var d,c=s.globals.seriesYAxisMap[t.yAxisIndex][0],u=s.config.yaxis[t.yAxisIndex].logarithmic?new Pe(this.annoCtx.ctx).getLogVal(s.config.yaxis[t.yAxisIndex].logBase,a,c)/s.globals.yLogRatio[c]:(a-s.globals.minYArr[c])/(s.globals.yRange[c]/s.globals.gridHeight);i=s.globals.gridHeight-Math.min(Math.max(u,0),s.globals.gridHeight),r=u>s.globals.gridHeight||u<0,!t.marker||t.y!==void 0&&t.y!==null||(i=0),(d=s.config.yaxis[t.yAxisIndex])!==null&&d!==void 0&&d.reversed&&(i=u)}return typeof a=="string"&&a.includes("px")&&(i=parseFloat(a)),{yP:i,clipped:r}}},{key:"getX1X2",value:function(e,t){var i=this.w,s=e==="x1"?t.x:t.x2,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,l=!1,h=this.annoCtx.inversedReversedAxis?(r-s)/(n/i.globals.gridWidth):(s-a)/(n/i.globals.gridWidth);return i.config.xaxis.type!=="category"&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(h=this.getStringX(s)),typeof s=="string"&&s.includes("px")&&(h=parseFloat(s)),s==null&&t.marker&&(h=i.globals.gridWidth),t.seriesIndex!==void 0&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(h-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*t.seriesIndex),h>i.globals.gridWidth?(h=i.globals.gridWidth,l=!0):h<0&&(h=0,l=!0),{x:h,clipped:l}}},{key:"getStringX",value:function(e){var t=this.w,i=e;t.config.xaxis.convertedCatToNumeric&&t.globals.categoryLabels.length&&(e=t.globals.categoryLabels.indexOf(e)+1);var s=t.globals.labels.map(function(r){return Array.isArray(r)?r.join(" "):r}).indexOf(e),a=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(".concat(s+1,")"));return a&&(i=parseFloat(a.getAttribute("x"))),i}}]),o}(),sn=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new ci(this.annoCtx)}return E(o,[{key:"addXaxisAnnotation",value:function(e,t,i){var s,a=this.w,r=this.helpers.getX1X2("x1",e),n=r.x,l=r.clipped,h=!0,d=e.label.text,c=e.strokeDashArray;if(R.isNumber(n)){if(e.x2===null||e.x2===void 0){if(!l){var u=this.annoCtx.graphics.drawLine(n+e.offsetX,0+e.offsetY,n+e.offsetX,a.globals.gridHeight+e.offsetY,e.borderColor,c,e.borderWidth);t.appendChild(u.node),e.id&&u.node.classList.add(e.id)}}else{var g=this.helpers.getX1X2("x2",e);if(s=g.x,h=g.clipped,!l||!h){if(s12?g-12:g===0?12:g;t=(t=(t=(t=t.replace(/(^|[^\\])HH+/g,"$1"+h(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+h(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=s?e.getUTCMinutes():e.getMinutes();t=(t=t.replace(/(^|[^\\])mm+/g,"$1"+h(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=s?e.getUTCSeconds():e.getSeconds();t=(t=t.replace(/(^|[^\\])ss+/g,"$1"+h(x))).replace(/(^|[^\\])s/g,"$1"+x);var m=s?e.getUTCMilliseconds():e.getMilliseconds();t=t.replace(/(^|[^\\])fff+/g,"$1"+h(m,3)),m=Math.round(m/10),t=t.replace(/(^|[^\\])ff/g,"$1"+h(m)),m=Math.round(m/10);var b=g<12?"AM":"PM";t=(t=(t=t.replace(/(^|[^\\])f/g,"$1"+m)).replace(/(^|[^\\])TT+/g,"$1"+b)).replace(/(^|[^\\])T/g,"$1"+b.charAt(0));var w=b.toLowerCase();t=(t=t.replace(/(^|[^\\])tt+/g,"$1"+w)).replace(/(^|[^\\])t/g,"$1"+w.charAt(0));var S=-e.getTimezoneOffset(),A=s||!S?"Z":S>0?"+":"-";if(!s){var T=(S=Math.abs(S))%60;A+=h(Math.floor(S/60))+":"+h(T)}t=t.replace(/(^|[^\\])K/g,"$1"+A);var k=(s?e.getUTCDay():e.getDay())+1;return t=(t=(t=(t=(t=t.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(l[0],"g"),l[k])).replace(new RegExp(a[0],"g"),a[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(e,t,i){var s=this.w;s.config.xaxis.min!==void 0&&(e=s.config.xaxis.min),s.config.xaxis.max!==void 0&&(t=s.config.xaxis.max);var a=this.getDate(e),r=this.getDate(t),n=this.formatDate(a,"yyyy MM dd HH mm ss fff").split(" "),l=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(l[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(l[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(l[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(l[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(l[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(l[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(l[0],10)}}},{key:"isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"calculcateLastDaysOfMonth",value:function(e,t,i){return this.determineDaysOfMonths(e,t)-i}},{key:"determineDaysOfYear",value:function(e){var t=365;return this.isLeapYear(e)&&(t=366),t}},{key:"determineRemainingDaysOfYear",value:function(e,t,i){var s=this.daysCntOfYear[t]+i;return t>1&&this.isLeapYear()&&s++,s}},{key:"determineDaysOfMonths",value:function(e,t){var i=30;switch(e=R.monthMod(e),!0){case this.months30.indexOf(e)>-1:e===2&&(i=this.isLeapYear(t)?29:28);break;case this.months31.indexOf(e)>-1:default:i=31}return i}}]),o}(),Vt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return E(o,[{key:"xLabelFormat",value:function(e,t,i,s){var a=this.w;if(a.config.xaxis.type==="datetime"&&a.config.xaxis.labels.formatter===void 0&&a.config.tooltip.x.formatter===void 0){var r=new Ie(this.ctx);return r.formatDate(r.getDate(t),a.config.tooltip.x.format)}return e(t,i,s)}},{key:"defaultGeneralFormatter",value:function(e){return Array.isArray(e)?e.map(function(t){return t}):e}},{key:"defaultYFormatter",value:function(e,t,i){var s=this.w;if(R.isNumber(e))if(s.globals.yValueDecimal!==0)e=e.toFixed(t.decimalsInFloat!==void 0?t.decimalsInFloat:s.globals.yValueDecimal);else{var a=e.toFixed(0);e=e==a?a:e.toFixed(1)}return e}},{key:"setLabelFormatters",value:function(){var e=this,t=this.w;return t.globals.xaxisTooltipFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttKeyFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttZFormatter=function(i){return i},t.globals.legendFormatter=function(i){return e.defaultGeneralFormatter(i)},t.config.xaxis.labels.formatter!==void 0?t.globals.xLabelFormatter=t.config.xaxis.labels.formatter:t.globals.xLabelFormatter=function(i){if(R.isNumber(i)){if(!t.config.xaxis.convertedCatToNumeric&&t.config.xaxis.type==="numeric"){if(R.isNumber(t.config.xaxis.decimalsInFloat))return i.toFixed(t.config.xaxis.decimalsInFloat);var s=t.globals.maxX-t.globals.minX;return s>0&&s<100?i.toFixed(1):i.toFixed(0)}return t.globals.isBarHorizontal&&t.globals.maxY-t.globals.minYArr<4?i.toFixed(1):i.toFixed(0)}return i},typeof t.config.tooltip.x.formatter=="function"?t.globals.ttKeyFormatter=t.config.tooltip.x.formatter:t.globals.ttKeyFormatter=t.globals.xLabelFormatter,typeof t.config.xaxis.tooltip.formatter=="function"&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),(Array.isArray(t.config.tooltip.y)||t.config.tooltip.y.formatter!==void 0)&&(t.globals.ttVal=t.config.tooltip.y),t.config.tooltip.z.formatter!==void 0&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),t.config.legend.formatter!==void 0&&(t.globals.legendFormatter=t.config.legend.formatter),t.config.yaxis.forEach(function(i,s){i.labels.formatter!==void 0?t.globals.yLabelFormatters[s]=i.labels.formatter:t.globals.yLabelFormatters[s]=function(a){return t.globals.xyCharts?Array.isArray(a)?a.map(function(r){return e.defaultYFormatter(r,i,s)}):e.defaultYFormatter(a,i,s):a}}),t.globals}},{key:"heatmapLabelFormatters",value:function(){var e=this.w;if(e.config.chart.type==="heatmap"){e.globals.yAxisScale[0].result=e.globals.seriesNames.slice();var t=e.globals.seriesNames.reduce(function(i,s){return i.length>s.length?i:s},0);e.globals.yAxisScale[0].niceMax=t,e.globals.yAxisScale[0].niceMin=t}}}]),o}(),dt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getLabel",value:function(e,t,i,s){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"12px",n=!(arguments.length>6&&arguments[6]!==void 0)||arguments[6],l=this.w,h=e[s]===void 0?"":e[s],d=h,c=l.globals.xLabelFormatter,u=l.config.xaxis.labels.formatter,g=!1,p=new Vt(this.ctx),f=h;n&&(d=p.xLabelFormat(c,h,f,{i:s,dateFormatter:new Ie(this.ctx).formatDate,w:l}),u!==void 0&&(d=u(h,e[s],{i:s,dateFormatter:new Ie(this.ctx).formatDate,w:l})));var x,m;t.length>0?(x=t[s].unit,m=null,t.forEach(function(A){A.unit==="month"?m="year":A.unit==="day"?m="month":A.unit==="hour"?m="day":A.unit==="minute"&&(m="hour")}),g=m===x,i=t[s].position,d=t[s].value):l.config.xaxis.type==="datetime"&&u===void 0&&(d=""),d===void 0&&(d=""),d=Array.isArray(d)?d:d.toString();var b=new W(this.ctx),w={};w=l.globals.rotateXLabels&&n?b.getTextRects(d,parseInt(r,10),null,"rotate(".concat(l.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(d,parseInt(r,10));var S=!l.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(d)&&(String(d)==="NaN"||a.indexOf(d)>=0&&S)&&(d=""),{x:i,text:d,textRect:w,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(e,t,i){var s=this.w,a=s.config.xaxis.tickAmount;return a==="dataPoints"&&(a=Math.round(s.globals.gridWidth/120)),a>i||e%Math.round(i/(a+1))==0||(t.text=""),t}},{key:"checkForOverflowingLabels",value:function(e,t,i,s,a){var r=this.w;if(e===0&&r.globals.skipFirstTimelinelabel&&(t.text=""),e===i-1&&r.globals.skipLastTimelinelabel&&(t.text=""),r.config.xaxis.labels.hideOverlappingLabels&&s.length>0){var n=a[a.length-1];t.xs.length||s.some(function(a){return Array.isArray(a.seriesName)})?e:i.seriesYAxisReverseMap[e]}},{key:"isYAxisHidden",value:function(e){var t=this.w,i=t.config.yaxis[e];if(!i.show||this.yAxisAllSeriesCollapsed(e))return!0;if(!i.showForNullSeries){var s=t.globals.seriesYAxisMap[e],a=new Pe(this.ctx);return s.every(function(r){return a.isSeriesNull(r)})}return!1}},{key:"getYAxisForeColor",value:function(e,t){var i=this.w;return Array.isArray(e)&&i.globals.yAxisScale[t]&&this.ctx.theme.pushExtraColors(e,i.globals.yAxisScale[t].result.length,!1),e}},{key:"drawYAxisTicks",value:function(e,t,i,s,a,r,n){var l=this.w,h=new W(this.ctx),d=l.globals.translateY+l.config.yaxis[a].labels.offsetY;if(l.globals.isBarHorizontal?d=0:l.config.chart.type==="heatmap"&&(d+=r/2),s.show&&t>0){l.config.yaxis[a].opposite===!0&&(e+=s.width);for(var c=t;c>=0;c--){var u=h.drawLine(e+i.offsetX-s.width+s.offsetX,d+s.offsetY,e+i.offsetX+s.offsetX,d+s.offsetY,s.color);n.add(u),d+=r}}}}]),o}(),an=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.helpers=new ci(this.annoCtx),this.axesUtils=new dt(this.annoCtx)}return E(o,[{key:"addYaxisAnnotation",value:function(e,t,i){var s,a=this.w,r=e.strokeDashArray,n=this.helpers.getY1Y2("y1",e),l=n.yP,h=n.clipped,d=!0,c=!1,u=e.label.text;if(e.y2===null||e.y2===void 0){if(!h){c=!0;var g=this.annoCtx.graphics.drawLine(0+e.offsetX,l+e.offsetY,this._getYAxisAnnotationWidth(e),l+e.offsetY,e.borderColor,r,e.borderWidth);t.appendChild(g.node),e.id&&g.node.classList.add(e.id)}}else{if(s=(n=this.helpers.getY1Y2("y2",e)).yP,d=n.clipped,s>l){var p=l;l=s,s=p}if(!h||!d){c=!0;var f=this.annoCtx.graphics.drawRect(0+e.offsetX,s+e.offsetY,this._getYAxisAnnotationWidth(e),l-s,0,e.fillColor,e.opacity,1,e.borderColor,r);f.node.classList.add("apexcharts-annotation-rect"),f.attr("clip-path","url(#gridRectMask".concat(a.globals.cuid,")")),t.appendChild(f.node),e.id&&f.node.classList.add(e.id)}}if(c){var x=e.label.position==="right"?a.globals.gridWidth:e.label.position==="center"?a.globals.gridWidth/2:0,m=this.annoCtx.graphics.drawText({x:x+e.label.offsetX,y:(s??l)+e.label.offsetY-3,text:u,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});m.attr({rel:i}),t.appendChild(m.node)}}},{key:"_getYAxisAnnotationWidth",value:function(e){var t=this.w;return t.globals.gridWidth,(e.width.indexOf("%")>-1?t.globals.gridWidth*parseInt(e.width,10)/100:parseInt(e.width,10))+e.offsetX}},{key:"drawYAxisAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.forEach(function(s,a){s.yAxisIndex=e.axesUtils.translateYAxisIndex(s.yAxisIndex),e.axesUtils.isYAxisHidden(s.yAxisIndex)&&e.axesUtils.yAxisAllSeriesCollapsed(s.yAxisIndex)||e.addYaxisAnnotation(s,i.node,a)}),i}}]),o}(),rn=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.helpers=new ci(this.annoCtx)}return E(o,[{key:"addPointAnnotation",value:function(e,t,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(e.seriesIndex)>-1)){var s=this.helpers.getX1X2("x1",e),a=s.x,r=s.clipped,n=(s=this.helpers.getY1Y2("y1",e)).yP,l=s.clipped;if(R.isNumber(a)&&!l&&!r){var h={pSize:e.marker.size,pointStrokeWidth:e.marker.strokeWidth,pointFillColor:e.marker.fillColor,pointStrokeColor:e.marker.strokeColor,shape:e.marker.shape,pRadius:e.marker.radius,class:"apexcharts-point-annotation-marker ".concat(e.marker.cssClass," ").concat(e.id?e.id:"")},d=this.annoCtx.graphics.drawMarker(a+e.marker.offsetX,n+e.marker.offsetY,h);t.appendChild(d.node);var c=e.label.text?e.label.text:"",u=this.annoCtx.graphics.drawText({x:a+e.label.offsetX,y:n+e.label.offsetY-e.marker.size-parseFloat(e.label.style.fontSize)/1.6,text:c,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});if(u.attr({rel:i}),t.appendChild(u.node),e.customSVG.SVG){var g=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+e.customSVG.cssClass});g.attr({transform:"translate(".concat(a+e.customSVG.offsetX,", ").concat(n+e.customSVG.offsetY,")")}),g.node.innerHTML=e.customSVG.SVG,t.appendChild(g.node)}if(e.image.path){var p=e.image.width?e.image.width:20,f=e.image.height?e.image.height:20;d=this.annoCtx.addImage({x:a+e.image.offsetX-p/2,y:n+e.image.offsetY-f/2,width:p,height:f,path:e.image.path,appendTo:".apexcharts-point-annotations"})}e.mouseEnter&&d.node.addEventListener("mouseenter",e.mouseEnter.bind(this,e)),e.mouseLeave&&d.node.addEventListener("mouseleave",e.mouseLeave.bind(this,e)),e.click&&d.node.addEventListener("click",e.click.bind(this,e))}}}},{key:"drawPointAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(s,a){e.addPointAnnotation(s,i.node,a)}),i}}]),o}(),pa={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},kt=function(){function o(){P(this,o),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return E(o,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[pa],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(e){return e}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(e){return e+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)/e.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(e){return e},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(e){return e}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(e){return e}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(e){return e!==null?e:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:"lighten"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken"}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(e){return e?e+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),o}(),nn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.graphics=new W(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new ci(this),this.xAxisAnnotations=new sn(this),this.yAxisAnnotations=new an(this),this.pointsAnnotations=new rn(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return E(o,[{key:"drawAxesAnnotations",value:function(){var e=this.w;if(e.globals.axisCharts&&e.globals.dataPoints){for(var t=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),s=this.pointsAnnotations.drawPointAnnotations(),a=e.config.chart.animations.enabled,r=[t,i,s],n=[i.node,t.node,s.node],l=0;l<3;l++)e.globals.dom.elGraphical.add(r[l]),!a||e.globals.resized||e.globals.dataChanged||e.config.chart.type!=="scatter"&&e.config.chart.type!=="bubble"&&e.globals.dataPoints>1&&n[l].classList.add("apexcharts-element-hidden"),e.globals.delayedElements.push({el:n[l],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var e=this;this.w.config.annotations.images.map(function(t,i){e.addImage(t,i)})}},{key:"drawTextAnnos",value:function(){var e=this;this.w.config.annotations.texts.map(function(t,i){e.addText(t,i)})}},{key:"addXaxisAnnotation",value:function(e,t,i){this.xAxisAnnotations.addXaxisAnnotation(e,t,i)}},{key:"addYaxisAnnotation",value:function(e,t,i){this.yAxisAnnotations.addYaxisAnnotation(e,t,i)}},{key:"addPointAnnotation",value:function(e,t,i){this.pointsAnnotations.addPointAnnotation(e,t,i)}},{key:"addText",value:function(e,t){var i=e.x,s=e.y,a=e.text,r=e.textAnchor,n=e.foreColor,l=e.fontSize,h=e.fontFamily,d=e.fontWeight,c=e.cssClass,u=e.backgroundColor,g=e.borderWidth,p=e.strokeDashArray,f=e.borderRadius,x=e.borderColor,m=e.appendTo,b=m===void 0?".apexcharts-svg":m,w=e.paddingLeft,S=w===void 0?4:w,A=e.paddingRight,T=A===void 0?4:A,k=e.paddingBottom,M=k===void 0?2:k,O=e.paddingTop,I=O===void 0?2:O,F=this.w,G=this.graphics.drawText({x:i,y:s,text:a,textAnchor:r||"start",fontSize:l||"12px",fontWeight:d||"regular",fontFamily:h||F.config.chart.fontFamily,foreColor:n||F.config.chart.foreColor,cssClass:c}),N=F.globals.dom.baseEl.querySelector(b);N&&N.appendChild(G.node);var B=G.bbox();if(a){var U=this.graphics.drawRect(B.x-S,B.y-I,B.width+S+T,B.height+M+I,f,u||"transparent",1,g,x,p);N.insertBefore(U.node,G.node)}}},{key:"addImage",value:function(e,t){var i=this.w,s=e.path,a=e.x,r=a===void 0?0:a,n=e.y,l=n===void 0?0:n,h=e.width,d=h===void 0?20:h,c=e.height,u=c===void 0?20:c,g=e.appendTo,p=g===void 0?".apexcharts-svg":g,f=i.globals.dom.Paper.image(s);f.size(d,u).move(r,l);var x=i.globals.dom.baseEl.querySelector(p);return x&&x.appendChild(f.node),f}},{key:"addXaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(e,t,i){return this.invertAxis===void 0&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(e){var t=e.params,i=e.pushToMemory,s=e.context,a=e.type,r=e.contextMethod,n=s,l=n.w,h=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations")),d=h.childNodes.length+1,c=new kt,u=Object.assign({},a==="xaxis"?c.xAxisAnnotation:a==="yaxis"?c.yAxisAnnotation:c.pointAnnotation),g=R.extend(u,t);switch(a){case"xaxis":this.addXaxisAnnotation(g,h,d);break;case"yaxis":this.addYaxisAnnotation(g,h,d);break;case"point":this.addPointAnnotation(g,h,d)}var p=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations .apexcharts-").concat(a,"-annotation-label[rel='").concat(d,"']")),f=this.helpers.addBackgroundToAnno(p,g);return f&&h.insertBefore(f.node,p),i&&l.globals.memory.methodsToExec.push({context:n,id:g.id?g.id:R.randomId(),method:r,label:"addAnnotation",params:t}),s}},{key:"clearAnnotations",value:function(e){for(var t=e.w,i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),s=t.globals.memory.methodsToExec.length-1;s>=0;s--)t.globals.memory.methodsToExec[s].label!=="addText"&&t.globals.memory.methodsToExec[s].label!=="addAnnotation"||t.globals.memory.methodsToExec.splice(s,1);i=R.listToArray(i),Array.prototype.forEach.call(i,function(a){for(;a.firstChild;)a.removeChild(a.firstChild)})}},{key:"removeAnnotation",value:function(e,t){var i=e.w,s=i.globals.dom.baseEl.querySelectorAll(".".concat(t));s&&(i.globals.memory.methodsToExec.map(function(a,r){a.id===t&&i.globals.memory.methodsToExec.splice(r,1)}),Array.prototype.forEach.call(s,function(a){a.parentElement.removeChild(a)}))}}]),o}(),as=function(o){var e,t=o.isTimeline,i=o.ctx,s=o.seriesIndex,a=o.dataPointIndex,r=o.y1,n=o.y2,l=o.w,h=l.globals.seriesRangeStart[s][a],d=l.globals.seriesRangeEnd[s][a],c=l.globals.labels[a],u=l.config.series[s].name?l.config.series[s].name:"",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:a,start:h,end:d};typeof p=="function"&&(u=p(u,f)),(e=l.config.series[s].data[a])!==null&&e!==void 0&&e.x&&(c=l.config.series[s].data[a].x),t||l.config.xaxis.type==="datetime"&&(c=new Vt(i).xLabelFormat(l.globals.ttKeyFormatter,c,c,{i:void 0,dateFormatter:new Ie(i).formatDate,w:l})),typeof g=="function"&&(c=g(c,f)),Number.isFinite(r)&&Number.isFinite(n)&&(h=r,d=n);var x="",m="",b=l.globals.colors[s];if(l.config.tooltip.x.formatter===void 0)if(l.config.xaxis.type==="datetime"){var w=new Ie(i);x=w.formatDate(w.getDate(h),l.config.tooltip.x.format),m=w.formatDate(w.getDate(d),l.config.tooltip.x.format)}else x=h,m=d;else x=l.config.tooltip.x.formatter(h),m=l.config.tooltip.x.formatter(d);return{start:h,end:d,startVal:x,endVal:m,ylabel:c,color:b,seriesName:u}},rs=function(o){var e=o.color,t=o.seriesName,i=o.ylabel,s=o.start,a=o.end,r=o.seriesIndex,n=o.dataPointIndex,l=o.ctx.tooltip.tooltipLabels.getFormatters(r);s=l.yLbFormatter(s),a=l.yLbFormatter(a);var h=l.yLbFormatter(o.w.globals.series[r][n]),d=` - `.concat(s,` - - - `).concat(a,` - `);return'
'+(t||"")+'
'+i+": "+(o.w.globals.comboCharts?o.w.config.series[r].type==="rangeArea"||o.w.config.series[r].type==="rangeBar"?d:"".concat(h,""):d)+"
"},Ut=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(e){return this.hideYAxis(),R.extend(e,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(e,t){var i=t.w.config.series[t.seriesIndex].name;return e!==null?i+": "+e:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),H(H({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var e=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,s=t.dataPointIndex,a=t.w;return e._getBoxTooltip(a,i,s,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var e=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,s=t.dataPointIndex,a=t.w;return e._getBoxTooltip(a,i,s,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(e,t){t.ctx;var i=t.seriesIndex,s=t.dataPointIndex,a=t.w,r=function(){var n=a.globals.seriesRangeStart[i][s];return a.globals.seriesRangeEnd[i][s]-n};return a.globals.comboCharts?a.config.series[i].type==="rangeBar"||a.config.series[i].type==="rangeArea"?r():e:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(e){return e.w.config.plotOptions&&e.w.config.plotOptions.bar&&e.w.config.plotOptions.bar.horizontal?function(t){var i=as(H(H({},t),{},{isTimeline:!0})),s=i.color,a=i.seriesName,r=i.ylabel,n=i.startVal,l=i.endVal;return rs(H(H({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e):function(t){var i=as(t),s=i.color,a=i.seriesName,r=i.ylabel,n=i.start,l=i.end;return rs(H(H({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(e){var t,i;return(t=e.plotOptions.bar)!==null&&t!==void 0&&t.barHeight||(e.plotOptions.bar.barHeight=2),(i=e.plotOptions.bar)!==null&&i!==void 0&&i.columnWidth||(e.plotOptions.bar.columnWidth=2),e}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(e){return function(t){var i=as(t),s=i.color,a=i.seriesName,r=i.ylabel,n=i.start,l=i.end;return rs(H(H({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e)}}}}},{key:"brush",value:function(e){return R.extend(e,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(e){e.dataLabels=e.dataLabels||{},e.dataLabels.formatter=e.dataLabels.formatter||void 0;var t=e.dataLabels.formatter;return e.yaxis.forEach(function(i,s){e.yaxis[s].min=0,e.yaxis[s].max=100}),e.chart.type==="bar"&&(e.dataLabels.formatter=t||function(i){return typeof i=="number"&&i?i.toFixed(0)+"%":i}),e}},{key:"stackedBars",value:function(){var e=this.bar();return H(H({},e),{},{plotOptions:H(H({},e.plotOptions),{},{bar:H(H({},e.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(e){return e.xaxis.convertedCatToNumeric=!0,e}},{key:"convertCatToNumericXaxis",value:function(e,t,i){e.xaxis.type="numeric",e.xaxis.labels=e.xaxis.labels||{},e.xaxis.labels.formatter=e.xaxis.labels.formatter||function(r){return R.isNumber(r)?Math.floor(r):r};var s=e.xaxis.labels.formatter,a=e.xaxis.categories&&e.xaxis.categories.length?e.xaxis.categories:e.labels;return i&&i.length&&(a=i.map(function(r){return Array.isArray(r)?r:String(r)})),a&&a.length&&(e.xaxis.labels.formatter=function(r){return R.isNumber(r)?s(a[Math.floor(r)-1]):s(r)}),e.xaxis.categories=[],e.labels=[],e.xaxis.tickAmount=e.xaxis.tickAmount||"dataPoints",e}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(e){return e},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"_getBoxTooltip",value:function(e,t,i,s,a){var r=e.globals.seriesCandleO[t][i],n=e.globals.seriesCandleH[t][i],l=e.globals.seriesCandleM[t][i],h=e.globals.seriesCandleL[t][i],d=e.globals.seriesCandleC[t][i];return e.config.series[t].type&&e.config.series[t].type!==a?`
- `.concat(e.config.series[t].name?e.config.series[t].name:"series-"+(t+1),": ").concat(e.globals.series[t][i],` -
`):'
')+"
".concat(s[0],': ')+r+"
"+"
".concat(s[1],': ')+n+"
"+(l?"
".concat(s[2],': ')+l+"
":"")+"
".concat(s[3],': ')+h+"
"+"
".concat(s[4],': ')+d+"
"}}]),o}(),qt=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"init",value:function(e){var t=e.responsiveOverride,i=this.opts,s=new kt,a=new Ut(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=s.init(),n={};if(i&&Ae(i)==="object"){var l,h,d,c,u,g,p,f,x,m,b={};b=["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)!==-1?a[i.chart.type]():a.line(),(l=i.plotOptions)!==null&&l!==void 0&&(h=l.bar)!==null&&h!==void 0&&h.isFunnel&&(b=a.funnel()),i.chart.stacked&&i.chart.type==="bar"&&(b=a.stackedBars()),(d=i.chart.brush)!==null&&d!==void 0&&d.enabled&&(b=a.brush(b)),(c=i.plotOptions)!==null&&c!==void 0&&(u=c.line)!==null&&u!==void 0&&u.isSlopeChart&&(b=a.slope()),i.chart.stacked&&i.chart.stackType==="100%"&&(i=a.stacked100(i)),(g=i.plotOptions)!==null&&g!==void 0&&(p=g.bar)!==null&&p!==void 0&&p.isDumbbell&&(i=a.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},t||(i.xaxis.convertedCatToNumeric=!1),((f=(i=this.checkForCatToNumericXAxis(this.chartType,b,i)).chart.sparkline)!==null&&f!==void 0&&f.enabled||(x=window.Apex.chart)!==null&&x!==void 0&&(m=x.sparkline)!==null&&m!==void 0&&m.enabled)&&(b=a.sparkline(b)),n=R.extend(r,b)}var w=R.extend(n,window.Apex);return r=R.extend(w,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(e,t,i){var s,a,r=new Ut(i),n=(e==="bar"||e==="boxPlot")&&((s=i.plotOptions)===null||s===void 0||(a=s.bar)===null||a===void 0?void 0:a.horizontal),l=e==="pie"||e==="polarArea"||e==="donut"||e==="radar"||e==="radialBar"||e==="heatmap",h=i.xaxis.type!=="datetime"&&i.xaxis.type!=="numeric",d=i.xaxis.tickPlacement?i.xaxis.tickPlacement:t.xaxis&&t.xaxis.tickPlacement;return n||l||!h||d==="between"||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(e,t){var i=new kt;(e.yaxis===void 0||!e.yaxis||Array.isArray(e.yaxis)&&e.yaxis.length===0)&&(e.yaxis={}),e.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(e.yaxis=R.extend(e.yaxis,window.Apex.yaxis)),e.yaxis.constructor!==Array?e.yaxis=[R.extend(i.yAxis,e.yaxis)]:e.yaxis=R.extendArray(e.yaxis,i.yAxis);var s=!1;e.yaxis.forEach(function(r){r.logarithmic&&(s=!0)});var a=e.series;return t&&!a&&(a=t.config.series),s&&a.length!==e.yaxis.length&&a.length&&(e.yaxis=a.map(function(r,n){if(r.name||(a[n].name="series-".concat(n+1)),e.yaxis[n])return e.yaxis[n].seriesName=a[n].name,e.yaxis[n];var l=R.extend(i.yAxis,e.yaxis[0]);return l.show=!1,l})),s&&a.length>1&&a.length!==e.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),e}},{key:"extendAnnotations",value:function(e){return e.annotations===void 0&&(e.annotations={},e.annotations.yaxis=[],e.annotations.xaxis=[],e.annotations.points=[]),e=this.extendYAxisAnnotations(e),e=this.extendXAxisAnnotations(e),e=this.extendPointAnnotations(e)}},{key:"extendYAxisAnnotations",value:function(e){var t=new kt;return e.annotations.yaxis=R.extendArray(e.annotations.yaxis!==void 0?e.annotations.yaxis:[],t.yAxisAnnotation),e}},{key:"extendXAxisAnnotations",value:function(e){var t=new kt;return e.annotations.xaxis=R.extendArray(e.annotations.xaxis!==void 0?e.annotations.xaxis:[],t.xAxisAnnotation),e}},{key:"extendPointAnnotations",value:function(e){var t=new kt;return e.annotations.points=R.extendArray(e.annotations.points!==void 0?e.annotations.points:[],t.pointAnnotation),e}},{key:"checkForDarkTheme",value:function(e){e.theme&&e.theme.mode==="dark"&&(e.tooltip||(e.tooltip={}),e.tooltip.theme!=="light"&&(e.tooltip.theme="dark"),e.chart.foreColor||(e.chart.foreColor="#f6f7f8"),e.theme.palette||(e.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(e){var t=e;if(t.tooltip.shared&&t.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(t.chart.type==="bar"&&t.plotOptions.bar.horizontal){if(t.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");t.yaxis[0].reversed&&(t.yaxis[0].opposite=!0),t.xaxis.tooltip.enabled=!1,t.yaxis[0].tooltip.enabled=!1,t.chart.zoom.enabled=!1}return t.chart.type!=="bar"&&t.chart.type!=="rangeBar"||t.tooltip.shared&&t.xaxis.crosshairs.width==="barWidth"&&t.series.length>1&&(t.xaxis.crosshairs.width="tickWidth"),t.chart.type!=="candlestick"&&t.chart.type!=="boxPlot"||t.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(t.chart.type," chart is not supported.")),t.yaxis[0].reversed=!1),t}}]),o}(),xa=function(){function o(){P(this,o)}return E(o,[{key:"initGlobalVars",value:function(e){e.series=[],e.seriesCandleO=[],e.seriesCandleH=[],e.seriesCandleM=[],e.seriesCandleL=[],e.seriesCandleC=[],e.seriesRangeStart=[],e.seriesRangeEnd=[],e.seriesRange=[],e.seriesPercent=[],e.seriesGoals=[],e.seriesX=[],e.seriesZ=[],e.seriesNames=[],e.seriesTotals=[],e.seriesLog=[],e.seriesColors=[],e.stackedSeriesTotals=[],e.seriesXvalues=[],e.seriesYvalues=[],e.labels=[],e.hasXaxisGroups=!1,e.groups=[],e.barGroups=[],e.lineGroups=[],e.areaGroups=[],e.hasSeriesGroups=!1,e.seriesGroups=[],e.categoryLabels=[],e.timescaleLabels=[],e.noLabelsProvided=!1,e.resizeTimer=null,e.selectionResizeTimer=null,e.lastWheelExecution=0,e.delayedElements=[],e.pointsArray=[],e.dataLabelsRects=[],e.isXNumeric=!1,e.skipLastTimelinelabel=!1,e.skipFirstTimelinelabel=!1,e.isDataXYZ=!1,e.isMultiLineX=!1,e.isMultipleYAxis=!1,e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE,e.minYArr=[],e.maxYArr=[],e.maxX=-Number.MAX_VALUE,e.minX=Number.MAX_VALUE,e.initialMaxX=-Number.MAX_VALUE,e.initialMinX=Number.MAX_VALUE,e.maxDate=0,e.minDate=Number.MAX_VALUE,e.minZ=Number.MAX_VALUE,e.maxZ=-Number.MAX_VALUE,e.minXDiff=Number.MAX_VALUE,e.yAxisScale=[],e.xAxisScale=null,e.xAxisTicksPositions=[],e.yLabelsCoords=[],e.yTitleCoords=[],e.barPadForNumericAxis=0,e.padHorizontal=0,e.xRange=0,e.yRange=[],e.zRange=0,e.dataPoints=0,e.xTickAmount=0,e.multiAxisTickAmount=0}},{key:"globalVars",value:function(e){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:e.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:e.chart.toolbar.autoSelected==="zoom"&&e.chart.toolbar.tools.zoom&&e.chart.zoom.enabled,panEnabled:e.chart.toolbar.autoSelected==="pan"&&e.chart.toolbar.tools.pan,selectionEnabled:e.chart.toolbar.autoSelected==="selection"&&e.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:e.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t.initialConfig=R.extend({},e),t.initialSeries=R.clone(e.series),t.lastXAxis=R.clone(t.initialConfig.xaxis),t.lastYAxis=R.clone(t.initialConfig.yaxis),t}}]),o}(),on=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"init",value:function(){var e=new qt(this.opts).init({responsiveOverride:!1});return{config:e,globals:new xa().init(e)}}}]),o}(),et=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return E(o,[{key:"clippedImgArea",value:function(e){var t=this.w,i=t.config,s=parseInt(t.globals.gridWidth,10),a=parseInt(t.globals.gridHeight,10),r=s>a?s:a,n=e.image,l=0,h=0;e.width===void 0&&e.height===void 0?i.fill.image.width!==void 0&&i.fill.image.height!==void 0?(l=i.fill.image.width+1,h=i.fill.image.height):(l=r+1,h=r):(l=e.width,h=e.height);var d=document.createElementNS(t.globals.SVGNS,"pattern");W.setAttrs(d,{id:e.patternID,patternUnits:e.patternUnits?e.patternUnits:"userSpaceOnUse",width:l+"px",height:h+"px"});var c=document.createElementNS(t.globals.SVGNS,"image");d.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",n),W.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:l+"px",height:h+"px"}),c.style.opacity=e.opacity,t.globals.dom.elDefs.node.appendChild(d)}},{key:"getSeriesIndex",value:function(e){var t=this.w,i=t.config.chart.type;return(i==="bar"||i==="rangeBar")&&t.config.plotOptions.bar.distributed||i==="heatmap"||i==="treemap"?this.seriesIndex=e.seriesNumber:this.seriesIndex=e.seriesNumber%t.globals.series.length,this.seriesIndex}},{key:"computeColorStops",value:function(e,t){var i,s=this.w,a=null,r=null,n=X(e);try{for(n.s();!(i=n.n()).done;){var l=i.value;l>=t.threshold?(a===null||l>a)&&(a=l):(r===null||l-1?x=R.getOpacityFromRGBA(c):b=R.hexToRgba(R.rgb2hex(c),x),e.opacity&&(x=e.opacity),f==="pattern"&&(n=this.handlePatternFill({fillConfig:e.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:b})),m){var w=he(h.fill.gradient.colorStops)||[],S=h.fill.gradient.type;d&&(w[this.seriesIndex]=this.computeColorStops(a.globals.series[this.seriesIndex],h.plotOptions.line.colors),S="vertical"),l=this.handleGradientFill({type:S,fillConfig:e.fillConfig,fillColor:c,fillOpacity:x,colorStops:w,i:this.seriesIndex})}if(f==="image"){var A=h.fill.image.src,T=e.patternID?e.patternID:"",k="pattern".concat(a.globals.cuid).concat(e.seriesNumber+1).concat(T);this.patternIDs.indexOf(k)===-1&&(this.clippedImgArea({opacity:x,image:Array.isArray(A)?e.seriesNumber-1&&(p=R.getOpacityFromRGBA(g));var f=l.gradient.opacityTo===void 0?s:Array.isArray(l.gradient.opacityTo)?l.gradient.opacityTo[n]:l.gradient.opacityTo;if(l.gradient.gradientToColors===void 0||l.gradient.gradientToColors.length===0)u=l.gradient.shade==="dark"?c.shadeColor(-1*parseFloat(l.gradient.shadeIntensity),i.indexOf("rgb")>-1?R.rgb2hex(i):i):c.shadeColor(parseFloat(l.gradient.shadeIntensity),i.indexOf("rgb")>-1?R.rgb2hex(i):i);else if(l.gradient.gradientToColors[h.seriesNumber]){var x=l.gradient.gradientToColors[h.seriesNumber];u=x,x.indexOf("rgba")>-1&&(f=R.getOpacityFromRGBA(x))}else u=i;if(l.gradient.gradientFrom&&(g=l.gradient.gradientFrom),l.gradient.gradientTo&&(u=l.gradient.gradientTo),l.gradient.inverseColors){var m=g;g=u,u=m}return g.indexOf("rgb")>-1&&(g=R.rgb2hex(g)),u.indexOf("rgb")>-1&&(u=R.rgb2hex(u)),d.drawGradient(t,g,u,p,f,h.size,l.gradient.stops,r,n)}}]),o}(),Ot=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],e.globals.markers.size.length>0){if(e.globals.markers.size.length4&&arguments[4]!==void 0&&arguments[4],r=this.w,n=t,l=e,h=null,d=new W(this.ctx),c=r.config.markers.discrete&&r.config.markers.discrete.length;if(Array.isArray(l.x))for(var u=0;u0:r.config.markers.size>0)||a||c){f||(x+=" w".concat(R.randomId()));var m=this.getMarkerConfig({cssClass:x,seriesIndex:t,dataPointIndex:p});r.config.series[n].data[p]&&(r.config.series[n].data[p].fillColor&&(m.pointFillColor=r.config.series[n].data[p].fillColor),r.config.series[n].data[p].strokeColor&&(m.pointStrokeColor=r.config.series[n].data[p].strokeColor)),s!==void 0&&(m.pSize=s),(l.x[u]<-r.globals.markers.largestSize||l.x[u]>r.globals.gridWidth+r.globals.markers.largestSize||l.y[u]<-r.globals.markers.largestSize||l.y[u]>r.globals.gridHeight+r.globals.markers.largestSize)&&(m.pSize=0),!f&&((r.globals.markers.size[t]>0||a||c)&&!h&&(h=d.group({class:a||c?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(r.globals.cuid,")")),(g=d.drawMarker(l.x[u],l.y[u],m)).attr("rel",p),g.attr("j",p),g.attr("index",t),g.node.setAttribute("default-marker-size",m.pSize),new Re(this.ctx).setSelectionFilter(g,t,p),this.addEvents(g),h&&h.add(g))}else r.globals.pointsArray[t]===void 0&&(r.globals.pointsArray[t]=[]),r.globals.pointsArray[t].push([l.x[u],l.y[u]])}return h}},{key:"getMarkerConfig",value:function(e){var t=e.cssClass,i=e.seriesIndex,s=e.dataPointIndex,a=s===void 0?null:s,r=e.radius,n=r===void 0?null:r,l=e.size,h=l===void 0?null:l,d=e.strokeWidth,c=d===void 0?null:d,u=this.w,g=this.getMarkerStyle(i),p=h===null?u.globals.markers.size[i]:h,f=u.config.markers;return a!==null&&f.discrete.length&&f.discrete.map(function(x){x.seriesIndex===i&&x.dataPointIndex===a&&(g.pointStrokeColor=x.strokeColor,g.pointFillColor=x.fillColor,p=x.size,g.pointShape=x.shape)}),{pSize:n===null?p:n,pRadius:n!==null?n:f.radius,pointStrokeWidth:c!==null?c:Array.isArray(f.strokeWidth)?f.strokeWidth[i]:f.strokeWidth,pointStrokeColor:g.pointStrokeColor,pointFillColor:g.pointFillColor,shape:g.pointShape||(Array.isArray(f.shape)?f.shape[i]:f.shape),class:t,pointStrokeOpacity:Array.isArray(f.strokeOpacity)?f.strokeOpacity[i]:f.strokeOpacity,pointStrokeDashArray:Array.isArray(f.strokeDashArray)?f.strokeDashArray[i]:f.strokeDashArray,pointFillOpacity:Array.isArray(f.fillOpacity)?f.fillOpacity[i]:f.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(e){var t=this.w,i=new W(this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,e)),e.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,e)),e.node.addEventListener("click",t.config.markers.onClick),e.node.addEventListener("dblclick",t.config.markers.onDblClick),e.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,e),{passive:!0})}},{key:"getMarkerStyle",value:function(e){var t=this.w,i=t.globals.markers.colors,s=t.config.markers.strokeColor||t.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(s)?s[e]:s,pointFillColor:Array.isArray(i)?i[e]:i}}}]),o}(),ma=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return E(o,[{key:"draw",value:function(e,t,i){var s=this.w,a=new W(this.ctx),r=i.realIndex,n=i.pointsPos,l=i.zRatio,h=i.elParent,d=a.group({class:"apexcharts-series-markers apexcharts-series-".concat(s.config.chart.type)});if(d.attr("clip-path","url(#gridRectMarkerMask".concat(s.globals.cuid,")")),Array.isArray(n.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}var x=n.x[c],m=n.y[c];if(p=p||0,m!==null&&s.globals.series[r][u]!==void 0||(g=!1),g){var b=this.drawPoint(x,m,p,r,u,t);d.add(b)}h.add(d)}}},{key:"drawPoint",value:function(e,t,i,s,a,r){var n=this.w,l=s,h=new Fe(this.ctx),d=new Re(this.ctx),c=new et(this.ctx),u=new Ot(this.ctx),g=new W(this.ctx),p=u.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:a,radius:n.config.chart.type==="bubble"||n.globals.comboCharts&&n.config.series[s]&&n.config.series[s].type==="bubble"?i:null}),f=c.fillPath({seriesNumber:s,dataPointIndex:a,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][r]}),x=g.drawMarker(e,t,p);if(n.config.series[l].data[a]&&n.config.series[l].data[a].fillColor&&(f=n.config.series[l].data[a].fillColor),x.attr({fill:f}),n.config.chart.dropShadow.enabled){var m=n.config.chart.dropShadow;d.dropShadow(x,m,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var b=n.config.chart.animations.speed;h.animateMarker(x,b,n.globals.easing,function(){window.setTimeout(function(){h.animationCompleted(x)},100)})}return x.attr({rel:a,j:a,index:s,"default-marker-size":p.pSize}),d.setSelectionFilter(x,s,a),u.addEvents(x),x.node.classList.add("apexcharts-marker"),x}},{key:"centerTextInBubble",value:function(e){var t=this.w;return{y:e+=parseInt(t.config.dataLabels.style.fontSize,10)/4}}}]),o}(),zt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"dataLabelsCorrection",value:function(e,t,i,s,a,r,n){var l=this.w,h=!1,d=new W(this.ctx).getTextRects(i,n),c=d.width,u=d.height;t<0&&(t=0),t>l.globals.gridHeight+u&&(t=l.globals.gridHeight+u/2),l.globals.dataLabelsRects[s]===void 0&&(l.globals.dataLabelsRects[s]=[]),l.globals.dataLabelsRects[s].push({x:e,y:t,width:c,height:u});var g=l.globals.dataLabelsRects[s].length-2,p=l.globals.lastDrawnDataLabelsIndexes[s]!==void 0?l.globals.lastDrawnDataLabelsIndexes[s][l.globals.lastDrawnDataLabelsIndexes[s].length-1]:0;if(l.globals.dataLabelsRects[s][g]!==void 0){var f=l.globals.dataLabelsRects[s][p];(e>f.x+f.width||t>f.y+f.height||t+ut.globals.gridWidth+b.textRects.width+30)&&(l="");var w=t.globals.dataLabels.style.colors[r];((t.config.chart.type==="bar"||t.config.chart.type==="rangeBar")&&t.config.plotOptions.bar.distributed||t.config.dataLabels.distributed)&&(w=t.globals.dataLabels.style.colors[n]),typeof w=="function"&&(w=w({series:t.globals.series,seriesIndex:r,dataPointIndex:n,w:t})),g&&(w=g);var S=u.offsetX,A=u.offsetY;if(t.config.chart.type!=="bar"&&t.config.chart.type!=="rangeBar"||(S=0,A=0),t.globals.isSlopeChart&&(n!==0&&(S=-2*u.offsetX+5),n!==0&&n!==t.config.series[r].data.length-1&&(S=0)),b.drawnextLabel){if((m=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:s+S,y:a+A,foreColor:w,textAnchor:h||u.textAnchor,text:l,fontSize:d||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"})).attr({class:x||"apexcharts-datalabel",cx:s,cy:a}),u.dropShadow.enabled){var T=u.dropShadow;new Re(this.ctx).dropShadow(m,T)}c.add(m),t.globals.lastDrawnDataLabelsIndexes[r]===void 0&&(t.globals.lastDrawnDataLabelsIndexes[r]=[]),t.globals.lastDrawnDataLabelsIndexes[r].push(n)}return m}},{key:"addBackgroundToDataLabel",value:function(e,t){var i=this.w,s=i.config.dataLabels.background,a=s.padding,r=s.padding/2,n=t.width,l=t.height,h=new W(this.ctx).drawRect(t.x-a,t.y-r/2,n+2*a,l+r,s.borderRadius,i.config.chart.background!=="transparent"&&i.config.chart.background?i.config.chart.background:"#fff",s.opacity,s.borderWidth,s.borderColor);return s.dropShadow.enabled&&new Re(this.ctx).dropShadow(h,s.dropShadow),h}},{key:"dataLabelsBackground",value:function(){var e=this.w;if(e.config.chart.type!=="bubble")for(var t=e.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=this.w,a=R.clone(s.globals.initialSeries);s.globals.previousPaths=[],i?(s.globals.collapsedSeries=[],s.globals.ancillaryCollapsedSeries=[],s.globals.collapsedSeriesIndices=[],s.globals.ancillaryCollapsedSeriesIndices=[]):a=this.emptyCollapsedSeries(a),s.config.series=a,e&&(t&&(s.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(a,s.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(e){for(var t=this.w,i=0;i-1&&(e[i].data=[]);return e}},{key:"highlightSeries",value:function(e){var t=this.w,i=this.getSeriesByName(e),s=parseInt(i==null?void 0:i.getAttribute("data:realIndex"),10),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),r=null,n=null,l=null;if(t.globals.axisCharts||t.config.chart.type==="radialBar")if(t.globals.axisCharts){r=t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),n=t.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"));var h=t.globals.seriesYAxisReverseMap[s];l=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(h,"']"))}else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']"));else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var d=0;d=h.from&&(u0&&arguments[0]!==void 0?arguments[0]:"asc",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=this.w,s=0;if(i.config.series.length>1){for(var a=i.config.series.map(function(n,l){return n.data&&n.data.length>0&&i.globals.collapsedSeriesIndices.indexOf(l)===-1&&(!i.globals.comboCharts||t.length===0||t.length&&t.indexOf(i.config.series[l].type)>-1)?l:-1}),r=e==="asc"?0:a.length-1;e==="asc"?r=0;e==="asc"?r++:r--)if(a[r]!==-1){s=a[r];break}}return s}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map(function(e,t){return e.type==="bar"||e.type==="column"?t:-1}).filter(function(e){return e!==-1}):this.w.config.series.map(function(e,t){return t})}},{key:"getPreviousPaths",value:function(){var e=this.w;function t(r,n,l){for(var h=r[n].childNodes,d={type:l,paths:[],realIndex:r[n].getAttribute("data:realIndex")},c=0;c0)for(var s=function(r){for(var n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(e.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(r,"'] rect")),l=[],h=function(c){var u=function(p){return n[c].getAttribute(p)},g={x:parseFloat(u("x")),y:parseFloat(u("y")),width:parseFloat(u("width")),height:parseFloat(u("height"))};l.push({rect:g,color:n[c].getAttribute("color")})},d=0;d0?t:[]});return e}}]),o}(),ns=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pe(this.ctx)}return E(o,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var e=this.w.config.series.slice(),t=new $e(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].x!==void 0&&e[this.activeSeriesIndex].data[0]!==null)return!0}},{key:"isFormat2DArray",value:function(){var e=this.w.config.series.slice(),t=new $e(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==void 0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(e,t){for(var i=this.w.config,s=this.w.globals,a=i.chart.type==="boxPlot"||i.series[t].type==="boxPlot",r=0;r=5?this.twoDSeries.push(R.parseNumber(e[t].data[r][4])):this.twoDSeries.push(R.parseNumber(e[t].data[r][1])),s.dataFormatXNumeric=!0),i.xaxis.type==="datetime"){var n=new Date(e[t].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(e[t].data[r][0]);for(var l=0;l-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:this.ctx,s=this.w.config,a=this.w.globals,r=new Ie(i),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();a.isRangeBar=s.chart.type==="rangeBar"&&a.isBarHorizontal,a.hasXaxisGroups=s.xaxis.type==="category"&&s.xaxis.group.groups.length>0,a.hasXaxisGroups&&(a.groups=s.xaxis.group.groups),e.forEach(function(g,p){g.name!==void 0?a.seriesNames.push(g.name):a.seriesNames.push("series-"+parseInt(p+1,10))}),this.coreUtils.setSeriesYAxisMappings();var l=[],h=he(new Set(s.series.map(function(g){return g.group})));s.series.forEach(function(g,p){var f=h.indexOf(g.group);l[f]||(l[f]=[]),l[f].push(a.seriesNames[p])}),a.seriesGroups=l;for(var d=function(){for(var g=0;g0&&(this.twoDSeriesX=n,a.seriesX.push(this.twoDSeriesX))),a.labels.push(this.twoDSeriesX);var u=e[c].data.map(function(g){return R.parseNumber(g)});a.series.push(u)}a.seriesZ.push(this.threeDSeries),e[c].color!==void 0?a.seriesColors.push(e[c].color):a.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(e){var t=this.w.globals,i=this.w.config;t.series=e.slice(),t.seriesNames=i.labels.slice();for(var s=0;s0?i.labels=t.xaxis.categories:t.labels.length>0?i.labels=t.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map(function(s){s.forEach(function(a){i.labels.indexOf(a.x)<0&&a.x&&i.labels.push(a.x)})}),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),t.xaxis.convertedCatToNumeric&&(new Ut(t).convertCatToNumericXaxis(t,this.ctx,i.seriesX[0]),this._generateExternalLabels(e))):this._generateExternalLabels(e)}},{key:"_generateExternalLabels",value:function(e){var t=this.w.globals,i=this.w.config,s=[];if(t.axisCharts){if(t.series.length>0)if(this.isFormatXY())for(var a=i.series.map(function(c,u){return c.data.filter(function(g,p,f){return f.findIndex(function(x){return x.x===g.x})===p})}),r=a.reduce(function(c,u,g,p){return p[c].length>u.length?c:g},0),n=0;n0&&a==i.length&&t.push(s)}),e.globals.ignoreYAxisIndexes=t.map(function(i){return i})}}]),o}(),di=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"scaleSvgNode",value:function(e,t){var i=parseFloat(e.getAttributeNS(null,"width")),s=parseFloat(e.getAttributeNS(null,"height"));e.setAttributeNS(null,"width",i*t),e.setAttributeNS(null,"height",s*t),e.setAttributeNS(null,"viewBox","0 0 "+i+" "+s)}},{key:"getSvgString",value:function(){var e=this;return new Promise(function(t){var i=e.w,s=i.config.chart.toolbar.export.width,a=i.config.chart.toolbar.export.scale||s/i.globals.svgWidth;a||(a=1);var r=e.w.globals.dom.Paper.svg(),n=e.w.globals.dom.Paper.node.cloneNode(!0);a!==1&&e.scaleSvgNode(n,a),e.convertImagesToBase64(n).then(function(){r=new XMLSerializer().serializeToString(n),t(r.replace(/ /g," "))})})}},{key:"convertImagesToBase64",value:function(e){var t=this,i=e.getElementsByTagName("image"),s=Array.from(i).map(function(a){var r=a.getAttributeNS("http://www.w3.org/1999/xlink","href");return r&&!r.startsWith("data:")?t.getBase64FromUrl(r).then(function(n){a.setAttributeNS("http://www.w3.org/1999/xlink","href",n)}).catch(function(n){console.error("Error converting image to base64:",n)}):Promise.resolve()});return Promise.all(s)}},{key:"getBase64FromUrl",value:function(e){return new Promise(function(t,i){var s=new Image;s.crossOrigin="Anonymous",s.onload=function(){var a=document.createElement("canvas");a.width=s.width,a.height=s.height,a.getContext("2d").drawImage(s,0,0),t(a.toDataURL())},s.onerror=i,s.src=e})}},{key:"cleanup",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=e.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(s,function(a){a.setAttribute("width",0)}),t&&t[0]&&(t[0].setAttribute("x",-500),t[0].setAttribute("x1",-500),t[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){var e=this;return new Promise(function(t){e.cleanup(),e.getSvgString().then(function(i){var s=new Blob([i],{type:"image/svg+xml;charset=utf-8"});t(URL.createObjectURL(s))})})}},{key:"dataURI",value:function(e){var t=this;return new Promise(function(i){var s=t.w,a=e?e.scale||e.width/s.globals.svgWidth:1;t.cleanup();var r=document.createElement("canvas");r.width=s.globals.svgWidth*a,r.height=parseInt(s.globals.dom.elWrap.style.height,10)*a;var n=s.config.chart.background!=="transparent"&&s.config.chart.background?s.config.chart.background:"#fff",l=r.getContext("2d");l.fillStyle=n,l.fillRect(0,0,r.width*a,r.height*a),t.getSvgString().then(function(h){var d="data:image/svg+xml,"+encodeURIComponent(h),c=new Image;c.crossOrigin="anonymous",c.onload=function(){if(l.drawImage(c,0,0),r.msToBlob){var u=r.msToBlob();i({blob:u})}else{var g=r.toDataURL("image/png");i({imgURI:g})}},c.src=d})})}},{key:"exportToSVG",value:function(){var e=this;this.svgUrl().then(function(t){e.triggerDownload(t,e.w.config.chart.toolbar.export.svg.filename,".svg")})}},{key:"exportToPng",value:function(){var e=this,t=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,s=t?{scale:t}:i?{width:i}:void 0;this.dataURI(s).then(function(a){var r=a.imgURI,n=a.blob;n?navigator.msSaveOrOpenBlob(n,e.w.globals.chartID+".png"):e.triggerDownload(r,e.w.config.chart.toolbar.export.png.filename,".png")})}},{key:"exportToCSV",value:function(e){var t=this,i=e.series,s=e.fileName,a=e.columnDelimiter,r=a===void 0?",":a,n=e.lineDelimiter,l=n===void 0?` -`:n,h=this.w;i||(i=h.config.series);var d=[],c=[],u="",g=h.globals.series.map(function(A,T){return h.globals.collapsedSeriesIndices.indexOf(T)===-1?A:[]}),p=function(A){return typeof h.config.chart.toolbar.export.csv.categoryFormatter=="function"?h.config.chart.toolbar.export.csv.categoryFormatter(A):h.config.xaxis.type==="datetime"&&String(A).length>=10?new Date(A).toDateString():R.isNumber(A)?A:A.split(r).join("")},f=function(A){return typeof h.config.chart.toolbar.export.csv.valueFormatter=="function"?h.config.chart.toolbar.export.csv.valueFormatter(A):A},x=Math.max.apply(Math,he(i.map(function(A){return A.data?A.data.length:0}))),m=new ns(this.ctx),b=new dt(this.ctx),w=function(A){var T="";if(h.globals.axisCharts){if(h.config.xaxis.type==="category"||h.config.xaxis.convertedCatToNumeric)if(h.globals.isBarHorizontal){var k=h.globals.yLabelFormatters[0],M=new $e(t.ctx).getActiveConfigSeriesIndex();T=k(h.globals.labels[A],{seriesIndex:M,dataPointIndex:A,w:h})}else T=b.getLabel(h.globals.labels,h.globals.timescaleLabels,0,A).text;h.config.xaxis.type==="datetime"&&(h.config.xaxis.categories.length?T=h.config.xaxis.categories[A]:h.config.labels.length&&(T=h.config.labels[A]))}else T=h.config.labels[A];return T===null?"nullvalue":(Array.isArray(T)&&(T=T.join(" ")),R.isNumber(T)?T:T.split(r).join(""))},S=function(A,T){if(d.length&&T===0&&c.push(d.join(r)),A.data){A.data=A.data.length&&A.data||he(Array(x)).map(function(){return""});for(var k=0;k0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],i.config.xaxis.position==="top"?this.offY=0:this.offY=i.globals.gridHeight,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return E(o,[{key:"drawXaxis",value:function(){var e=this.w,t=new W(this.ctx),i=t.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),s=t.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});i.add(s);for(var a=[],r=0;r6&&arguments[6]!==void 0?arguments[6]:{},d=[],c=[],u=this.w,g=h.xaxisFontSize||this.xaxisFontSize,p=h.xaxisFontFamily||this.xaxisFontFamily,f=h.xaxisForeColors||this.xaxisForeColors,x=h.fontWeight||u.config.xaxis.labels.style.fontWeight,m=h.cssClass||u.config.xaxis.labels.style.cssClass,b=u.globals.padHorizontal,w=s.length,S=u.config.xaxis.type==="category"?u.globals.dataPoints:w;if(S===0&&w>S&&(S=w),a){var A=S>1?S-1:S;n=u.globals.gridWidth/Math.min(A,w-1),b=b+r(0,n)/2+u.config.xaxis.labels.offsetX}else n=u.globals.gridWidth/S,b=b+r(0,n)+u.config.xaxis.labels.offsetX;for(var T=function(M){var O=b-r(M,n)/2+u.config.xaxis.labels.offsetX;M===0&&w===1&&n/2===b&&S===1&&(O=u.globals.gridWidth/2);var I=l.axesUtils.getLabel(s,u.globals.timescaleLabels,O,M,d,g,e),F=28;if(u.globals.rotateXLabels&&e&&(F=22),u.config.xaxis.title.text&&u.config.xaxis.position==="top"&&(F+=parseFloat(u.config.xaxis.title.style.fontSize)+2),e||(F=F+parseFloat(g)+(u.globals.xAxisLabelsHeight-u.globals.xAxisGroupLabelsHeight)+(u.globals.rotateXLabels?10:0)),I=u.config.xaxis.tickAmount!==void 0&&u.config.xaxis.tickAmount!=="dataPoints"&&u.config.xaxis.type!=="datetime"?l.axesUtils.checkLabelBasedOnTickamount(M,I,w):l.axesUtils.checkForOverflowingLabels(M,I,w,d,c),u.config.xaxis.labels.show){var G=t.drawText({x:I.x,y:l.offY+u.config.xaxis.labels.offsetY+F-(u.config.xaxis.position==="top"?u.globals.xAxisHeight+u.config.xaxis.axisTicks.height-2:0),text:I.text,textAnchor:"middle",fontWeight:I.isBold?600:x,fontSize:g,fontFamily:p,foreColor:Array.isArray(f)?e&&u.config.xaxis.convertedCatToNumeric?f[u.globals.minX+M-1]:f[M]:f,isPlainText:!1,cssClass:(e?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+m});if(i.add(G),G.on("click",function(B){if(typeof u.config.chart.events.xAxisLabelClick=="function"){var U=Object.assign({},u,{labelIndex:M});u.config.chart.events.xAxisLabelClick(B,l.ctx,U)}}),e){var N=document.createElementNS(u.globals.SVGNS,"title");N.textContent=Array.isArray(I.text)?I.text.join(" "):I.text,G.node.appendChild(N),I.text!==""&&(d.push(I.text),c.push(I))}}Ms.globals.gridWidth)){var r=this.offY+s.config.xaxis.axisTicks.offsetY;if(t=t+r+s.config.xaxis.axisTicks.height,s.config.xaxis.position==="top"&&(t=r-s.config.xaxis.axisTicks.height),s.config.xaxis.axisTicks.show){var n=new W(this.ctx).drawLine(e+s.config.xaxis.axisTicks.offsetX,r+s.config.xaxis.offsetY,a+s.config.xaxis.axisTicks.offsetX,t+s.config.xaxis.offsetY,s.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var e=this.w,t=[],i=this.xaxisLabels.length,s=e.globals.padHorizontal;if(e.globals.timescaleLabels.length>0)for(var a=0;a0){var d=a[a.length-1].getBBox(),c=a[0].getBBox();d.x<-20&&a[a.length-1].parentNode.removeChild(a[a.length-1]),c.x+c.width>e.globals.gridWidth&&!e.globals.isBarHorizontal&&a[0].parentNode.removeChild(a[0]);for(var u=0;u0&&(this.xaxisLabels=t.globals.timescaleLabels.slice())}return E(o,[{key:"drawGridArea",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w,i=new W(this.ctx);e||(e=i.group({class:"apexcharts-grid"}));var s=i.drawLine(t.globals.padHorizontal,1,t.globals.padHorizontal,t.globals.gridHeight,"transparent"),a=i.drawLine(t.globals.padHorizontal,t.globals.gridHeight,t.globals.gridWidth,t.globals.gridHeight,"transparent");return e.add(a),e.add(s),e}},{key:"drawGrid",value:function(){if(this.w.globals.axisCharts){var e=this.renderGrid();return this.drawGridArea(e.el),e}return null}},{key:"createGridMask",value:function(){var e=this.w,t=e.globals,i=new W(this.ctx),s=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,he(e.config.stroke.width)):e.config.stroke.width,a=function(d){var c=document.createElementNS(t.SVGNS,"clipPath");return c.setAttribute("id",d),c};t.dom.elGridRectMask=a("gridRectMask".concat(t.cuid)),t.dom.elGridRectBarMask=a("gridRectBarMask".concat(t.cuid)),t.dom.elGridRectMarkerMask=a("gridRectMarkerMask".concat(t.cuid)),t.dom.elForecastMask=a("forecastMask".concat(t.cuid)),t.dom.elNonForecastMask=a("nonForecastMask".concat(t.cuid));var r=0,n=0;(["bar","rangeBar","candlestick","boxPlot"].includes(e.config.chart.type)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&(r=Math.max(e.config.grid.padding.left,t.barPadForNumericAxis),n=Math.max(e.config.grid.padding.right,t.barPadForNumericAxis)),t.dom.elGridRect=i.drawRect(0,0,t.gridWidth,t.gridHeight,0,"#fff"),t.dom.elGridRectBar=i.drawRect(-s/2-r-2,-s/2-2,t.gridWidth+s+n+r+4,t.gridHeight+s+4,0,"#fff");var l=e.globals.markers.largestSize;t.dom.elGridRectMarker=i.drawRect(-l,-l,t.gridWidth+2*l,t.gridHeight+2*l,0,"#fff"),t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node),t.dom.elGridRectBarMask.appendChild(t.dom.elGridRectBar.node),t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);var h=t.dom.baseEl.querySelector("defs");h.appendChild(t.dom.elGridRectMask),h.appendChild(t.dom.elGridRectBarMask),h.appendChild(t.dom.elGridRectMarkerMask),h.appendChild(t.dom.elForecastMask),h.appendChild(t.dom.elNonForecastMask)}},{key:"_drawGridLines",value:function(e){var t=e.i,i=e.x1,s=e.y1,a=e.x2,r=e.y2,n=e.xCount,l=e.parent,h=this.w;if(!(t===0&&h.globals.skipFirstTimelinelabel||t===n-1&&h.globals.skipLastTimelinelabel&&!h.config.xaxis.labels.formatter||h.config.chart.type==="radar")){h.config.grid.xaxis.lines.show&&this._drawGridLine({i:t,x1:i,y1:s,x2:a,y2:r,xCount:n,parent:l});var d=0;if(h.globals.hasXaxisGroups&&h.config.xaxis.tickPlacement==="between"){var c=h.globals.groups;if(c){for(var u=0,g=0;u0&&e.config.xaxis.type!=="datetime"&&(a=t.yAxisScale[s].result.length-1)),this._drawXYLines({xCount:a,tickAmount:r})}else a=r,r=t.xTickAmount,this._drawInvertedXYLines({xCount:a,tickAmount:r});return this.drawGridBands(a,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.gridWidth/a}}},{key:"drawGridBands",value:function(e,t){var i,s,a=this,r=this.w;if(((i=r.config.grid.row.colors)===null||i===void 0?void 0:i.length)>0&&function(p,f,x,m,b,w){for(var S=0,A=0;S=r.config.grid[p].colors.length&&(A=0),a._drawGridBandRect({c:A,x1:x,y1:m,x2:b,y2:w,type:p}),m+=r.globals.gridHeight/t}("row",t,0,0,r.globals.gridWidth,r.globals.gridHeight/t),((s=r.config.grid.column.colors)===null||s===void 0?void 0:s.length)>0){var n=r.globals.isBarHorizontal||r.config.xaxis.tickPlacement!=="on"||r.config.xaxis.type!=="category"&&!r.config.xaxis.convertedCatToNumeric?e:e-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var l=r.globals.padHorizontal,h=r.globals.padHorizontal+r.globals.gridWidth/n,d=r.globals.gridHeight,c=0,u=0;c=r.config.grid.column.colors.length&&(u=0),r.config.xaxis.type==="datetime"&&(l=this.xaxisLabels[c].position,h=(((g=this.xaxisLabels[c+1])===null||g===void 0?void 0:g.position)||r.globals.gridWidth)-this.xaxisLabels[c].position),this._drawGridBandRect({c:u,x1:l,y1:0,x2:h,y2:d,type:"column"}),l+=r.globals.gridWidth/n}}}}]),o}(),va=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.coreUtils=new Pe(this.ctx)}return E(o,[{key:"niceScale",value:function(e,t){var i,s,a,r,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=1e-11,h=this.w,d=h.globals;d.isBarHorizontal?(i=h.config.xaxis,s=Math.max((d.svgWidth-100)/25,2)):(i=h.config.yaxis[n],s=Math.max((d.svgHeight-100)/15,2)),R.isNumber(s)||(s=10),a=i.min!==void 0&&i.min!==null,r=i.max!==void 0&&i.min!==null;var c=i.stepSize!==void 0&&i.stepSize!==null,u=i.tickAmount!==void 0&&i.tickAmount!==null,g=u?i.tickAmount:d.niceScaleDefaultTicks[Math.min(Math.round(s/2),d.niceScaleDefaultTicks.length-1)];if(d.isMultipleYAxis&&!u&&d.multiAxisTickAmount>0&&(g=d.multiAxisTickAmount,u=!0),g=g==="dataPoints"?d.dataPoints-1:Math.abs(Math.round(g)),(e===Number.MIN_VALUE&&t===0||!R.isNumber(e)&&!R.isNumber(t)||e===Number.MIN_VALUE&&t===-Number.MAX_VALUE)&&(e=R.isNumber(i.min)?i.min:0,t=R.isNumber(i.max)?i.max:e+g,d.allSeriesCollapsed=!1),e>t){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var p=t;t=e,e=p}else e===t&&(e=e===0?0:e-1,t=t===0?2:t+1);var f=[];g<1&&(g=1);var x=g,m=Math.abs(t-e);!a&&e>0&&e/m<.15&&(e=0,a=!0),!r&&t<0&&-t/m<.15&&(t=0,r=!0);var b=(m=Math.abs(t-e))/x,w=b,S=Math.floor(Math.log10(w)),A=Math.pow(10,S),T=Math.ceil(w/A);if(b=w=(T=d.niceScaleAllowedMagMsd[d.yValueDecimal===0?0:1][T])*A,d.isBarHorizontal&&i.stepSize&&i.type!=="datetime"?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var k=Math.floor(Math.log10(b));b*=Math.pow(10,S-k)}if(a&&r){var M=m/x;if(u)if(c)if(R.mod(m,b)!=0){var O=R.getGCD(b,M);b=M/O<10?O:M}else R.mod(b,M)==0?b=M:(M=b,u=!1);else b=M;else if(c)R.mod(m,b)==0?M=b:b=M;else if(R.mod(m,b)==0)M=b;else{M=m/(x=Math.ceil(m/b));var I=R.getGCD(m,b);m/Is&&(e=t-b*g,e+=b*Math.floor((F-e)/b))}else if(a)if(u)t=e+b*x;else{var G=t;t=b*Math.ceil(t/b),Math.abs(t-e)/R.getGCD(m,b)>s&&(t=e+b*g,t+=b*Math.ceil((G-t)/b))}}else if(d.isMultipleYAxis&&u){var N=b*Math.floor(e/b),B=N+b*x;B0&&e16&&R.getPrimeFactors(x).length<2&&x++,!u&&i.forceNiceScale&&d.yValueDecimal===0&&x>m&&(x=m,b=Math.round(m/x)),x>s&&(!u&&!c||i.forceNiceScale)){var U=R.getPrimeFactors(x),q=U.length-1,$=x;e:for(var ie=0;ieOe);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:"linearScale",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:void 0,r=Math.abs(t-e),n=[];if(e===t)return{result:n=[e],niceMin:n[0],niceMax:n[n.length-1]};(i=this._adjustTicksForSmallRange(i,s,r))==="dataPoints"&&(i=this.w.globals.dataPoints-1),a||(a=r/i),a=Math.round(10*(a+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,a=1);for(var l=e;i>=0;)n.push(l),l=R.preciseAddition(l,a),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(e,t,i){t<=0&&(t=Math.max(e,i)),e<=0&&(e=Math.min(t,i));for(var s=[],a=Math.ceil(Math.log(t)/Math.log(i)+1),r=Math.floor(Math.log(e)/Math.log(i));r5?(s.allSeriesCollapsed=!1,s.yAxisScale[e]=r.forceNiceScale?this.logarithmicScaleNice(t,i,r.logBase):this.logarithmicScale(t,i,r.logBase)):i!==-Number.MAX_VALUE&&R.isNumber(i)&&t!==Number.MAX_VALUE&&R.isNumber(t)?(s.allSeriesCollapsed=!1,s.yAxisScale[e]=this.niceScale(t,i,e)):s.yAxisScale[e]=this.niceScale(Number.MIN_VALUE,0,e)}},{key:"setXScale",value:function(e,t){var i=this.w,s=i.globals,a=Math.abs(t-e);if(t!==-Number.MAX_VALUE&&R.isNumber(t)){var r=s.xTickAmount+1;a<10&&a>1&&(r=a),s.xAxisScale=this.linearScale(e,t,r,0,i.config.xaxis.stepSize)}else s.xAxisScale=this.linearScale(0,10,10);return s.xAxisScale}},{key:"scaleMultipleYAxes",value:function(){var e=this,t=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var s=i.seriesYAxisMap,a=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],s.forEach(function(n,l){var h=[];n.forEach(function(d){var c=t.series[d].group;h.indexOf(c)<0&&h.push(c)}),n.length>0?function(){var d,c,u=Number.MAX_VALUE,g=-Number.MAX_VALUE,p=u,f=g;if(t.chart.stacked)(function(){var b=new Array(i.dataPoints).fill(0),w=[],S=[],A=[];h.forEach(function(){w.push(b.map(function(){return Number.MIN_VALUE})),S.push(b.map(function(){return Number.MIN_VALUE})),A.push(b.map(function(){return Number.MIN_VALUE}))});for(var T=function(M){!d&&t.series[n[M]].type&&(d=t.series[n[M]].type);var O=n[M];c=t.series[O].group?t.series[O].group:"axis-".concat(l),!(i.collapsedSeriesIndices.indexOf(O)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(O)<0)||(i.allSeriesCollapsed=!1,h.forEach(function(I,F){if(t.series[O].group===I)for(var G=0;G=0?S[F][G]+=N:A[F][G]+=N,w[F][G]+=N,p=Math.min(p,N),f=Math.max(f,N)}})),d!=="bar"&&d!=="column"||i.barGroups.push(c)},k=0;k1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-Number.MAX_VALUE,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,l=Number.MIN_VALUE;s===null&&(s=e+1);var h=r.series,d=h,c=h;a.chart.type==="candlestick"?(d=r.seriesCandleL,c=r.seriesCandleH):a.chart.type==="boxPlot"?(d=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(d=r.seriesRangeStart,c=r.seriesRangeEnd);var u=!1;if(r.seriesX.length>=s){var g,p=(g=r.brushSource)===null||g===void 0?void 0:g.w.config.chart.brush;(a.chart.zoom.enabled&&a.chart.zoom.autoScaleYaxis||p!=null&&p.enabled&&p!=null&&p.autoScaleYaxis)&&(u=!0)}for(var f=e;fm&&r.seriesX[f][b]>a.xaxis.max;b--);}for(var w=m;w<=b&&wd[f][w]&&d[f][w]<0&&(l=d[f][w])}else r.hasNullValues=!0}x!=="bar"&&x!=="column"||(l<0&&n<0&&(n=0,i=Math.max(i,0)),l===Number.MIN_VALUE&&(l=0,t=Math.min(t,0)))}return a.chart.type==="rangeBar"&&r.seriesRangeStart.length&&r.isBarHorizontal&&(l=t),a.chart.type==="bar"&&(l<0&&n<0&&(n=0),l===Number.MIN_VALUE&&(l=0)),{minY:l,maxY:n,lowestY:t,highestY:i}}},{key:"setYRange",value:function(){var e=this.w.globals,t=this.w.config;e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE;var i,s=Number.MAX_VALUE;if(e.isMultipleYAxis){s=Number.MAX_VALUE;for(var a=0;ae.dataPoints&&e.dataPoints!==0&&(s=e.dataPoints-1);else if(t.xaxis.tickAmount==="dataPoints"){if(e.series.length>1&&(s=e.series[e.maxValsInArrayIndex].length-1),e.isXNumeric){var a=e.maxX-e.minX;a<30&&(s=a-1)}}else s=t.xaxis.tickAmount;if(e.xTickAmount=s,t.xaxis.max!==void 0&&typeof t.xaxis.max=="number"&&(e.maxX=t.xaxis.max),t.xaxis.min!==void 0&&typeof t.xaxis.min=="number"&&(e.minX=t.xaxis.min),t.xaxis.range!==void 0&&(e.minX=e.maxX-t.xaxis.range),e.minX!==Number.MAX_VALUE&&e.maxX!==-Number.MAX_VALUE)if(t.xaxis.convertedCatToNumeric&&!e.dataFormatXNumeric){for(var r=[],n=e.minX-1;n0&&(e.xAxisScale=this.scales.linearScale(1,e.labels.length,s-1,0,t.xaxis.stepSize),e.seriesX=e.labels.slice());i&&(e.labels=e.xAxisScale.result.slice())}return e.isBarHorizontal&&e.labels.length&&(e.xTickAmount=e.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:e.minX,maxX:e.maxX}}},{key:"setZRange",value:function(){var e=this.w.globals;if(e.isDataXYZ){for(var t=0;t0){var n=a-s[r-1];n>0&&(e.minXDiff=Math.min(n,e.minXDiff))}}),e.dataPoints!==1&&e.minXDiff!==Number.MAX_VALUE||(e.minXDiff=.5)})}},{key:"_setStackedMinMax",value:function(){var e=this,t=this.w.globals;if(t.series.length){var i=t.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map(function(r){return r})]);var s={},a={};i.forEach(function(r){s[r]=[],a[r]=[],e.w.config.series.map(function(n,l){return r.indexOf(t.seriesNames[l])>-1?l:null}).filter(function(n){return n!==null}).forEach(function(n){for(var l=0;l0?s[r][l]+=parseFloat(t.series[n][l])+1e-4:a[r][l]+=parseFloat(t.series[n][l]))}})}),Object.entries(s).forEach(function(r){var n=J(r,1)[0];s[n].forEach(function(l,h){t.maxY=Math.max(t.maxY,s[n][h]),t.minY=Math.min(t.minY,a[n][h])})})}}}]),o}(),ls=function(){function o(e,t){P(this,o),this.ctx=e,this.elgrid=t,this.w=e.w;var i=this.w;this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.axisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xAxisoffX=i.config.xaxis.position==="bottom"?i.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new dt(e)}return E(o,[{key:"drawYaxis",value:function(e){var t=this.w,i=new W(this.ctx),s=t.config.yaxis[e].labels.style,a=s.fontSize,r=s.fontFamily,n=s.fontWeight,l=i.group({class:"apexcharts-yaxis",rel:e,transform:"translate(".concat(t.globals.translateYAxisX[e],", 0)")});if(this.axesUtils.isYAxisHidden(e))return l;var h=i.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var d=t.globals.yAxisScale[e].result.length-1,c=t.globals.gridHeight/d,u=t.globals.yLabelFormatters[e],g=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice());if(t.config.yaxis[e].labels.show){var p=t.globals.translateY+t.config.yaxis[e].labels.offsetY;t.globals.isBarHorizontal?p=0:t.config.chart.type==="heatmap"&&(p-=c/2),p+=parseInt(a,10)/3;for(var f=d;f>=0;f--){var x=u(g[f],f,t),m=t.config.yaxis[e].labels.padding;t.config.yaxis[e].opposite&&t.config.yaxis.length!==0&&(m*=-1);var b=this.getTextAnchor(t.config.yaxis[e].labels.align,t.config.yaxis[e].opposite),w=this.axesUtils.getYAxisForeColor(s.colors,e),S=Array.isArray(w)?w[f]:w,A=R.listToArray(t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label tspan"))).map(function(k){return k.textContent}),T=i.drawText({x:m,y:p,text:A.includes(x)&&!t.config.yaxis[e].labels.showDuplicates?"":x,textAnchor:b,fontSize:a,fontFamily:r,fontWeight:n,maxWidth:t.config.yaxis[e].labels.maxWidth,foreColor:S,isPlainText:!1,cssClass:"apexcharts-yaxis-label ".concat(s.cssClass)});h.add(T),this.addTooltip(T,x),t.config.yaxis[e].labels.rotate!==0&&this.rotateLabel(i,T,firstLabel,t.config.yaxis[e].labels.rotate),p+=c}}return this.addYAxisTitle(i,l,e),this.addAxisBorder(i,l,e,d,c),l}},{key:"getTextAnchor",value:function(e,t){return e==="left"?"start":e==="center"?"middle":e==="right"?"end":t?"start":"end"}},{key:"addTooltip",value:function(e,t){var i=document.createElementNS(this.w.globals.SVGNS,"title");i.textContent=Array.isArray(t)?t.join(" "):t,e.node.appendChild(i)}},{key:"rotateLabel",value:function(e,t,i,s){var a=e.rotateAroundCenter(i.node),r=e.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(".concat(s," ").concat(a.x," ").concat(r.y,")"))}},{key:"addYAxisTitle",value:function(e,t,i){var s=this.w;if(s.config.yaxis[i].title.text!==void 0){var a=e.group({class:"apexcharts-yaxis-title"}),r=s.config.yaxis[i].opposite?s.globals.translateYAxisX[i]:0,n=e.drawText({x:r,y:s.globals.gridHeight/2+s.globals.translateY+s.config.yaxis[i].title.offsetY,text:s.config.yaxis[i].title.text,textAnchor:"end",foreColor:s.config.yaxis[i].title.style.color,fontSize:s.config.yaxis[i].title.style.fontSize,fontWeight:s.config.yaxis[i].title.style.fontWeight,fontFamily:s.config.yaxis[i].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text ".concat(s.config.yaxis[i].title.style.cssClass)});a.add(n),t.add(a)}}},{key:"addAxisBorder",value:function(e,t,i,s,a){var r=this.w,n=r.config.yaxis[i].axisBorder,l=31+n.offsetX;if(r.config.yaxis[i].opposite&&(l=-31-n.offsetX),n.show){var h=e.drawLine(l,r.globals.translateY+n.offsetY-2,l,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);t.add(h)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(l,s,n,r.config.yaxis[i].axisTicks,i,a,t)}},{key:"drawYaxisInversed",value:function(e){var t=this.w,i=new W(this.ctx),s=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),a=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});s.add(a);var r=t.globals.yAxisScale[e].result.length-1,n=t.globals.gridWidth/r+.1,l=n+t.config.xaxis.labels.offsetX,h=t.globals.xLabelFormatter,d=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice()),c=t.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(d=c.slice()).length),t.config.xaxis.labels.show)for(var u=c.length?0:r;c.length?u=0;c.length?u++:u--){var g=h(d[u],u,t),p=t.globals.gridWidth+t.globals.padHorizontal-(l-n+t.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(d,c,p,u,this.drawnLabels,this.xaxisFontSize);p=f.x,g=f.text,this.drawnLabels.push(f.text),u===0&&t.globals.skipFirstTimelinelabel&&(g=""),u===d.length-1&&t.globals.skipLastTimelinelabel&&(g="")}var x=i.drawText({x:p,y:this.xAxisoffX+t.config.xaxis.labels.offsetY+30-(t.config.xaxis.position==="top"?t.globals.xAxisHeight+t.config.xaxis.axisTicks.height-2:0),text:g,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[e]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:t.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label ".concat(t.config.xaxis.labels.style.cssClass)});a.add(x),x.tspan(g),this.addTooltip(x,g),l+=n}return this.inversedYAxisTitleText(s),this.inversedYAxisBorder(s),s}},{key:"inversedYAxisBorder",value:function(e){var t=this.w,i=new W(this.ctx),s=t.config.xaxis.axisBorder;if(s.show){var a=0;t.config.chart.type==="bar"&&t.globals.isXNumeric&&(a-=15);var r=i.drawLine(t.globals.padHorizontal+a+s.offsetX,this.xAxisoffX,t.globals.gridWidth,this.xAxisoffX,s.color,0,s.height);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(r):e.add(r)}}},{key:"inversedYAxisTitleText",value:function(e){var t=this.w,i=new W(this.ctx);if(t.config.xaxis.title.text!==void 0){var s=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),a=i.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(t.config.xaxis.title.style.fontSize)+t.config.xaxis.title.offsetY+20,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text ".concat(t.config.xaxis.title.style.cssClass)});s.add(a),e.add(s)}}},{key:"yAxisTitleRotate",value:function(e,t){var i=this.w,s=new W(this.ctx),a=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g")),r=a?a.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-title text")),l=n?n.getBoundingClientRect():{width:0,height:0};if(n){var h=this.xPaddingForYAxisTitle(e,r,l,t);n.setAttribute("x",h.xPos-(t?10:0));var d=s.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(t?-1*i.config.yaxis[e].title.rotate:i.config.yaxis[e].title.rotate," ").concat(d.x," ").concat(d.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(e,t,i,s){var a=this.w,r=0,n=10;return a.config.yaxis[e].title.text===void 0||e<0?{xPos:r,padd:0}:(s?r=t.width+a.config.yaxis[e].title.offsetX+i.width/2+n/2:(r=-1*t.width+a.config.yaxis[e].title.offsetX+n/2+i.width/2,a.globals.isBarHorizontal&&(n=25,r=-1*t.width-a.config.yaxis[e].title.offsetX-n)),{xPos:r,padd:n})}},{key:"setYAxisXPosition",value:function(e,t){var i=this.w,s=0,a=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach(function(l,h){var d=i.globals.ignoreYAxisIndexes.includes(h)||!l.show||l.floating||e[h].width===0,c=e[h].width+t[h].width;l.opposite?i.globals.isBarHorizontal?(a=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[h]=a-l.labels.offsetX):(a=i.globals.gridWidth+i.globals.translateX+n,d||(n+=c+20),i.globals.translateYAxisX[h]=a-l.labels.offsetX+20):(s=i.globals.translateX-r,d||(r+=c+20),i.globals.translateYAxisX[h]=s+l.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var e=this.w;R.listToArray(e.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis")).forEach(function(t,i){var s=e.config.yaxis[i];if(s&&!s.floating&&s.labels.align!==void 0){var a=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=R.listToArray(e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"))),n=a.getBoundingClientRect();r.forEach(function(l){l.setAttribute("text-anchor",s.labels.align)}),s.labels.align!=="left"||s.opposite?s.labels.align==="center"?a.setAttribute("transform","translate(".concat(n.width/2*(s.opposite?1:-1),", 0)")):s.labels.align==="right"&&s.opposite&&a.setAttribute("transform","translate(".concat(n.width,", 0)")):a.setAttribute("transform","translate(-".concat(n.width,", 0)"))}})}}]),o}(),ln=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.documentEvent=R.bind(this.documentEvent,this)}return E(o,[{key:"addEventListener",value:function(e,t){var i=this.w;i.globals.events.hasOwnProperty(e)?i.globals.events[e].push(t):i.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){var s=i.globals.events[e].indexOf(t);s!==-1&&i.globals.events[e].splice(s,1)}}},{key:"fireEvent",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var s=i.globals.events[e],a=s.length,r=0;r0&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(a){return a.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var s=R.extend(pa,i);this.w.globals.locale=s.options}}]),o}(),cn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"drawAxis",value:function(e,t){var i,s,a=this,r=this.w.globals,n=this.w.config,l=new Zt(this.ctx,t),h=new ls(this.ctx,t);r.axisCharts&&e!=="radar"&&(r.isBarHorizontal?(s=h.drawYaxisInversed(0),i=l.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(s)):(i=l.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map(function(d,c){if(r.ignoreYAxisIndexes.indexOf(c)===-1&&(s=h.drawYaxis(c),r.dom.Paper.add(s),a.w.config.grid.position==="back")){var u=r.dom.Paper.children()[1];u.remove(),r.dom.Paper.add(u)}})))}}]),o}(),hs=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"drawXCrosshairs",value:function(){var e=this.w,t=new W(this.ctx),i=new Re(this.ctx),s=e.config.xaxis.crosshairs.fill.gradient,a=e.config.xaxis.crosshairs.dropShadow,r=e.config.xaxis.crosshairs.fill.type,n=s.colorFrom,l=s.colorTo,h=s.opacityFrom,d=s.opacityTo,c=s.stops,u=a.enabled,g=a.left,p=a.top,f=a.blur,x=a.color,m=a.opacity,b=e.config.xaxis.crosshairs.fill.color;if(e.config.xaxis.crosshairs.show){r==="gradient"&&(b=t.drawGradient("vertical",n,l,h,d,null,c,null));var w=t.drawRect();e.config.xaxis.crosshairs.width===1&&(w=t.drawLine());var S=e.globals.gridHeight;(!R.isNumber(S)||S<0)&&(S=0);var A=e.config.xaxis.crosshairs.width;(!R.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:S,width:A,height:S,fill:b,filter:"none","fill-opacity":e.config.xaxis.crosshairs.opacity,stroke:e.config.xaxis.crosshairs.stroke.color,"stroke-width":e.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":e.config.xaxis.crosshairs.stroke.dashArray}),u&&(w=i.dropShadow(w,{left:g,top:p,blur:f,color:x,opacity:m})),e.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var e=this.w,t=new W(this.ctx),i=e.config.yaxis[0].crosshairs,s=e.globals.barPadForNumericAxis;if(e.config.yaxis[0].crosshairs.show){var a=t.drawLine(-s,0,e.globals.gridWidth+s,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);a.attr({class:"apexcharts-ycrosshairs"}),e.globals.dom.elGraphical.add(a)}var r=t.drawLine(-s,0,e.globals.gridWidth+s,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),e.globals.dom.elGraphical.add(r)}}]),o}(),dn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"checkResponsiveConfig",value:function(e){var t=this,i=this.w,s=i.config;if(s.responsive.length!==0){var a=s.responsive.slice();a.sort(function(h,d){return h.breakpoint>d.breakpoint?1:d.breakpoint>h.breakpoint?-1:0}).reverse();var r=new qt({}),n=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=a[0].breakpoint,c=window.innerWidth>0?window.innerWidth:screen.width;if(c>d){var u=R.clone(i.globals.initialConfig);u.series=R.clone(i.config.series);var g=Pe.extendArrayProps(r,u,i);h=R.extend(g,h),h=R.extend(i.config,h),t.overrideResponsiveOptions(h)}else for(var p=0;p0&&typeof e[0]=="function"?(this.isColorFn=!0,i.config.series.map(function(s,a){var r=e[a]||e[0];return typeof r=="function"?r({value:i.globals.axisCharts?i.globals.series[a][0]||0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:t.w}):r})):e:this.predefined()}},{key:"applySeriesColors",value:function(e,t){e.forEach(function(i,s){i&&(t[s]=i)})}},{key:"getMonochromeColors",value:function(e,t,i){var s=e.color,a=e.shadeIntensity,r=e.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?t[0].length*t.length:t.length,l=1/(n/a),h=0;return Array.from({length:n},function(){var d=r==="dark"?i.shadeColor(-1*h,s):i.shadeColor(h,s);return h+=l,d})}},{key:"applyColorTypes",value:function(e,t){var i=this,s=this.w;e.forEach(function(a){s.globals[a].colors=s.config[a].colors===void 0?i.isColorFn?s.config.colors:t:s.config[a].colors.slice(),i.pushExtraColors(s.globals[a].colors)})}},{key:"applyDataLabelsColors",value:function(e){var t=this.w;t.globals.dataLabels.style.colors=t.config.dataLabels.style.colors===void 0?e:t.config.dataLabels.style.colors.slice(),this.pushExtraColors(t.globals.dataLabels.style.colors,50)}},{key:"applyRadarPolygonsColors",value:function(){var e=this.w;e.globals.radarPolygons.fill.colors=e.config.plotOptions.radar.polygons.fill.colors===void 0?[e.config.theme.mode==="dark"?"#424242":"none"]:e.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(e.globals.radarPolygons.fill.colors,20)}},{key:"applyMarkersColors",value:function(e){var t=this.w;t.globals.markers.colors=t.config.markers.colors===void 0?e:t.config.markers.colors.slice(),this.pushExtraColors(t.globals.markers.colors)}},{key:"pushExtraColors",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=this.w,a=t||s.globals.series.length;if(i===null&&(i=this.isBarDistributed||this.isHeatmapDistributed||s.config.chart.type==="heatmap"&&s.config.plotOptions.heatmap&&s.config.plotOptions.heatmap.colorScale.inverse),i&&s.globals.series.length&&(a=s.globals.series[s.globals.maxValsInArrayIndex].length*s.globals.series.length),e.lengthe.globals.svgWidth&&(this.dCtx.lgRect.width=e.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var e=this,t=this.w,i=[];t.config.series.forEach(function(l,h){l.data.forEach(function(d,c){var u;u=t.globals.series[h][c],s=t.config.dataLabels.formatter(u,{ctx:e.dCtx.ctx,seriesIndex:h,dataPointIndex:c,w:t}),i.push(s)})});var s=R.getLargestStringFromArr(i),a=new W(this.dCtx.ctx),r=t.config.dataLabels.style,n=a.getTextRects(s,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(e,t){var i=e;if(this.w.globals.isMultiLineX){var s=t.map(function(r,n){return Array.isArray(r)?r.length:1}),a=Math.max.apply(Math,he(s));i=t[s.indexOf(a)]}return i}}]),o}(),pn=function(){function o(e){P(this,o),this.w=e.w,this.dCtx=e}return E(o,[{key:"getxAxisLabelsCoords",value:function(){var e,t=this.w,i=t.globals.labels.slice();if(t.config.xaxis.convertedCatToNumeric&&i.length===0&&(i=t.globals.categoryLabels),t.globals.timescaleLabels.length>0){var s=this.getxAxisTimeScaleLabelsCoords();e={width:s.width,height:s.height},t.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=t.config.legend.position!=="left"&&t.config.legend.position!=="right"||t.config.legend.floating?0:this.dCtx.lgRect.width;var a=t.globals.xLabelFormatter,r=R.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);t.globals.isBarHorizontal&&(n=r=t.globals.yAxisScale[0].result.reduce(function(p,f){return p.length>f.length?p:f},0));var l=new Vt(this.dCtx.ctx),h=r;r=l.xLabelFormat(a,r,h,{i:void 0,dateFormatter:new Ie(this.dCtx.ctx).formatDate,w:t}),n=l.xLabelFormat(a,n,h,{i:void 0,dateFormatter:new Ie(this.dCtx.ctx).formatDate,w:t}),(t.config.xaxis.convertedCatToNumeric&&r===void 0||String(r).trim()==="")&&(n=r="1");var d=new W(this.dCtx.ctx),c=d.getTextRects(r,t.config.xaxis.labels.style.fontSize),u=c;if(r!==n&&(u=d.getTextRects(n,t.config.xaxis.labels.style.fontSize)),(e={width:c.width>=u.width?c.width:u.width,height:c.height>=u.height?c.height:u.height}).width*i.length>t.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&t.config.xaxis.labels.rotate!==0||t.config.xaxis.labels.rotateAlways){if(!t.globals.isBarHorizontal){t.globals.rotateXLabels=!0;var g=function(p){return d.getTextRects(p,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,"rotate(".concat(t.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==n&&(u=g(n)),e.height=(c.height>u.height?c.height:u.height)/1.5,e.width=c.width>u.width?c.width:u.width}}else t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(e={width:0,height:0}),{width:e.width,height:e.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var e,t=this.w;if(!t.globals.hasXaxisGroups)return{width:0,height:0};var i,s=((e=t.config.xaxis.group.style)===null||e===void 0?void 0:e.fontSize)||t.config.xaxis.labels.style.fontSize,a=t.globals.groups.map(function(c){return c.title}),r=R.getLargestStringFromArr(a),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,a),l=new W(this.dCtx.ctx),h=l.getTextRects(r,s),d=h;return r!==n&&(d=l.getTextRects(n,s)),i={width:h.width>=d.width?h.width:d.width,height:h.height>=d.height?h.height:d.height},t.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var e=this.w,t=0,i=0;if(e.config.xaxis.title.text!==void 0){var s=new W(this.dCtx.ctx).getTextRects(e.config.xaxis.title.text,e.config.xaxis.title.style.fontSize);t=s.width,i=s.height}return{width:t,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var e,t=this.w;this.dCtx.timescaleLabels=t.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map(function(a){return a.value}),s=i.reduce(function(a,r){return a===void 0?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):a.length>r.length?a:r},0);return 1.05*(e=new W(this.dCtx.ctx).getTextRects(s,t.config.xaxis.labels.style.fontSize)).width*i.length>t.globals.gridWidth&&t.config.xaxis.labels.rotate!==0&&(t.globals.overlappingXLabels=!0),e}},{key:"additionalPaddingXLabels",value:function(e){var t=this,i=this.w,s=i.globals,a=i.config,r=a.xaxis.type,n=e.width;s.skipLastTimelinelabel=!1,s.skipFirstTimelinelabel=!1;var l=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,h=function(d,c){a.yaxis.length>1&&function(u){return s.collapsedSeriesIndices.indexOf(u)!==-1}(c)||function(u){if(t.dCtx.timescaleLabels&&t.dCtx.timescaleLabels.length){var g=t.dCtx.timescaleLabels[0],p=t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length-1].position+n/1.75-t.dCtx.yAxisWidthRight,f=g.position-n/1.75+t.dCtx.yAxisWidthLeft,x=i.config.legend.position==="right"&&t.dCtx.lgRect.width>0?t.dCtx.lgRect.width:0;p>s.svgWidth-s.translateX-x&&(s.skipLastTimelinelabel=!0),f<-(u.show&&!u.floating||a.chart.type!=="bar"&&a.chart.type!=="candlestick"&&a.chart.type!=="rangeBar"&&a.chart.type!=="boxPlot"?10:n/1.75)&&(s.skipFirstTimelinelabel=!0)}else r==="datetime"?t.dCtx.gridPad.right((k=String(c(A,l)))===null||k===void 0?void 0:k.length)?S:A},u),p=g=c(g,l);if(g!==void 0&&g.length!==0||(g=h.niceMax),t.globals.isBarHorizontal){s=0;var f=t.globals.labels.slice();g=R.getLargestStringFromArr(f),g=c(g,{seriesIndex:n,dataPointIndex:-1,w:t}),p=e.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var x=new W(e.dCtx.ctx),m="rotate(".concat(r.labels.rotate," 0 0)"),b=x.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,m,!1),w=b;g!==p&&(w=x.getTextRects(p,r.labels.style.fontSize,r.labels.style.fontFamily,m,!1)),i.push({width:(d>w.width||d>b.width?d:w.width>b.width?w.width:b.width)+s,height:w.height>b.height?w.height:b.height})}else i.push({width:0,height:0})}),i}},{key:"getyAxisTitleCoords",value:function(){var e=this,t=this.w,i=[];return t.config.yaxis.map(function(s,a){if(s.show&&s.title.text!==void 0){var r=new W(e.dCtx.ctx),n="rotate(".concat(s.title.rotate," 0 0)"),l=r.getTextRects(s.title.text,s.title.style.fontSize,s.title.style.fontFamily,n,!1);i.push({width:l.width,height:l.height})}else i.push({width:0,height:0})}),i}},{key:"getTotalYAxisWidth",value:function(){var e=this.w,t=0,i=0,s=0,a=e.globals.yAxisScale.length>1?10:0,r=new dt(this.dCtx.ctx),n=function(l,h){var d=e.config.yaxis[h].floating,c=0;l.width>0&&!d?(c=l.width+a,function(u){return e.globals.ignoreYAxisIndexes.indexOf(u)>-1}(h)&&(c=c-l.width-a)):c=d||r.isYAxisHidden(h)?0:5,e.config.yaxis[h].opposite?s+=c:i+=c,t+=c};return e.globals.yLabelsCoords.map(function(l,h){n(l,h)}),e.globals.yTitleCoords.map(function(l,h){n(l,h)}),e.globals.isBarHorizontal&&!e.config.yaxis[0].floating&&(t=e.globals.yLabelsCoords[0].width+e.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=s,t}}]),o}(),mn=function(){function o(e){P(this,o),this.w=e.w,this.dCtx=e}return E(o,[{key:"gridPadForColumnsInNumericAxis",value:function(e){var t=this.w,i=t.config,s=t.globals;if(s.noData||s.collapsedSeries.length+s.ancillaryCollapsedSeries.length===i.series.length)return 0;var a=function(g){return["bar","rangeBar","candlestick","boxPlot"].includes(g)},r=i.chart.type,n=0,l=a(r)?i.series.length:1;s.comboBarCount>0&&(l=s.comboBarCount),s.collapsedSeries.forEach(function(g){a(g.type)&&(l-=1)}),i.chart.stacked&&(l=1);var h=a(r)||s.comboBarCount>0,d=Math.abs(s.initialMaxX-s.initialMinX);if(h&&s.isXNumeric&&!s.isBarHorizontal&&l>0&&d!==0){d<=3&&(d=s.dataPoints);var c=d/e,u=s.minXDiff&&s.minXDiff/c>0?s.minXDiff/c:0;u>e/2&&(u/=2),(n=u*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),s.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var e=this,t=this.w,i=t.globals,s=this.dCtx.isSparkline||!i.axisCharts?0:10;["title","subtitle"].forEach(function(n){t.config[n].text!==void 0?s+=t.config[n].margin:s+=e.dCtx.isSparkline||!i.axisCharts?0:5}),!t.config.legend.show||t.config.legend.position!=="bottom"||t.config.legend.floating||i.axisCharts||(s+=10);var a=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight-=a.height+r.height+s,i.translateY+=a.height+r.height+s}},{key:"setGridXPosForDualYAxis",value:function(e,t){var i=this.w,s=new dt(this.dCtx.ctx);i.config.yaxis.forEach(function(a,r){i.globals.ignoreYAxisIndexes.indexOf(r)!==-1||a.floating||s.isYAxisHidden(r)||(a.opposite&&(i.globals.translateX-=t[r].width+e[r].width+parseInt(a.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))})}}]),o}(),ui=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new fn(this),this.dimYAxis=new xn(this),this.dimXAxis=new pn(this),this.dimGrid=new mn(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return E(o,[{key:"plotCoords",value:function(){var e=this,t=this.w,i=t.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var s=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,he(t.config.stroke.width)):t.config.stroke.width;this.isSparkline&&((t.config.markers.discrete.length>0||t.config.markers.size>0)&&Object.entries(this.gridPad).forEach(function(r){var n=J(r,2),l=n[0],h=n[1];e.gridPad[l]=Math.max(h,e.w.globals.markers.largestSize/1.5)}),this.gridPad.top=Math.max(s/2,this.gridPad.top),this.gridPad.bottom=Math.max(s/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var e=this,t=this.w,i=t.globals,s=this.dimYAxis.getyAxisLabelsCoords(),a=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),t.globals.yLabelsCoords=[],t.globals.yTitleCoords=[],t.config.yaxis.map(function(g,p){t.globals.yLabelsCoords.push({width:s[p].width,index:p}),t.globals.yTitleCoords.push({width:a[p].width,index:p})}),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),l=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,l,n),i.translateXAxisY=t.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=t.globals.rotateXLabels&&t.globals.isXNumeric&&t.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,t.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(t.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+t.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+t.config.xaxis.labels.offsetX;var h=this.yAxisWidth,d=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-l.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(t.config.chart.type==="radar"||this.isSparkline)&&(h=0,d=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||t.config.chart.type==="treemap")&&(h=0,d=0,c=0),this.isSparkline||t.config.chart.type==="treemap"||this.dimXAxis.additionalPaddingXLabels(r);var u=function(){i.translateX=h+e.datalabelsCoords.width,i.gridHeight=i.svgHeight-e.lgRect.height-d-(e.isSparkline||t.config.chart.type==="treemap"?0:t.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-h-2*e.datalabelsCoords.width};switch(t.config.xaxis.position==="top"&&(c=i.xAxisHeight-t.config.xaxis.axisTicks.height-5),t.config.legend.position){case"bottom":i.translateY=c,u();break;case"top":i.translateY=this.lgRect.height+c,u();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-d-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width;break;case"right":i.translateY=c,i.translateX=h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-d-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(a,s),new ls(this.ctx).setYAxisXPosition(s,a)}},{key:"setDimensionsForNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=e.config,s=0;e.config.legend.show&&!e.config.legend.floating&&(s=20);var a=i.chart.type==="pie"||i.chart.type==="polarArea"||i.chart.type==="donut"?"pie":"radialBar",r=i.plotOptions[a].offsetY,n=i.plotOptions[a].offsetX;if(!i.legend.show||i.legend.floating){t.gridHeight=t.svgHeight;var l=t.dom.elWrap.getBoundingClientRect().width;return t.gridWidth=Math.min(l,t.gridHeight),t.translateY=r,void(t.translateX=n+(t.svgWidth-t.gridWidth)/2)}switch(i.legend.position){case"bottom":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=r-10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"top":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=this.lgRect.height+r+10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"left":t.gridWidth=t.svgWidth-this.lgRect.width-s,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+this.lgRect.width+s;break;case"right":t.gridWidth=t.svgWidth-this.lgRect.width-s-5,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(e,t,i){var s=this.w,a=s.globals.hasXaxisGroups?2:1,r=i.height+e.height+t.height,n=s.globals.isMultiLineX?1.2:s.globals.LINE_HEIGHT_RATIO,l=s.globals.rotateXLabels?22:10,h=s.globals.rotateXLabels&&s.config.legend.position==="bottom"?10:0;this.xAxisHeight=r*n+a*l+h,this.xAxisWidth=e.width,this.xAxisHeight-t.height>s.config.xaxis.labels.maxHeight&&(this.xAxisHeight=s.config.xaxis.labels.maxHeight),s.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),o}(),bn=function(){function o(e){P(this,o),this.w=e.w,this.lgCtx=e}return E(o,[{key:"getLegendStyles",value:function(){var e,t,i,s=document.createElement("style");s.setAttribute("type","text/css");var a=((e=this.lgCtx.ctx)===null||e===void 0||(t=e.opts)===null||t===void 0||(i=t.chart)===null||i===void 0?void 0:i.nonce)||this.w.config.chart.nonce;a&&s.setAttribute("nonce",a);var r=document.createTextNode(` - .apexcharts-flip-y { - transform: scaleY(-1) translateY(-100%); - transform-origin: top; - transform-box: fill-box; - } - .apexcharts-flip-x { - transform: scaleX(-1); - transform-origin: center; - transform-box: fill-box; - } - .apexcharts-legend { - display: flex; - overflow: auto; - padding: 0 10px; - } - .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top { - flex-wrap: wrap - } - .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { - flex-direction: column; - bottom: 0; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { - justify-content: flex-start; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center { - justify-content: center; - } - .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right { - justify-content: flex-end; - } - .apexcharts-legend-series { - cursor: pointer; - line-height: normal; - display: flex; - align-items: center; - } - .apexcharts-legend-text { - position: relative; - font-size: 14px; - } - .apexcharts-legend-text *, .apexcharts-legend-marker * { - pointer-events: none; - } - .apexcharts-legend-marker { - position: relative; - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - margin-right: 1px; - } - - .apexcharts-legend-series.apexcharts-no-click { - cursor: auto; - } - .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series { - display: none !important; - } - .apexcharts-inactive-legend { - opacity: 0.45; - } - - `);return s.appendChild(r),s}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),t=e.width;return{clwh:e.height,clww:t}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(e,t){var i=this,s=this.w;if(s.globals.axisCharts||s.config.chart.type==="radialBar"){s.globals.resized=!0;var a=null,r=null;s.globals.risingSeries=[],s.globals.axisCharts?(a=s.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"']")),r=parseInt(a.getAttribute("data:realIndex"),10)):(a=s.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(e+1,"']")),r=parseInt(a.getAttribute("rel"),10)-1),t?[{cs:s.globals.collapsedSeries,csi:s.globals.collapsedSeriesIndices},{cs:s.globals.ancillaryCollapsedSeries,csi:s.globals.ancillaryCollapsedSeriesIndices}].forEach(function(d){i.riseCollapsedSeries(d.cs,d.csi,r)}):this.hideSeries({seriesEl:a,realIndex:r})}else{var n=s.globals.dom.Paper.findOne(" .apexcharts-series[rel='".concat(e+1,"'] path")),l=s.config.chart.type;if(l==="pie"||l==="polarArea"||l==="donut"){var h=s.config.plotOptions.pie.donut.labels;new W(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,h)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(e){var t=e.realIndex,i=this.w,s=i.globals,a=R.clone(i.config.series);if(s.axisCharts){var r=i.config.yaxis[s.seriesYAxisReverseMap[t]],n={index:t,data:a[t].data.slice(),type:a[t].type||i.config.chart.type};if(r&&r.show&&r.showAlways)s.ancillaryCollapsedSeriesIndices.indexOf(t)<0&&(s.ancillaryCollapsedSeries.push(n),s.ancillaryCollapsedSeriesIndices.push(t));else if(s.collapsedSeriesIndices.indexOf(t)<0){s.collapsedSeries.push(n),s.collapsedSeriesIndices.push(t);var l=s.risingSeries.indexOf(t);s.risingSeries.splice(l,1)}}else s.collapsedSeries.push({index:t,data:a[t]}),s.collapsedSeriesIndices.push(t);return s.allSeriesCollapsed=s.collapsedSeries.length+s.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(a)}},{key:"hideSeries",value:function(e){for(var t=e.seriesEl,i=e.realIndex,s=this.w,a=this.getSeriesAfterCollapsing({realIndex:i}),r=t.childNodes,n=0;n0){for(var r=0;r1;if(this.legendHelpers.appendToForeignObject(),(s||!t.axisCharts)&&i.legend.show){for(;t.dom.elLegendWrap.firstChild;)t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);this.drawLegends(),i.legend.position==="bottom"||i.legend.position==="top"?this.legendAlignHorizontal():i.legend.position!=="right"&&i.legend.position!=="left"||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(e){var t=e.i,i=e.fillcolor,s=this.w,a=document.createElement("span");a.classList.add("apexcharts-legend-marker");var r=s.config.legend.markers.shape||s.config.markers.shape,n=r;Array.isArray(r)&&(n=r[t]);var l=Array.isArray(s.config.legend.markers.size)?parseFloat(s.config.legend.markers.size[t]):parseFloat(s.config.legend.markers.size),h=Array.isArray(s.config.legend.markers.offsetX)?parseFloat(s.config.legend.markers.offsetX[t]):parseFloat(s.config.legend.markers.offsetX),d=Array.isArray(s.config.legend.markers.offsetY)?parseFloat(s.config.legend.markers.offsetY[t]):parseFloat(s.config.legend.markers.offsetY),c=Array.isArray(s.config.legend.markers.strokeWidth)?parseFloat(s.config.legend.markers.strokeWidth[t]):parseFloat(s.config.legend.markers.strokeWidth),u=a.style;if(u.height=2*(l+c)+"px",u.width=2*(l+c)+"px",u.left=h+"px",u.top=d+"px",s.config.legend.markers.customHTML)u.background="transparent",u.color=i[t],Array.isArray(s.config.legend.markers.customHTML)?s.config.legend.markers.customHTML[t]&&(a.innerHTML=s.config.legend.markers.customHTML[t]()):a.innerHTML=s.config.legend.markers.customHTML();else{var g=new Ot(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:t,strokeWidth:c,size:l}),p=window.SVG().addTo(a).size("100%","100%"),f=new W(this.ctx).drawMarker(0,0,H(H({},g),{},{pointFillColor:Array.isArray(i)?i[t]:g.pointFillColor,shape:n}));s.globals.dom.Paper.find(".apexcharts-legend-marker.apexcharts-marker").forEach(function(x){x.node.classList.contains("apexcharts-marker-triangle")?x.node.style.transform="translate(50%, 45%)":x.node.style.transform="translate(50%, 50%)"}),p.add(f)}return a}},{key:"drawLegends",value:function(){var e=this,t=this.w,i=t.config.legend.fontFamily,s=t.globals.seriesNames,a=t.config.legend.markers.fillColors?t.config.legend.markers.fillColors.slice():t.globals.colors.slice();if(t.config.chart.type==="heatmap"){var r=t.config.plotOptions.heatmap.colorScale.ranges;s=r.map(function(A){return A.name?A.name:A.from+" - "+A.to}),a=r.map(function(A){return A.color})}else this.isBarsDistributed&&(s=t.globals.labels.slice());t.config.legend.customLegendItems.length&&(s=t.config.legend.customLegendItems);for(var n=t.globals.legendFormatter,l=t.config.legend.inverseOrder,h=l?s.length-1:0;l?h>=0:h<=s.length-1;l?h--:h++){var d,c=n(s[h],{seriesIndex:h,w:t}),u=!1,g=!1;if(t.globals.collapsedSeries.length>0)for(var p=0;p0)for(var f=0;f0?h-10:0)+(d>0?d-10:0)}s.style.position="absolute",r=r+e+i.config.legend.offsetX,n=n+t+i.config.legend.offsetY,s.style.left=r+"px",s.style.top=n+"px",i.config.legend.position==="right"&&(s.style.left="auto",s.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach(function(c){s.style[c]&&(s.style[c]=parseInt(i.config.legend[c],10)+"px")})}},{key:"legendAlignHorizontal",value:function(){var e=this.w;e.globals.dom.elLegendWrap.style.right=0;var t=new ui(this.ctx),i=t.dimHelpers.getTitleSubtitleCoords("title"),s=t.dimHelpers.getTitleSubtitleCoords("subtitle"),a=0;e.config.legend.position==="top"&&(a=i.height+s.height+e.config.title.margin+e.config.subtitle.margin-10),this.setLegendWrapXY(20,a)}},{key:"legendAlignVertical",value:function(){var e=this.w,t=this.legendHelpers.getLegendDimensions(),i=0;e.config.legend.position==="left"&&(i=20),e.config.legend.position==="right"&&(i=e.globals.svgWidth-t.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(e){var t=this.w,i=e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker");if(t.config.chart.type==="heatmap"||this.isBarsDistributed){if(i){var s=parseInt(e.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,s,this.w]),new $e(this.ctx).highlightRangeInSeries(e,e.target)}}else!e.target.classList.contains("apexcharts-inactive-legend")&&i&&new $e(this.ctx).toggleSeriesOnHover(e,e.target)}},{key:"onLegendClick",value:function(e){var t=this.w;if(!t.config.legend.customLegendItems.length&&(e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(e.target.getAttribute("rel"),10)-1,s=e.target.getAttribute("data:collapsed")==="true",a=this.w.config.chart.events.legendClick;typeof a=="function"&&a(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;typeof r=="function"&&e.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),t.config.chart.type!=="treemap"&&t.config.chart.type!=="heatmap"&&!this.isBarsDistributed&&t.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,s)}}}]),o}(),wa=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w;var t=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=t.globals.minX,this.maxX=t.globals.maxX}return E(o,[{key:"createToolbar",value:function(){var e=this,t=this.w,i=function(){return document.createElement("div")},s=i();if(s.setAttribute("class","apexcharts-toolbar"),s.style.top=t.config.chart.toolbar.offsetY+"px",s.style.right=3-t.config.chart.toolbar.offsetX+"px",t.globals.dom.elWrap.appendChild(s),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var a=0;a - - - -`),n("zoomOut",this.elZoomOut,` - - - -`);var l=function(c){e.t[c]&&t.config.chart[c].enabled&&r.push({el:c==="zoom"?e.elZoom:e.elSelection,icon:typeof e.t[c]=="string"?e.t[c]:c==="zoom"?` - - - -`:` - - -`,title:e.localeValues[c==="zoom"?"selectionZoom":"selection"],class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(c,"-icon")})};l("zoom"),l("selection"),this.t.pan&&t.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:typeof this.t.pan=="string"?this.t.pan:` - - - - - - - -`,title:this.localeValues.pan,class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,` - - -`),this.t.download&&r.push({el:this.elMenuIcon,icon:typeof this.t.download=="string"?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var h=0;hthis.wheelDelay&&(this.executeMouseWheelZoom(i),a.globals.lastWheelExecution=r),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(function(){r-a.globals.lastWheelExecution>s.wheelDelay&&(s.executeMouseWheelZoom(i),a.globals.lastWheelExecution=r)},this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(i){var s,a=this.w;this.minX=a.globals.isRangeBar?a.globals.minY:a.globals.minX,this.maxX=a.globals.isRangeBar?a.globals.maxY:a.globals.maxX;var r=(s=this.gridRect)===null||s===void 0?void 0:s.getBoundingClientRect();if(r){var n,l,h,d=(i.clientX-r.left)/r.width,c=this.minX,u=this.maxX,g=u-c;if(i.deltaY<0){var p=c+d*g;l=p-(n=.5*g)/2,h=p+n/2}else l=c-(n=1.5*g)/2,h=u+n/2;if(!a.globals.isRangeBar){l=Math.max(l,a.globals.initialMinX),h=Math.min(h,a.globals.initialMaxX);var f=.01*(a.globals.initialMaxX-a.globals.initialMinX);if(h-l0&&i.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(s,a,r,n,l){return l==="l"||l==="r"?s.circle(8).css({"stroke-width":1,stroke:"#333",fill:"#fff"}):s.circle(0)},updateHandle:function(s,a){return s.center(a[0],a[1])}}).resize().on("resizing",this.selectionDragging.bind(this,"resizing")))}}},{key:"preselectedSelection",value:function(){var i=this.w,s=this.xyRatios;if(!i.globals.zoomEnabled){if(i.globals.selection!==void 0&&i.globals.selection!==null)this.drawSelectionRect(H(H({},i.globals.selection),{},{translateX:i.globals.translateX,translateY:i.globals.translateY}));else if(i.config.chart.selection.xaxis.min!==void 0&&i.config.chart.selection.xaxis.max!==void 0){var a=(i.config.chart.selection.xaxis.min-i.globals.minX)/s.xRatio,r=i.globals.gridWidth-(i.globals.maxX-i.config.chart.selection.xaxis.max)/s.xRatio-a;i.globals.isRangeBar&&(a=(i.config.chart.selection.xaxis.min-i.globals.yAxisScale[0].niceMin)/s.invertedYRatio,r=(i.config.chart.selection.xaxis.max-i.config.chart.selection.xaxis.min)/s.invertedYRatio);var n={x:a,y:0,width:r,height:i.globals.gridHeight,translateX:i.globals.translateX,translateY:i.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(n),this.makeSelectionRectDraggable(),typeof i.config.chart.events.selection=="function"&&i.config.chart.events.selection(this.ctx,{xaxis:{min:i.config.chart.selection.xaxis.min,max:i.config.chart.selection.xaxis.max},yaxis:{}})}}}},{key:"drawSelectionRect",value:function(i){var s=i.x,a=i.y,r=i.width,n=i.height,l=i.translateX,h=l===void 0?0:l,d=i.translateY,c=d===void 0?0:d,u=this.w,g=this.zoomRect,p=this.selectionRect;if(this.dragged||u.globals.selection!==null){var f={transform:"translate("+h+", "+c+")"};u.globals.zoomEnabled&&this.dragged&&(r<0&&(r=1),g.attr({x:s,y:a,width:r,height:n,fill:u.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":u.config.chart.zoom.zoomedArea.fill.opacity,stroke:u.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":u.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":u.config.chart.zoom.zoomedArea.stroke.opacity}),W.setAttrs(g.node,f)),u.globals.selectionEnabled&&(p.attr({x:s,y:a,width:r>0?r:0,height:n>0?n:0,fill:u.config.chart.selection.fill.color,"fill-opacity":u.config.chart.selection.fill.opacity,stroke:u.config.chart.selection.stroke.color,"stroke-width":u.config.chart.selection.stroke.width,"stroke-dasharray":u.config.chart.selection.stroke.dashArray,"stroke-opacity":u.config.chart.selection.stroke.opacity}),W.setAttrs(p.node,f))}}},{key:"hideSelectionRect",value:function(i){i&&i.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(i){var s=i.context,a=i.zoomtype,r=this.w,n=s,l=this.gridRect.getBoundingClientRect(),h=n.startX-1,d=n.startY,c=!1,u=!1,g=n.clientX-l.left-h,p=n.clientY-l.top-d,f={translateX:r.globals.translateX,translateY:r.globals.translateY};return Math.abs(g+h)>r.globals.gridWidth?g=r.globals.gridWidth-h:n.clientX-l.left<0&&(g=h),h>n.clientX-l.left&&(c=!0,g=Math.abs(g)),d>n.clientY-l.top&&(u=!0,p=Math.abs(p)),f=H(H({},f=a==="x"?{x:c?h-g:h,y:0,width:g,height:r.globals.gridHeight}:a==="y"?{x:0,y:u?d-p:d,width:r.globals.gridWidth,height:p}:{x:c?h-g:h,y:u?d-p:d,width:g,height:p}),{},{translateX:r.globals.translateX,translateY:r.globals.translateY}),n.drawSelectionRect(f),n.selectionDragging("resizing"),f}},{key:"selectionDragging",value:function(i,s){var a=this,r=this.w;if(s){s.preventDefault();var n=s.detail,l=n.handler,h=n.box,d=h.x,c=h.y;dthis.constraints.x2&&(d=this.constraints.x2-h.w),h.y2>this.constraints.y2&&(c=this.constraints.y2-h.h),l.move(d,c);var u=this.xyRatios,g=this.selectionRect,p=0;i==="resizing"&&(p=30);var f=function(m){return parseFloat(g.node.getAttribute(m))},x={x:f("x"),y:f("y"),width:f("width"),height:f("height")};r.globals.selection=x,typeof r.config.chart.events.selection=="function"&&r.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var m,b,w,S,A=a.gridRect.getBoundingClientRect(),T=g.node.getBoundingClientRect();r.globals.isRangeBar?(m=r.globals.yAxisScale[0].niceMin+(T.left-A.left)*u.invertedYRatio,b=r.globals.yAxisScale[0].niceMin+(T.right-A.left)*u.invertedYRatio,w=0,S=1):(m=r.globals.xAxisScale.niceMin+(T.left-A.left)*u.xRatio,b=r.globals.xAxisScale.niceMin+(T.right-A.left)*u.xRatio,w=r.globals.yAxisScale[0].niceMin+(A.bottom-T.bottom)*u.yRatio[0],S=r.globals.yAxisScale[0].niceMax-(T.top-A.top)*u.yRatio[0]);var k={xaxis:{min:m,max:b},yaxis:{min:w,max:S}};r.config.chart.events.selection(a.ctx,k),r.config.chart.brush.enabled&&r.config.chart.events.brushScrolled!==void 0&&r.config.chart.events.brushScrolled(a.ctx,k)},p))}}},{key:"selectionDrawn",value:function(i){var s=i.context,a=i.zoomtype,r=this.w,n=s,l=this.xyRatios,h=this.ctx.toolbar;if(n.startX>n.endX){var d=n.startX;n.startX=n.endX,n.endX=d}if(n.startY>n.endY){var c=n.startY;n.startY=n.endY,n.endY=c}var u=void 0,g=void 0;r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+n.startX*l.invertedYRatio,g=r.globals.yAxisScale[0].niceMin+n.endX*l.invertedYRatio):(u=r.globals.xAxisScale.niceMin+n.startX*l.xRatio,g=r.globals.xAxisScale.niceMin+n.endX*l.xRatio);var p=[],f=[];if(r.config.yaxis.forEach(function(T,k){var M=r.globals.seriesYAxisMap[k][0];p.push(r.globals.yAxisScale[k].niceMax-l.yRatio[M]*n.startY),f.push(r.globals.yAxisScale[k].niceMax-l.yRatio[M]*n.endY)}),n.dragged&&(n.dragX>10||n.dragY>10)&&u!==g){if(r.globals.zoomEnabled){var x=R.clone(r.globals.initialConfig.yaxis),m=R.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(u=Math.floor(u),g=Math.floor(g),u<1&&(u=1,g=r.globals.dataPoints),g-u<2&&(g=u+1)),a!=="xy"&&a!=="x"||(m={min:u,max:g}),a!=="xy"&&a!=="y"||x.forEach(function(T,k){x[k].min=f[k],x[k].max=p[k]}),h){var b=h.getBeforeZoomRange(m,x);b&&(m=b.xaxis?b.xaxis:m,x=b.yaxis?b.yaxis:x)}var w={xaxis:m};r.config.chart.group||(w.yaxis=x),n.ctx.updateHelpers._updateOptions(w,!1,n.w.config.chart.animations.dynamicAnimation.enabled),typeof r.config.chart.events.zoomed=="function"&&h.zoomCallback(m,x)}else if(r.globals.selectionEnabled){var S,A=null;S={min:u,max:g},a!=="xy"&&a!=="y"||(A=R.clone(r.config.yaxis)).forEach(function(T,k){A[k].min=f[k],A[k].max=p[k]}),r.globals.selection=n.selection,typeof r.config.chart.events.selection=="function"&&r.config.chart.events.selection(n.ctx,{xaxis:S,yaxis:A})}}}},{key:"panDragging",value:function(i){var s=i.context,a=this.w,r=s;if(a.globals.lastClientPosition.x!==void 0){var n=a.globals.lastClientPosition.x-r.clientX,l=a.globals.lastClientPosition.y-r.clientY;Math.abs(n)>Math.abs(l)&&n>0?this.moveDirection="left":Math.abs(n)>Math.abs(l)&&n<0?this.moveDirection="right":Math.abs(l)>Math.abs(n)&&l>0?this.moveDirection="up":Math.abs(l)>Math.abs(n)&&l<0&&(this.moveDirection="down")}a.globals.lastClientPosition={x:r.clientX,y:r.clientY};var h=a.globals.isRangeBar?a.globals.minY:a.globals.minX,d=a.globals.isRangeBar?a.globals.maxY:a.globals.maxX;a.config.xaxis.convertedCatToNumeric||r.panScrolled(h,d)}},{key:"delayedPanScrolled",value:function(){var i=this.w,s=i.globals.minX,a=i.globals.maxX,r=(i.globals.maxX-i.globals.minX)/2;this.moveDirection==="left"?(s=i.globals.minX+r,a=i.globals.maxX+r):this.moveDirection==="right"&&(s=i.globals.minX-r,a=i.globals.maxX-r),s=Math.floor(s),a=Math.floor(a),this.updateScrolledChart({xaxis:{min:s,max:a}},s,a)}},{key:"panScrolled",value:function(i,s){var a=this.w,r=this.xyRatios,n=R.clone(a.globals.initialConfig.yaxis),l=r.xRatio,h=a.globals.minX,d=a.globals.maxX;a.globals.isRangeBar&&(l=r.invertedYRatio,h=a.globals.minY,d=a.globals.maxY),this.moveDirection==="left"?(i=h+a.globals.gridWidth/15*l,s=d+a.globals.gridWidth/15*l):this.moveDirection==="right"&&(i=h-a.globals.gridWidth/15*l,s=d-a.globals.gridWidth/15*l),a.globals.isRangeBar||(ia.globals.initialMaxX)&&(i=h,s=d);var c={xaxis:{min:i,max:s}};a.config.chart.group||(c.yaxis=n),this.updateScrolledChart(c,i,s)}},{key:"updateScrolledChart",value:function(i,s,a){var r=this.w;this.ctx.updateHelpers._updateOptions(i,!1,!1),typeof r.config.chart.events.scrolled=="function"&&r.config.chart.events.scrolled(this.ctx,{xaxis:{min:s,max:a}})}}]),t}(wa),ka=function(){function o(e){P(this,o),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return E(o,[{key:"getNearestValues",value:function(e){var t=e.hoverArea,i=e.elGrid,s=e.clientX,a=e.clientY,r=this.w,n=i.getBoundingClientRect(),l=n.width,h=n.height,d=l/(r.globals.dataPoints-1),c=h/r.globals.dataPoints,u=this.hasBars();!r.globals.comboCharts&&!u||r.config.xaxis.convertedCatToNumeric||(d=l/r.globals.dataPoints);var g=s-n.left-r.globals.barPadForNumericAxis,p=a-n.top;g<0||p<0||g>l||p>h?(t.classList.remove("hovering-zoom"),t.classList.remove("hovering-pan")):r.globals.zoomEnabled?(t.classList.remove("hovering-pan"),t.classList.add("hovering-zoom")):r.globals.panEnabled&&(t.classList.remove("hovering-zoom"),t.classList.add("hovering-pan"));var f=Math.round(g/d),x=Math.floor(p/c);u&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/d),f-=1);var m=null,b=null,w=r.globals.seriesXvalues.map(function(M){return M.filter(function(O){return R.isNumber(O)})}),S=r.globals.seriesYvalues.map(function(M){return M.filter(function(O){return R.isNumber(O)})});if(r.globals.isXNumeric){var A=this.ttCtx.getElGrid().getBoundingClientRect(),T=g*(A.width/l),k=p*(A.height/h);m=(b=this.closestInMultiArray(T,k,w,S)).index,f=b.j,m!==null&&(w=r.globals.seriesXvalues[m],f=(b=this.closestInArray(T,w)).index)}return r.globals.capturedSeriesIndex=m===null?-1:m,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=x:r.globals.capturedDataPointIndex=f,{capturedSeries:m,j:r.globals.isBarHorizontal?x:f,hoverX:g,hoverY:p}}},{key:"closestInMultiArray",value:function(e,t,i,s){var a=this.w,r=0,n=null,l=-1;a.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var h=i[r][0],d=Math.abs(e-h);if(i.forEach(function(g){g.forEach(function(p,f){var x=Math.abs(e-p);x<=d&&(d=x,l=f)})}),l!==-1){var c=s[r][l],u=Math.abs(t-c);n=r,s.forEach(function(g,p){var f=Math.abs(t-g[l]);f<=u&&(u=f,n=p)})}return{index:n,j:l}}},{key:"getFirstActiveXArray",value:function(e){for(var t=this.w,i=0,s=e.map(function(r,n){return r.length>0?n:-1}),a=0;a0)for(var s=0;s *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(e=he(e)).sort(function(i,s){var a=Number(i.getAttribute("data:realIndex")),r=Number(s.getAttribute("data:realIndex"));return ra?-1:0});var t=[];return e.forEach(function(i){t.push(i.querySelector(".apexcharts-marker"))}),t}},{key:"hasMarkers",value:function(e){return this.getElMarkers(e).length>0}},{key:"getPathFromPoint",value:function(e,t){var i=Number(e.getAttribute("cx")),s=Number(e.getAttribute("cy")),a=e.getAttribute("shape");return new W(this.ctx).getMarkerPath(i,s,a,t)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(e){var t=this.w,i=t.config.markers.hover.size;return i===void 0&&(i=t.globals.markers.size[e]+t.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(e){var t=this.w,i=this.ttCtx;i.allTooltipSeriesGroups.length===0&&(i.allTooltipSeriesGroups=t.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var s=i.allTooltipSeriesGroups,a=0;a ').concat(I.attrs.name,""),O+="
".concat(I.val,"
")}),w.innerHTML=M+"",S.innerHTML=O+""};n?h.globals.seriesGoals[t][i]&&Array.isArray(h.globals.seriesGoals[t][i])?A():(w.innerHTML="",S.innerHTML=""):A()}else w.innerHTML="",S.innerHTML="";if(f!==null&&(s[t].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=h.config.tooltip.z.title,s[t].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=f!==void 0?f:""),n&&x[0]){if(h.config.tooltip.hideEmptySeries){var T=s[t].querySelector(".apexcharts-tooltip-marker"),k=s[t].querySelector(".apexcharts-tooltip-text");parseFloat(c)==0?(T.style.display="none",k.style.display="none"):(T.style.display="block",k.style.display="block")}c==null||h.globals.ancillaryCollapsedSeriesIndices.indexOf(t)>-1||h.globals.collapsedSeriesIndices.indexOf(t)>-1||Array.isArray(d.tConfig.enabledOnSeries)&&d.tConfig.enabledOnSeries.indexOf(t)===-1?x[0].parentNode.style.display="none":x[0].parentNode.style.display=h.config.tooltip.items.display}else Array.isArray(d.tConfig.enabledOnSeries)&&d.tConfig.enabledOnSeries.indexOf(t)===-1&&(x[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(e,t){var i=this.w;if(e)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var s=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(t));s&&(s.classList.add("apexcharts-active"),s.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(e){var t=e.i,i=e.j,s=this.w,a=this.ctx.series.filteredSeriesX(),r="",n="",l=null,h=null,d={series:s.globals.series,seriesIndex:t,dataPointIndex:i,w:s},c=s.globals.ttZFormatter;i===null?h=s.globals.series[t]:s.globals.isXNumeric&&s.config.chart.type!=="treemap"?(r=a[t][i],a[t].length===0&&(r=a[this.tooltipUtil.getFirstActiveXArray(a)][i])):r=new ns(this.ctx).isFormatXY()?s.config.series[t].data[i]!==void 0?s.config.series[t].data[i].x:"":s.globals.labels[i]!==void 0?s.globals.labels[i]:"";var u=r;return s.globals.isXNumeric&&s.config.xaxis.type==="datetime"?r=new Vt(this.ctx).xLabelFormat(s.globals.ttKeyFormatter,u,u,{i:void 0,dateFormatter:new Ie(this.ctx).formatDate,w:this.w}):r=s.globals.isBarHorizontal?s.globals.yLabelFormatters[0](u,d):s.globals.xLabelFormatter(u,d),s.config.tooltip.x.formatter!==void 0&&(r=s.globals.ttKeyFormatter(u,d)),s.globals.seriesZ.length>0&&s.globals.seriesZ[t].length>0&&(l=c(s.globals.seriesZ[t][i],s)),n=typeof s.config.xaxis.tooltip.formatter=="function"?s.globals.xaxisTooltipFormatter(u,d):r,{val:Array.isArray(h)?h.join(" "):h,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:l}}},{key:"handleCustomTooltip",value:function(e){var t=e.i,i=e.j,s=e.y1,a=e.y2,r=e.w,n=this.ttCtx.getElTooltip(),l=r.config.tooltip.custom;Array.isArray(l)&&l[t]&&(l=l[t]),n.innerHTML=l({ctx:this.ctx,series:r.globals.series,seriesIndex:t,dataPointIndex:i,y1:s,y2:a,w:r})}}]),o}(),Aa=function(){function o(e){P(this,o),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return E(o,[{key:"moveXCrosshairs",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.ttCtx,s=this.w,a=i.getElXCrosshairs(),r=e-i.xcrosshairsWidth/2,n=s.globals.labels.slice().length;if(t!==null&&(r=s.globals.gridWidth/n*t),a===null||s.globals.isBarHorizontal||(a.setAttribute("x",r),a.setAttribute("x1",r),a.setAttribute("x2",r),a.setAttribute("y2",s.globals.gridHeight),a.classList.add("apexcharts-active")),r<0&&(r=0),r>s.globals.gridWidth&&(r=s.globals.gridWidth),i.isXAxisTooltipEnabled){var l=r;s.config.xaxis.crosshairs.width!=="tickWidth"&&s.config.xaxis.crosshairs.width!=="barWidth"||(l=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(l)}}},{key:"moveYCrosshairs",value:function(e){var t=this.ttCtx;t.ycrosshairs!==null&&W.setAttrs(t.ycrosshairs,{y1:e,y2:e}),t.ycrosshairsHidden!==null&&W.setAttrs(t.ycrosshairsHidden,{y1:e,y2:e})}},{key:"moveXAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;if(i.xaxisTooltip!==null&&i.xcrosshairsWidth!==0){i.xaxisTooltip.classList.add("apexcharts-active");var s=i.xaxisOffY+t.config.xaxis.tooltip.offsetY+t.globals.translateY+1+t.config.xaxis.offsetY;if(e-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(e)){e+=t.globals.translateX;var a;a=new W(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=a.width+"px",i.xaxisTooltip.style.left=e+"px",i.xaxisTooltip.style.top=s+"px"}}}},{key:"moveYAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;i.yaxisTTEls===null&&(i.yaxisTTEls=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var s=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),a=t.globals.translateY+s,r=i.yaxisTTEls[e].getBoundingClientRect().height,n=t.globals.translateYAxisX[e]-2;t.config.yaxis[e].opposite&&(n-=26),a-=r/2,t.globals.ignoreYAxisIndexes.indexOf(e)===-1?(i.yaxisTTEls[e].classList.add("apexcharts-active"),i.yaxisTTEls[e].style.top=a+"px",i.yaxisTTEls[e].style.left=n+t.config.yaxis[e].tooltip.offsetX+"px"):i.yaxisTTEls[e].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=this.w,a=this.ttCtx,r=a.getElTooltip(),n=a.tooltipRect,l=i!==null?parseFloat(i):1,h=parseFloat(e)+l+5,d=parseFloat(t)+l/2;if(h>s.globals.gridWidth/2&&(h=h-n.ttWidth-l-10),h>s.globals.gridWidth-n.ttWidth-10&&(h=s.globals.gridWidth-n.ttWidth),h<-20&&(h=-20),s.config.tooltip.followCursor){var c=a.getElGrid().getBoundingClientRect();(h=a.e.clientX-c.left)>s.globals.gridWidth/2&&(h-=a.tooltipRect.ttWidth),(d=a.e.clientY+s.globals.translateY-c.top)>s.globals.gridHeight/2&&(d-=a.tooltipRect.ttHeight)}else s.globals.isBarHorizontal||n.ttHeight/2+d>s.globals.gridHeight&&(d=s.globals.gridHeight-n.ttHeight+s.globals.translateY);isNaN(h)||(h+=s.globals.translateX,r.style.left=h+"px",r.style.top=d+"px")}},{key:"moveMarkers",value:function(e,t){var i=this.w,s=this.ttCtx;if(i.globals.markers.size[e]>0)for(var a=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-marker")),r=0;r0){var p=g.getAttribute("shape"),f=h.getMarkerPath(a,r,p,1.5*c);g.setAttribute("d",f)}this.moveXCrosshairs(a),l.fixedTooltip||this.moveTooltip(a,r,c)}}},{key:"moveDynamicPointsOnHover",value:function(e){var t,i=this.ttCtx,s=i.w,a=0,r=0,n=s.globals.pointsArray,l=new $e(this.ctx),h=new W(this.ctx);t=l.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var d=i.tooltipUtil.getHoverMarkerSize(t);n[t]&&(a=n[t][e][0],r=n[t][e][1]);var c=i.tooltipUtil.getAllMarkers();if(c!==null)for(var u=0;u0){var b=h.getMarkerPath(a,p,x,d);c[u].setAttribute("d",b)}else c[u].setAttribute("d","")}}this.moveXCrosshairs(a),i.fixedTooltip||this.moveTooltip(a,r||s.globals.gridHeight,d)}},{key:"moveStickyTooltipOverBars",value:function(e,t){var i=this.w,s=this.ttCtx,a=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;i.globals.isBarHorizontal&&(r=new $e(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(e,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"']"));n||typeof t!="number"||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,`'], - .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], - .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], - .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,"']")));var l=n?parseFloat(n.getAttribute("cx")):0,h=n?parseFloat(n.getAttribute("cy")):0,d=n?parseFloat(n.getAttribute("barWidth")):0,c=s.getElGrid().getBoundingClientRect(),u=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!u&&(l-=a%2!=0?d/2:0),n&&u&&i.globals.comboCharts&&(l-=d/2)):i.globals.isBarHorizontal||(l=s.xAxisTicksPositions[e-1]+s.dataPointsDividedWidth/2,isNaN(l)&&(l=s.xAxisTicksPositions[e]-s.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?h-=s.tooltipRect.ttHeight:i.config.tooltip.followCursor?h=s.e.clientY-c.top-s.tooltipRect.ttHeight/2:h+s.tooltipRect.ttHeight+15>i.globals.gridHeight&&(h=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(l),s.fixedTooltip||this.moveTooltip(l,h||i.globals.gridHeight)}}]),o}(),wn=function(){function o(e){P(this,o),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new Aa(e)}return E(o,[{key:"drawDynamicPoints",value:function(){var e=this.w,t=new W(this.ctx),i=new Ot(this.ctx),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series");s=he(s),e.config.chart.stacked&&s.sort(function(c,u){return parseFloat(c.getAttribute("data:realIndex"))-parseFloat(u.getAttribute("data:realIndex"))});for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:null,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=this.w;a.config.chart.type!=="bubble"&&this.newPointSize(e,t);var r=t.getAttribute("cx"),n=t.getAttribute("cy");if(i!==null&&s!==null&&(r=i,n=s),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(a.config.chart.type==="radar"){var l=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,n,a.config.markers.hover.size)}}},{key:"enlargePoints",value:function(e){for(var t=this.w,i=this,s=this.ttCtx,a=e,r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=t.config.markers.hover.size,l=0;l0){var s=this.ttCtx.tooltipUtil.getPathFromPoint(e[t],i);e[t].setAttribute("d",s)}else e[t].setAttribute("d","M0,0")}}}]),o}(),kn=function(){function o(e){P(this,o),this.w=e.w;var t=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.config.chart.type==="rangeBar"&&t.config.plotOptions.bar.rangeBarGroupRows}return E(o,[{key:"getAttr",value:function(e,t){return parseFloat(e.target.getAttribute(t))}},{key:"handleHeatTreeTooltip",value:function(e){var t=e.e,i=e.opt,s=e.x,a=e.y,r=e.type,n=this.ttCtx,l=this.w;if(t.target.classList.contains("apexcharts-".concat(r,"-rect"))){var h=this.getAttr(t,"i"),d=this.getAttr(t,"j"),c=this.getAttr(t,"cx"),u=this.getAttr(t,"cy"),g=this.getAttr(t,"width"),p=this.getAttr(t,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:h,j:d,shared:!1,e:t}),l.globals.capturedSeriesIndex=h,l.globals.capturedDataPointIndex=d,s=c+n.tooltipRect.ttWidth/2+g,a=u+n.tooltipRect.ttHeight/2-p/2,n.tooltipPosition.moveXCrosshairs(c+g/2),s>l.globals.gridWidth/2&&(s=c-n.tooltipRect.ttWidth/2+g),n.w.config.tooltip.followCursor){var f=l.globals.dom.elWrap.getBoundingClientRect();s=l.globals.clientX-f.left-(s>l.globals.gridWidth/2?n.tooltipRect.ttWidth:0),a=l.globals.clientY-f.top-(a>l.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:s,y:a}}},{key:"handleMarkerTooltip",value:function(e){var t,i,s=e.e,a=e.opt,r=e.x,n=e.y,l=this.w,h=this.ttCtx;if(s.target.classList.contains("apexcharts-marker")){var d=parseInt(a.paths.getAttribute("cx"),10),c=parseInt(a.paths.getAttribute("cy"),10),u=parseFloat(a.paths.getAttribute("val"));if(i=parseInt(a.paths.getAttribute("rel"),10),t=parseInt(a.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,h.intersect){var g=R.findAncestor(a.paths,"apexcharts-series");g&&(t=parseInt(g.getAttribute("data:realIndex"),10))}if(h.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:t,j:i,shared:!h.showOnIntersect&&l.config.tooltip.shared,e:s}),s.type==="mouseup"&&h.markerClick(s,t,i),l.globals.capturedSeriesIndex=t,l.globals.capturedDataPointIndex=i,r=d,n=c+l.globals.translateY-1.4*h.tooltipRect.ttHeight,h.w.config.tooltip.followCursor){var p=h.getElGrid().getBoundingClientRect();n=h.e.clientY+l.globals.translateY-p.top}u<0&&(n=c),h.marker.enlargeCurrentPoint(i,a.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(e){var t,i,s=e.e,a=e.opt,r=this.w,n=this.ttCtx,l=n.getElTooltip(),h=0,d=0,c=0,u=this.getBarTooltipXY({e:s,opt:a});if(u.j!==null||u.barHeight!==0||u.barWidth!==0){t=u.i;var g=u.j;if(r.globals.capturedSeriesIndex=t,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(d=u.x,c=u.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[t]:r.config.stroke.width,h=d):r.globals.comboCharts||r.config.tooltip.shared||(h/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(a.paths.parentNode.getAttribute("data:realIndex"),10),d+n.tooltipRect.ttWidth>r.globals.gridWidth?d-=n.tooltipRect.ttWidth:d<0&&(d=0),n.w.config.tooltip.followCursor){var p=n.getElGrid().getBoundingClientRect();c=n.e.clientY-p.top}n.tooltip===null&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(h+i/2):n.tooltipPosition.moveXCrosshairs(h)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,l.style.left=d+r.globals.translateX+"px",l.style.top=c+"px")}}},{key:"getBarTooltipXY",value:function(e){var t=this,i=e.e,s=e.opt,a=this.w,r=null,n=this.ttCtx,l=0,h=0,d=0,c=0,u=0,g=i.target.classList;if(g.contains("apexcharts-bar-area")||g.contains("apexcharts-candlestick-area")||g.contains("apexcharts-boxPlot-area")||g.contains("apexcharts-rangebar-area")){var p=i.target,f=p.getBoundingClientRect(),x=s.elGrid.getBoundingClientRect(),m=f.height;u=f.height;var b=f.width,w=parseInt(p.getAttribute("cx"),10),S=parseInt(p.getAttribute("cy"),10);c=parseFloat(p.getAttribute("barWidth"));var A=i.type==="touchmove"?i.touches[0].clientX:i.clientX;r=parseInt(p.getAttribute("j"),10),l=parseInt(p.parentNode.getAttribute("rel"),10)-1;var T=p.getAttribute("data-range-y1"),k=p.getAttribute("data-range-y2");a.globals.comboCharts&&(l=parseInt(p.parentNode.getAttribute("data:realIndex"),10));var M=function(I){return a.globals.isXNumeric?w-b/2:t.isVerticalGroupedRangeBar?w+b/2:w-n.dataPointsDividedWidth+b/2},O=function(){return S-n.dataPointsDividedHeight+m/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:l,j:r,y1:T?parseInt(T,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&a.config.tooltip.shared,e:i}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(h=A-x.left+15,d=O()):(h=M(),d=i.clientY-x.top-n.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((h=w)0&&i.setAttribute("width",t.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var e=this.w,t=this.ttCtx;t.ycrosshairs=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),t.ycrosshairsHidden=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(e,t,i){var s=this.ttCtx,a=this.w,r=a.globals,n=r.seriesYAxisMap[e];if(s.yaxisTooltips[e]&&n.length>0){var l=r.yLabelFormatters[e],h=s.getElGrid().getBoundingClientRect(),d=n[0],c=0;i.yRatio.length>1&&(c=d);var u=(t-h.top)*i.yRatio[c],g=r.maxYArr[d]-r.minYArr[d],p=r.minYArr[d]+(g-u);a.config.yaxis[e].reversed&&(p=r.maxYArr[d]-(g-u)),s.tooltipPosition.moveYCrosshairs(t-h.top),s.yaxisTooltipText[e].innerHTML=l(p),s.tooltipPosition.moveYAxisTooltip(e)}}}]),o}(),Sa=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w;var t=this.w;this.tConfig=t.config.tooltip,this.tooltipUtil=new ka(this),this.tooltipLabels=new yn(this),this.tooltipPosition=new Aa(this),this.marker=new wn(this),this.intersect=new kn(this),this.axesTooltip=new An(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!t.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return E(o,[{key:"getElTooltip",value:function(e){return e||(e=this),e.w.globals.dom.baseEl?e.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(e){var t=this.w;this.xyRatios=e,this.isXAxisTooltipEnabled=t.config.xaxis.tooltip.enabled&&t.globals.axisCharts,this.yaxisTooltips=t.config.yaxis.map(function(r,n){return!!(r.show&&r.tooltip.enabled&&t.globals.axisCharts)}),this.allTooltipSeriesGroups=[],t.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),t.config.tooltip.cssClass&&i.classList.add(t.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),t.globals.dom.elWrap.appendChild(i),t.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var s=new Zt(this.ctx);this.xAxisTicksPositions=s.getXAxisTicksPositions()}if(!t.globals.comboCharts&&!this.tConfig.intersect&&t.config.chart.type!=="rangeBar"||this.tConfig.shared||(this.showOnIntersect=!0),t.config.markers.size!==0&&t.globals.markers.largestSize!==0||this.marker.drawDynamicPoints(this),t.globals.collapsedSeries.length!==t.globals.series.length){this.dataPointsDividedHeight=t.globals.gridHeight/t.globals.dataPoints,this.dataPointsDividedWidth=t.globals.gridWidth/t.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||t.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var a=t.globals.series.length;(t.globals.xyCharts||t.globals.comboCharts)&&this.tConfig.shared&&(a=this.showOnIntersect?1:t.globals.series.length),this.legendLabels=t.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(a),this.addSVGEvents()}}},{key:"createTTElements",value:function(e){for(var t=this,i=this.w,s=[],a=this.getElTooltip(),r=function(l){var h=document.createElement("div");h.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(l)),h.style.order=i.config.tooltip.inverseOrder?e-l:l+1;var d=document.createElement("span");d.classList.add("apexcharts-tooltip-marker"),d.style.backgroundColor=i.globals.colors[l],h.appendChild(d);var c=document.createElement("div");c.classList.add("apexcharts-tooltip-text"),c.style.fontFamily=t.tConfig.style.fontFamily||i.config.chart.fontFamily,c.style.fontSize=t.tConfig.style.fontSize,["y","goals","z"].forEach(function(u){var g=document.createElement("div");g.classList.add("apexcharts-tooltip-".concat(u,"-group"));var p=document.createElement("span");p.classList.add("apexcharts-tooltip-text-".concat(u,"-label")),g.appendChild(p);var f=document.createElement("span");f.classList.add("apexcharts-tooltip-text-".concat(u,"-value")),g.appendChild(f),c.appendChild(g)}),h.appendChild(c),a.appendChild(h),s.push(h)},n=0;n0&&this.addPathsEventListeners(p,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var e=this.w,t=this.getElTooltip(),i=t.getBoundingClientRect(),s=i.width+10,a=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,l=this.tConfig.fixed.position.toLowerCase();return l.indexOf("right")>-1&&(r=r+e.globals.svgWidth-s+10),l.indexOf("bottom")>-1&&(n=n+e.globals.svgHeight-a-10),t.style.left=r+"px",t.style.top=n+"px",{x:r,y:n,ttWidth:s,ttHeight:a}}},{key:"addDatapointEventsListeners",value:function(e){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(t,e)}},{key:"addPathsEventListeners",value:function(e,t){for(var i=this,s=function(r){var n={paths:e[r],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(l){return e[r].addEventListener(l,i.onSeriesHover.bind(i,n),{capture:!1,passive:!0})})},a=0;a=20?this.seriesHover(e,t):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout(function(){i.seriesHover(e,t)},20-s))}},{key:"seriesHover",value:function(e,t){var i=this;this.lastHoverTime=Date.now();var s=[],a=this.w;a.config.chart.group&&(s=this.ctx.getGroupedCharts()),a.globals.axisCharts&&(a.globals.minX===-1/0&&a.globals.maxX===1/0||a.globals.dataPoints===0)||(s.length?s.forEach(function(r){var n=i.getElTooltip(r),l={paths:e.paths,tooltipEl:n,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:r.w.globals.tooltip.ttItems};r.w.globals.minX===i.w.globals.minX&&r.w.globals.maxX===i.w.globals.maxX&&r.w.globals.tooltip.seriesHoverByContext({chartCtx:r,ttCtx:r.w.globals.tooltip,opt:l,e:t})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:e,e:t}))}},{key:"seriesHoverByContext",value:function(e){var t=e.chartCtx,i=e.ttCtx,s=e.opt,a=e.e,r=t.w,n=this.getElTooltip(t);n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=a,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared&&this.tConfig.onDatasetHover.highlightDataSeries&&new $e(t).toggleSeriesOnHover(a,a.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(e){var t,i,s=e.e,a=e.opt,r=this.w,n=a.elGrid.getBoundingClientRect(),l=s.type==="touchmove"?s.touches[0].clientX:s.clientX,h=s.type==="touchmove"?s.touches[0].clientY:s.clientY;if(this.clientY=h,this.clientX=l,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,hn.top+n.height)this.handleMouseOut(a);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var d=parseInt(a.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(d)<0)return void this.handleMouseOut(a)}var c=this.getElTooltip(),u=this.getElXCrosshairs(),g=[];r.config.chart.group&&(g=this.ctx.getSyncedCharts());var p=r.globals.xyCharts||r.config.chart.type==="bar"&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(s.type==="mousemove"||s.type==="touchmove"||s.type==="mouseup"){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;u!==null&&u.classList.add("apexcharts-active");var f=this.yaxisTooltips.filter(function(b){return b===!0});if(this.ycrosshairs!==null&&f.length&&this.ycrosshairs.classList.add("apexcharts-active"),p&&!this.showOnIntersect||g.length>1)this.handleStickyTooltip(s,l,h,a);else if(r.config.chart.type==="heatmap"||r.config.chart.type==="treemap"){var x=this.intersect.handleHeatTreeTooltip({e:s,opt:a,x:t,y:i,type:r.config.chart.type});t=x.x,i=x.y,c.style.left=t+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:s,opt:a}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:s,opt:a,x:t,y:i});if(this.yaxisTooltips.length)for(var m=0;mh.width)this.handleMouseOut(s);else if(l!==null)this.handleStickyCapturedSeries(e,l,s,n);else if(this.tooltipUtil.isXoverlap(n)||a.globals.isBarHorizontal){var d=a.globals.series.findIndex(function(c,u){return!a.globals.collapsedSeriesIndices.includes(u)});this.create(e,this,d,n,s.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(e,t,i,s){var a=this.w;if(!this.tConfig.shared&&a.globals.series[t][s]===null)return void this.handleMouseOut(i);if(a.globals.series[t][s]!==void 0)this.tConfig.shared&&this.tooltipUtil.isXoverlap(s)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(e,this,t,s,i.ttItems):this.create(e,this,t,s,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(s)){var r=a.globals.series.findIndex(function(n,l){return!a.globals.collapsedSeriesIndices.includes(l)});this.create(e,this,r,s,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var e=this.w,t=new W(this.ctx),i=e.globals.dom.Paper.find(".apexcharts-bar-area"),s=0;s5&&arguments[5]!==void 0?arguments[5]:null,k=this.w,M=t;e.type==="mouseup"&&this.markerClick(e,i,s),T===null&&(T=this.tConfig.shared);var O=this.tooltipUtil.hasMarkers(i),I=this.tooltipUtil.getElBars();if(k.config.legend.tooltipHoverFormatter){var F=k.config.legend.tooltipHoverFormatter,G=Array.from(this.legendLabels);G.forEach(function(Se){var Ce=Se.getAttribute("data:default-text");Se.innerHTML=decodeURIComponent(Ce)});for(var N=0;N0?M.marker.enlargePoints(s):M.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(I),this.barSeriesHeight>0)){var te=new W(this.ctx),ae=k.globals.dom.Paper.find(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,i);for(var se=0;se0&&t.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=d*k)),T&&(g=g+u.height/2-b/2-2);var O=t.globals.series[i][s]<0,I=l;switch(this.barCtx.isReversed&&(I=l+(O?c:-c)),x.position){case"center":p=T?O?I-c/2+S:I+c/2-S:O?I-c/2+u.height/2+S:I+c/2+u.height/2-S;break;case"bottom":p=T?O?I-c+S:I+c-S:O?I-c+u.height+b+S:I+c-u.height/2+b-S;break;case"top":p=T?O?I+S:I-S:O?I-u.height/2-S:I+u.height+S}if(this.barCtx.lastActiveBarSerieIndex===a&&m.enabled){var F=new W(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:a,j:s}),f.fontSize);r=O?I-F.height/2-S-m.offsetY+18:I+F.height+S+m.offsetY-18;var G=M;n=A+(t.globals.isXNumeric?-d*t.globals.barGroups.length/2:t.globals.barGroups.length*d/2-(t.globals.barGroups.length-1)*d-G)+m.offsetX}return t.config.chart.stacked||(p<0?p=0+b:p+u.height/3>t.globals.gridHeight&&(p=t.globals.gridHeight-b)),{bcx:h,bcy:l,dataLabelsX:g,dataLabelsY:p,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(e){var t=this.w,i=e.x,s=e.i,a=e.j,r=e.realIndex,n=e.bcy,l=e.barHeight,h=e.barWidth,d=e.textRects,c=e.dataLabelsX,u=e.strokeWidth,g=e.dataLabelsConfig,p=e.barDataLabelsConfig,f=e.barTotalDataLabelsConfig,x=e.offX,m=e.offY,b=t.globals.gridHeight/t.globals.dataPoints;h=Math.abs(h);var w,S,A=n-(this.barCtx.isRangeBar?0:b)+l/2+d.height/2+m-3,T="start",k=t.globals.series[s][a]<0,M=i;switch(this.barCtx.isReversed&&(M=i+(k?-h:h),T=k?"start":"end"),p.position){case"center":c=k?M+h/2-x:Math.max(d.width/2,M-h/2)+x;break;case"bottom":c=k?M+h-u-x:M-h+u+x;break;case"top":c=k?M-u-x:M-u+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var O=new W(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:a}),g.fontSize);k?(w=M-u-x-f.offsetX,T="end"):w=M+x+f.offsetX+(this.barCtx.isReversed?-(h+u):u),S=A-d.height/2+O.height/2+f.offsetY+u}return t.config.chart.stacked||(g.textAnchor==="start"?c-d.width<0?c=k?d.width+u:u:c+d.width>t.globals.gridWidth&&(c=k?t.globals.gridWidth-u:t.globals.gridWidth-d.width-u):g.textAnchor==="middle"?c-d.width/2<0?c=d.width/2+u:c+d.width/2>t.globals.gridWidth&&(c=t.globals.gridWidth-d.width/2-u):g.textAnchor==="end"&&(c<1?c=d.width+u:c+1>t.globals.gridWidth&&(c=t.globals.gridWidth-d.width-u))),{bcx:i,bcy:n,dataLabelsX:c,dataLabelsY:A,totalDataLabelsX:w,totalDataLabelsY:S,totalDataLabelsAnchor:T}}},{key:"drawCalculatedDataLabels",value:function(e){var t=e.x,i=e.y,s=e.val,a=e.i,r=e.j,n=e.textRects,l=e.barHeight,h=e.barWidth,d=e.dataLabelsConfig,c=this.w,u="rotate(0)";c.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(u="rotate(-90, ".concat(t,", ").concat(i,")"));var g=new zt(this.barCtx.ctx),p=new W(this.barCtx.ctx),f=d.formatter,x=null,m=c.globals.collapsedSeriesIndices.indexOf(a)>-1;if(d.enabled&&!m){x=p.group({class:"apexcharts-data-labels",transform:u});var b="";s!==void 0&&(b=f(s,H(H({},c),{},{seriesIndex:a,dataPointIndex:r,w:c}))),!s&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(b="");var w=c.globals.series[a][r]<0,S=c.config.plotOptions.bar.dataLabels.position;c.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(S==="top"&&(d.textAnchor=w?"end":"start"),S==="center"&&(d.textAnchor="middle"),S==="bottom"&&(d.textAnchor=w?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&hMath.abs(h)&&(b=""):n.height/1.6>Math.abs(l)&&(b=""));var A=H({},d);this.barCtx.isHorizontal&&s<0&&(d.textAnchor==="start"?A.textAnchor="end":d.textAnchor==="end"&&(A.textAnchor="start")),g.plotDataLabelsText({x:t,y:i,text:b,i:a,j:r,parent:x,dataLabelsConfig:A,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(e){var t=e.x,i=e.y,s=e.val,a=e.realIndex,r=e.textAnchor,n=e.barTotalDataLabelsConfig;this.w;var l,h=new W(this.barCtx.ctx);return n.enabled&&t!==void 0&&i!==void 0&&this.barCtx.lastActiveBarSerieIndex===a&&(l=h.drawText({x:t,y:i,foreColor:n.style.color,text:s,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),l}}]),o}(),Cn=function(){function o(e){P(this,o),this.w=e.w,this.barCtx=e}return E(o,[{key:"initVariables",value:function(e){var t=this.w;this.barCtx.series=e,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=e[i].length),t.globals.isXNumeric)for(var s=0;st.globals.minX&&t.globals.seriesX[i][s]0&&(s=h.globals.minXDiff/u),(r=s/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}String(this.barCtx.barOptions.columnWidth).indexOf("%")===-1&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e=h.globals.padHorizontal+(s-r*this.barCtx.seriesLen)/2}return h.globals.barHeight=a,h.globals.barWidth=r,{x:e,y:t,yDivision:i,xDivision:s,barHeight:a,barWidth:r,zeroH:n,zeroW:l}}},{key:"initializeStackedPrevVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].prevY=[],e[t].prevX=[],e[t].prevYF=[],e[t].prevXF=[],e[t].prevYVal=[],e[t].prevXVal=[]})}},{key:"initializeStackedXYVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].xArrj=[],e[t].xArrjF=[],e[t].xArrjVal=[],e[t].yArrj=[],e[t].yArrjF=[],e[t].yArrjVal=[]})}},{key:"getPathFillColor",value:function(e,t,i,s){var a,r,n,l,h=this.w,d=this.barCtx.ctx.fill,c=null,u=this.barCtx.barOptions.distributed?i:t;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(function(g){e[t][i]>=g.from&&e[t][i]<=g.to&&(c=g.color)}),d.fillPath({seriesNumber:this.barCtx.barOptions.distributed?u:s,dataPointIndex:i,color:c,value:e[t][i],fillConfig:(a=h.config.series[t].data[i])===null||a===void 0?void 0:a.fill,fillType:(r=h.config.series[t].data[i])!==null&&r!==void 0&&(n=r.fill)!==null&&n!==void 0&&n.type?(l=h.config.series[t].data[i])===null||l===void 0?void 0:l.fill.type:Array.isArray(h.config.fill.type)?h.config.fill.type[s]:h.config.fill.type})}},{key:"getStrokeWidth",value:function(e,t,i){var s=0,a=this.w;return this.barCtx.series[e][t]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,a.config.stroke.show&&(this.barCtx.isNullValue||(s=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),s}},{key:"createBorderRadiusArr",value:function(e){var t,i=this.w,s=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,a=e.length,r=0|((t=e[0])===null||t===void 0?void 0:t.length),n=Array.from({length:a},function(){return Array(r).fill(s?"top":"none")});if(s)return n;for(var l=0;l0?(h.push(u),c++):g<0&&(d.push(u),c++)}if(h.length>0&&d.length===0)if(h.length===1)n[h[0]][l]="both";else{var p,f=h[0],x=h[h.length-1],m=X(h);try{for(m.s();!(p=m.n()).done;){var b=p.value;n[b][l]=b===f?"bottom":b===x?"top":"none"}}catch(q){m.e(q)}finally{m.f()}}else if(d.length>0&&h.length===0)if(d.length===1)n[d[0]][l]="both";else{var w,S=Math.max.apply(Math,d),A=Math.min.apply(Math,d),T=X(d);try{for(T.s();!(w=T.n()).done;){var k=w.value;n[k][l]=k===S?"bottom":k===A?"top":"none"}}catch(q){T.e(q)}finally{T.f()}}else if(h.length>0&&d.length>0){var M,O=h[h.length-1],I=X(h);try{for(I.s();!(M=I.n()).done;){var F=M.value;n[F][l]=F===O?"top":"none"}}catch(q){I.e(q)}finally{I.f()}var G,N=Math.max.apply(Math,d),B=X(d);try{for(B.s();!(G=B.n()).done;){var U=G.value;n[U][l]=U===N?"bottom":"none"}}catch(q){B.e(q)}finally{B.f()}}else c===1&&(n[h[0]||d[0]][l]="both")}return n}},{key:"barBackground",value:function(e){var t=e.j,i=e.i,s=e.x1,a=e.x2,r=e.y1,n=e.y2,l=e.elSeries,h=this.w,d=new W(this.barCtx.ctx),c=new $e(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);var u=this.barCtx.barOptions.colors.backgroundBarColors[t],g=d.drawRect(s!==void 0?s:0,r!==void 0?r:0,a!==void 0?a:h.globals.gridWidth,n!==void 0?n:h.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,u,this.barCtx.barOptions.colors.backgroundBarOpacity);l.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(e){var t,i=e.barWidth,s=e.barXPosition,a=e.y1,r=e.y2,n=e.strokeWidth,l=e.isReversed,h=e.series,d=e.seriesGroup,c=e.realIndex,u=e.i,g=e.j,p=e.w,f=new W(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var x=i,m=s;(t=p.config.series[c].data[g])!==null&&t!==void 0&&t.columnWidthOffset&&(m=s-p.config.series[c].data[g].columnWidthOffset/2,x=i+p.config.series[c].data[g].columnWidthOffset);var b=n/2,w=m+b,S=m+x-b,A=(h[u][g]>=0?1:-1)*(l?-1:1);a+=.001-b*A,r+=.001+b*A;var T=f.move(w,a),k=f.move(w,a),M=f.line(S,a);if(p.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,g,!1)),T=T+f.line(w,r)+f.line(S,r)+M+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),k=k+f.line(w,a)+M+M+M+M+M+f.line(w,a)+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),this.arrBorderRadius[c][g]!=="none"&&(T=f.roundPathCorners(T,p.config.plotOptions.bar.borderRadius)),p.config.chart.stacked){var O=this.barCtx;(O=this.barCtx[d]).yArrj.push(r-b*A),O.yArrjF.push(Math.abs(a-r+n*A)),O.yArrjVal.push(this.barCtx.series[u][g])}return{pathTo:T,pathFrom:k}}},{key:"getBarpaths",value:function(e){var t,i=e.barYPosition,s=e.barHeight,a=e.x1,r=e.x2,n=e.strokeWidth,l=e.isReversed,h=e.series,d=e.seriesGroup,c=e.realIndex,u=e.i,g=e.j,p=e.w,f=new W(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var x=i,m=s;(t=p.config.series[c].data[g])!==null&&t!==void 0&&t.barHeightOffset&&(x=i-p.config.series[c].data[g].barHeightOffset/2,m=s+p.config.series[c].data[g].barHeightOffset);var b=n/2,w=x+b,S=x+m-b,A=(h[u][g]>=0?1:-1)*(l?-1:1);a+=.001+b*A,r+=.001-b*A;var T=f.move(a,w),k=f.move(a,w);p.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,g,!1));var M=f.line(a,S);if(T=T+f.line(r,w)+f.line(r,S)+M+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),k=k+f.line(a,w)+M+M+M+M+M+f.line(a,w)+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),this.arrBorderRadius[c][g]!=="none"&&(T=f.roundPathCorners(T,p.config.plotOptions.bar.borderRadius)),p.config.chart.stacked){var O=this.barCtx;(O=this.barCtx[d]).xArrj.push(r+b*A),O.xArrjF.push(Math.abs(a-r-n*A)),O.xArrjVal.push(this.barCtx.series[u][g])}return{pathTo:T,pathFrom:k}}},{key:"checkZeroSeries",value:function(e){for(var t=e.series,i=this.w,s=0;s2&&arguments[2]!==void 0)||arguments[2]?t:null;return e!=null&&(i=t+e/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?e/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(e,t,i){var s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3]?t:null;return e!=null&&(s=t-e/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?e/this.barCtx.yRatio[i]:0)),s}},{key:"getGoalValues",value:function(e,t,i,s,a,r){var n=this,l=this.w,h=[],d=function(g,p){var f;h.push((_(f={},e,e==="x"?n.getXForValue(g,t,!1):n.getYForValue(g,i,r,!1)),_(f,"attrs",p),f))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][a]&&Array.isArray(l.globals.seriesGoals[s][a])&&l.globals.seriesGoals[s][a].forEach(function(g){d(g.value,g)}),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var c=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,u={strokeHeight:e==="x"?0:l.globals.markers.size[s],strokeWidth:e==="x"?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(c[s])?c[s][0]:c[s]};d(l.globals.seriesRangeStart[s][a],u),d(l.globals.seriesRangeEnd[s][a],H(H({},u),{},{strokeColor:Array.isArray(c[s])?c[s][1]:c[s]}))}return h}},{key:"drawGoalLine",value:function(e){var t=e.barXPosition,i=e.barYPosition,s=e.goalX,a=e.goalY,r=e.barWidth,n=e.barHeight,l=new W(this.barCtx.ctx),h=l.group({className:"apexcharts-bar-goals-groups"});h.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:h.node}),h.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var d=null;return this.barCtx.isHorizontal?Array.isArray(s)&&s.forEach(function(c){if(c.x>=-1&&c.x<=l.w.globals.gridWidth+1){var u=c.attrs.strokeHeight!==void 0?c.attrs.strokeHeight:n/2,g=i+u+n/2;d=l.drawLine(c.x,g-2*u,c.x,g,c.attrs.strokeColor?c.attrs.strokeColor:void 0,c.attrs.strokeDashArray,c.attrs.strokeWidth?c.attrs.strokeWidth:2,c.attrs.strokeLineCap),h.add(d)}}):Array.isArray(a)&&a.forEach(function(c){if(c.y>=-1&&c.y<=l.w.globals.gridHeight+1){var u=c.attrs.strokeWidth!==void 0?c.attrs.strokeWidth:r/2,g=t+u+r/2;d=l.drawLine(g-2*u,c.y,g,c.y,c.attrs.strokeColor?c.attrs.strokeColor:void 0,c.attrs.strokeDashArray,c.attrs.strokeHeight?c.attrs.strokeHeight:2,c.attrs.strokeLineCap),h.add(d)}}),h}},{key:"drawBarShadow",value:function(e){var t=e.prevPaths,i=e.currPaths,s=e.color,a=this.w,r=t.x,n=t.x1,l=t.barYPosition,h=i.x,d=i.x1,c=i.barYPosition,u=l+i.barHeight,g=new W(this.barCtx.ctx),p=new R,f=g.move(n,u)+g.line(r,u)+g.line(h,c)+g.line(d,c)+g.line(n,u)+(a.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[realIndex][j]==="both"?" Z":" z");return g.drawPath({d:f,fill:p.shadeColor(.5,R.rgb2hex(s)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}},{key:"getZeroValueEncounters",value:function(e){var t,i=e.i,s=e.j,a=this.w,r=0,n=0;return(a.config.plotOptions.bar.horizontal?a.globals.series.map(function(l,h){return h}):((t=a.globals.columnSeries)===null||t===void 0?void 0:t.i.map(function(l){return l}))||[]).forEach(function(l){var h=a.globals.seriesPercent[l][s];h&&r++,l-1}),s=this.barCtx.columnGroupIndices,a=s.indexOf(i);return a<0&&(s.push(i),a=s.length-1),{groupIndex:i,columnGroupIndex:a}}}]),o}(),Xt=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.isRangeBar=i.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&i.globals.seriesRange.length&&i.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=t,this.xyRatios!==null&&(this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.invertedXRatio=t.invertedXRatio,this.invertedYRatio=t.invertedYRatio,this.baseLineY=t.baseLineY,this.baseLineInvertedY=t.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var s=new $e(this.ctx);this.lastActiveBarSerieIndex=s.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var a=s.getBarSeriesIndices(),r=new Pe(this.ctx);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map(function(n,l){return a.indexOf(l)===-1?l:-1}).filter(function(n){return n!==-1})),this.barHelpers=new Cn(this)}return E(o,[{key:"draw",value:function(e,t){var i=this.w,s=new W(this.ctx),a=new Pe(this.ctx,i);e=a.getLogSeries(e),this.series=e,this.yRatio=a.getLogYRatios(this.yRatio),this.barHelpers.initVariables(e);var r=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var S=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[m],this.translationsIndex=m);var T=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var k=this.barHelpers.initialPositions();p=k.y,S=k.barHeight,d=k.yDivision,u=k.zeroW,g=k.x,A=k.barWidth,h=k.xDivision,c=k.zeroH,this.isHorizontal||x.push(g+A/2);var M=s.group({class:"apexcharts-datalabels","data:realIndex":m});i.globals.delayedElements.push({el:M.node}),M.node.classList.add("apexcharts-element-hidden");var O=s.group({class:"apexcharts-bar-goals-markers"}),I=s.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:I.node}),I.node.classList.add("apexcharts-element-hidden");for(var F=0;F0){var q=this.barHelpers.drawBarShadow({color:typeof U=="string"&&(U==null?void 0:U.indexOf("url"))===-1?U:R.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:N});I.add(q),i.config.chart.dropShadow.enabled&&new Re(this.ctx).dropShadow(q,i.config.chart.dropShadow,m)}this.pathArr.push(N);var $=this.barHelpers.drawGoalLine({barXPosition:N.barXPosition,barYPosition:N.barYPosition,goalX:N.goalX,goalY:N.goalY,barHeight:S,barWidth:A});$&&O.add($),p=N.y,g=N.x,F>0&&x.push(g+A/2),f.push(p),this.renderSeries({realIndex:m,pathFill:U,j:F,i:n,columnGroupIndex:b,pathFrom:N.pathFrom,pathTo:N.pathTo,strokeWidth:G,elSeries:w,x:g,y:p,series:e,barHeight:Math.abs(N.barHeight?N.barHeight:S),barWidth:Math.abs(N.barWidth?N.barWidth:A),elDataLabelsWrap:M,elGoalsMarkers:O,elBarShadows:I,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[m]=x,i.globals.seriesYvalues[m]=f,r.add(w)}return r}},{key:"renderSeries",value:function(e){var t=e.realIndex,i=e.pathFill,s=e.lineFill,a=e.j,r=e.i,n=e.columnGroupIndex,l=e.pathFrom,h=e.pathTo,d=e.strokeWidth,c=e.elSeries,u=e.x,g=e.y,p=e.y1,f=e.y2,x=e.series,m=e.barHeight,b=e.barWidth,w=e.barXPosition,S=e.barYPosition,A=e.elDataLabelsWrap,T=e.elGoalsMarkers,k=e.elBarShadows,M=e.visibleSeries,O=e.type,I=e.classes,F=this.w,G=new W(this.ctx);if(!s){var N=typeof F.globals.stroke.colors[t]=="function"?function(ie){var te,ae=F.config.stroke.colors;return Array.isArray(ae)&&ae.length>0&&((te=ae[ie])||(te=""),typeof te=="function")?te({value:F.globals.series[ie][a],dataPointIndex:a,w:F}):te}(t):F.globals.stroke.colors[t];s=this.barOptions.distributed?F.globals.stroke.colors[a]:N}F.config.series[r].data[a]&&F.config.series[r].data[a].strokeColor&&(s=F.config.series[r].data[a].strokeColor),this.isNullValue&&(i="none");var B=a/F.config.chart.animations.animateGradually.delay*(F.config.chart.animations.speed/F.globals.dataPoints)/2.4,U=G.renderPaths({i:r,j:a,realIndex:t,pathFrom:l,pathTo:h,stroke:s,strokeWidth:d,strokeLineCap:F.config.stroke.lineCap,fill:i,animationDelay:B,initialSpeed:F.config.chart.animations.speed,dataChangeSpeed:F.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(O,"-area ").concat(I),chartType:O});U.attr("clip-path","url(#gridRectBarMask".concat(F.globals.cuid,")"));var q=F.config.forecastDataPoints;q.count>0&&a>=F.globals.dataPoints-q.count&&(U.node.setAttribute("stroke-dasharray",q.dashArray),U.node.setAttribute("stroke-width",q.strokeWidth),U.node.setAttribute("fill-opacity",q.fillOpacity)),p!==void 0&&f!==void 0&&(U.attr("data-range-y1",p),U.attr("data-range-y2",f)),new Re(this.ctx).setSelectionFilter(U,t,a),c.add(U);var $=new Sn(this).handleBarDataLabels({x:u,y:g,y1:p,y2:f,i:r,j:a,series:x,realIndex:t,columnGroupIndex:n,barHeight:m,barWidth:b,barXPosition:w,barYPosition:S,renderedPath:U,visibleSeries:M});return $.dataLabels!==null&&A.add($.dataLabels),$.totalDataLabels&&A.add($.totalDataLabels),c.add(A),T&&c.add(T),k&&c.add(k),c}},{key:"drawBarPaths",value:function(e){var t,i=e.indexes,s=e.barHeight,a=e.strokeWidth,r=e.zeroW,n=e.x,l=e.y,h=e.yDivision,d=e.elSeries,c=this.w,u=i.i,g=i.j;if(c.globals.isXNumeric)t=(l=(c.globals.seriesX[u][g]-c.globals.minX)/this.invertedXRatio-s)+s*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var p=0,f=0;c.globals.seriesPercent.forEach(function(m,b){m[g]&&p++,b0&&(s=this.seriesLen*s/p),t=l+s*this.visibleI,t-=s*f}else t=l+s*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[u][g],r)-r)/2),n=this.barHelpers.getXForValue(this.series[u][g],r);var x=this.barHelpers.getBarpaths({barYPosition:t,barHeight:s,x1:r,x2:n,strokeWidth:a,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:u,j:g,w:c});return c.globals.isXNumeric||(l+=h),this.barHelpers.barBackground({j:g,i:u,y1:t-s*this.visibleI,y2:s*this.seriesLen,elSeries:d}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x1:r,x:n,y:l,goalX:this.barHelpers.getGoalValues("x",r,null,u,g),barYPosition:t,barHeight:s}}},{key:"drawColumnPaths",value:function(e){var t,i=e.indexes,s=e.x,a=e.y,r=e.xDivision,n=e.barWidth,l=e.zeroH,h=e.strokeWidth,d=e.elSeries,c=this.w,u=i.realIndex,g=i.translationsIndex,p=i.i,f=i.j,x=i.bc;if(c.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:s,j:f,realIndex:u,barWidth:n});s=m.x,t=m.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:p,j:f}),w=b.nonZeroColumns,S=b.zeroEncounters;w>0&&(n=this.seriesLen*n/w),t=s+n*this.visibleI,t-=n*S}else t=s+n*this.visibleI;a=this.barHelpers.getYForValue(this.series[p][f],l,g);var A=this.barHelpers.getColumnPaths({barXPosition:t,barWidth:n,y1:l,y2:a,strokeWidth:h,isReversed:this.isReversed,series:this.series,realIndex:u,i:p,j:f,w:c});return c.globals.isXNumeric||(s+=r),this.barHelpers.barBackground({bc:x,j:f,i:p,x1:t-h/2-n*this.visibleI,x2:n*this.seriesLen+h/2,elSeries:d}),{pathTo:A.pathTo,pathFrom:A.pathFrom,x:s,y:a,goalY:this.barHelpers.getGoalValues("y",null,l,p,f,g),barXPosition:t,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(e){var t=e.x,i=e.barWidth,s=e.realIndex,a=e.j,r=this.w,n=s;return r.globals.seriesX[s].length||(n=r.globals.maxValsInArrayIndex),R.isNumber(r.globals.seriesX[n][a])&&(t=(r.globals.seriesX[n][a]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:t+i*this.visibleI,x:t}}},{key:"getPreviousPath",value:function(e,t){for(var i,s=this.w,a=0;a0&&parseInt(r.realIndex,10)===parseInt(e,10)&&s.globals.previousPaths[a].paths[t]!==void 0&&(i=s.globals.previousPaths[a].paths[t].d)}return i}}]),o}(),Ca=function(o){Z(t,o);var e=Y(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s){var a=this,r=this.w;this.graphics=new W(this.ctx),this.bar=new Xt(this.ctx,this.xyRatios);var n=new Pe(this.ctx,r);i=n.getLogSeries(i),this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i),r.config.chart.stackType==="100%"&&(i=r.globals.comboCharts?s.map(function(p){return r.globals.seriesPercent[p]}):r.globals.seriesPercent.slice()),this.series=i,this.barHelpers.initializeStackedPrevVars(this);for(var l=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),h=0,d=0,c=function(p,f){var x=void 0,m=void 0,b=void 0,w=void 0,S=r.globals.comboCharts?s[p]:p,A=a.barHelpers.getGroupIndex(S),T=A.groupIndex,k=A.columnGroupIndex;a.groupCtx=a[r.globals.seriesGroups[T]];var M=[],O=[],I=0;a.yRatio.length>1&&(a.yaxisIndex=r.globals.seriesYAxisReverseMap[S][0],I=S),a.isReversed=r.config.yaxis[a.yaxisIndex]&&r.config.yaxis[a.yaxisIndex].reversed;var F=a.graphics.group({class:"apexcharts-series",seriesName:R.escapeString(r.globals.seriesNames[S]),rel:p+1,"data:realIndex":S});a.ctx.series.addCollapsedClassToSeries(F,S);var G=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":S}),N=a.graphics.group({class:"apexcharts-bar-goals-markers"}),B=0,U=0,q=a.initialPositions(h,d,x,m,b,w,I);d=q.y,B=q.barHeight,m=q.yDivision,w=q.zeroW,h=q.x,U=q.barWidth,x=q.xDivision,b=q.zeroH,r.globals.barHeight=B,r.globals.barWidth=U,a.barHelpers.initializeStackedXYVars(a),a.groupCtx.prevY.length===1&&a.groupCtx.prevY[0].every(function(Oe){return isNaN(Oe)})&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map(function(){return b}),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map(function(){return 0}));for(var $=0;$0||a.barHelpers.arrBorderRadius[S][$]==="top"&&r.globals.series[S][$]<0)&&(Ce=ye),F=a.renderSeries({realIndex:S,pathFill:Se,j:$,i:p,columnGroupIndex:k,pathFrom:ae.pathFrom,pathTo:ae.pathTo,strokeWidth:ie,elSeries:F,x:h,y:d,series:i,barHeight:B,barWidth:U,elDataLabelsWrap:G,elGoalsMarkers:N,type:"bar",visibleSeries:k,classes:Ce})}r.globals.seriesXvalues[S]=M,r.globals.seriesYvalues[S]=O,a.groupCtx.prevY.push(a.groupCtx.yArrj),a.groupCtx.prevYF.push(a.groupCtx.yArrjF),a.groupCtx.prevYVal.push(a.groupCtx.yArrjVal),a.groupCtx.prevX.push(a.groupCtx.xArrj),a.groupCtx.prevXF.push(a.groupCtx.xArrjF),a.groupCtx.prevXVal.push(a.groupCtx.xArrjVal),l.add(F)},u=0,g=0;u1?c=(a=u.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:String(p).indexOf("%")===-1?c=parseInt(p,10):c*=parseInt(p,10)/100,n=this.isReversed?this.baseLineY[h]:u.globals.gridHeight-this.baseLineY[h],i=u.globals.padHorizontal+(a-c)/2}var f=u.globals.barGroups.length||1;return{x:i,y:s,yDivision:r,xDivision:a,barHeight:d/f,barWidth:c/f,zeroH:n,zeroW:l}}},{key:"drawStackedBarPaths",value:function(i){for(var s,a=i.indexes,r=i.barHeight,n=i.strokeWidth,l=i.zeroW,h=i.x,d=i.y,c=i.columnGroupIndex,u=i.seriesGroup,g=i.yDivision,p=i.elSeries,f=this.w,x=d+c*r,m=a.i,b=a.j,w=a.realIndex,S=a.translationsIndex,A=0,T=0;T0){var M=l;this.groupCtx.prevXVal[k-1][b]<0?M=this.series[m][b]>=0?this.groupCtx.prevX[k-1][b]+A-2*(this.isReversed?A:0):this.groupCtx.prevX[k-1][b]:this.groupCtx.prevXVal[k-1][b]>=0&&(M=this.series[m][b]>=0?this.groupCtx.prevX[k-1][b]:this.groupCtx.prevX[k-1][b]-A+2*(this.isReversed?A:0)),s=M}else s=l;h=this.series[m][b]===null?s:s+this.series[m][b]/this.invertedYRatio-2*(this.isReversed?this.series[m][b]/this.invertedYRatio:0);var O=this.barHelpers.getBarpaths({barYPosition:x,barHeight:r,x1:s,x2:h,strokeWidth:n,isReversed:this.isReversed,series:this.series,realIndex:a.realIndex,seriesGroup:u,i:m,j:b,w:f});return this.barHelpers.barBackground({j:b,i:m,y1:x,y2:r,elSeries:p}),d+=g,{pathTo:O.pathTo,pathFrom:O.pathFrom,goalX:this.barHelpers.getGoalValues("x",l,null,m,b,S),barXPosition:s,barYPosition:x,x:h,y:d}}},{key:"drawStackedColumnPaths",value:function(i){var s=i.indexes,a=i.x,r=i.y,n=i.xDivision,l=i.barWidth,h=i.zeroH,d=i.columnGroupIndex,c=i.seriesGroup,u=i.elSeries,g=this.w,p=s.i,f=s.j,x=s.bc,m=s.realIndex,b=s.translationsIndex;if(g.globals.isXNumeric){var w=g.globals.seriesX[m][f];w||(w=0),a=(w-g.globals.minX)/this.xRatio-l/2*g.globals.barGroups.length}for(var S,A=a+d*l,T=0,k=0;k0&&!g.globals.isXNumeric||M>0&&g.globals.isXNumeric&&g.globals.seriesX[m-1][f]===g.globals.seriesX[m][f]){var O,I,F,G=Math.min(this.yRatio.length+1,m+1);if(this.groupCtx.prevY[M-1]!==void 0&&this.groupCtx.prevY[M-1].length)for(var N=1;N=0?F-T+2*(this.isReversed?T:0):F;break}if((($=this.groupCtx.prevYVal[M-U])===null||$===void 0?void 0:$[f])>=0){I=this.series[p][f]>=0?F:F+T-2*(this.isReversed?T:0);break}}I===void 0&&(I=g.globals.gridHeight),S=(O=this.groupCtx.prevYF[0])!==null&&O!==void 0&&O.every(function(te){return te===0})&&this.groupCtx.prevYF.slice(1,M).every(function(te){return te.every(function(ae){return isNaN(ae)})})?h:I}else S=h;r=this.series[p][f]?S-this.series[p][f]/this.yRatio[b]+2*(this.isReversed?this.series[p][f]/this.yRatio[b]:0):S;var ie=this.barHelpers.getColumnPaths({barXPosition:A,barWidth:l,y1:S,y2:r,yRatio:this.yRatio[b],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:c,realIndex:s.realIndex,i:p,j:f,w:g});return this.barHelpers.barBackground({bc:x,j:f,i:p,x1:A,x2:l,elSeries:u}),{pathTo:ie.pathTo,pathFrom:ie.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,h,p,f),barXPosition:A,x:g.globals.isXNumeric?a:a+n,y:r}}}]),t}(Xt),cs=function(o){Z(t,o);var e=Y(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s,a){var r=this,n=this.w,l=new W(this.ctx),h=n.globals.comboCharts?s:n.config.chart.type,d=new et(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=n.config.plotOptions.bar.horizontal;var c=new Pe(this.ctx,n);i=c.getLogSeries(i),this.series=i,this.yRatio=c.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i);for(var u=l.group({class:"apexcharts-".concat(h,"-series apexcharts-plot-series")}),g=function(f){r.isBoxPlot=n.config.chart.type==="boxPlot"||n.config.series[f].type==="boxPlot";var x,m,b,w,S=void 0,A=void 0,T=[],k=[],M=n.globals.comboCharts?a[f]:f,O=r.barHelpers.getGroupIndex(M).columnGroupIndex,I=l.group({class:"apexcharts-series",seriesName:R.escapeString(n.globals.seriesNames[M]),rel:f+1,"data:realIndex":M});r.ctx.series.addCollapsedClassToSeries(I,M),i[f].length>0&&(r.visibleI=r.visibleI+1);var F,G,N=0;r.yRatio.length>1&&(r.yaxisIndex=n.globals.seriesYAxisReverseMap[M][0],N=M);var B=r.barHelpers.initialPositions();A=B.y,F=B.barHeight,m=B.yDivision,w=B.zeroW,S=B.x,G=B.barWidth,x=B.xDivision,b=B.zeroH,k.push(S+G/2);for(var U=l.group({class:"apexcharts-datalabels","data:realIndex":M}),q=l.group({class:"apexcharts-bar-goals-markers"}),$=function(te){var ae=r.barHelpers.getStrokeWidth(f,te,M),se=null,Se={indexes:{i:f,j:te,realIndex:M,translationsIndex:N},x:S,y:A,strokeWidth:ae,elSeries:I};se=r.isHorizontal?r.drawHorizontalBoxPaths(H(H({},Se),{},{yDivision:m,barHeight:F,zeroW:w})):r.drawVerticalBoxPaths(H(H({},Se),{},{xDivision:x,barWidth:G,zeroH:b})),A=se.y,S=se.x;var Ce=r.barHelpers.drawGoalLine({barXPosition:se.barXPosition,barYPosition:se.barYPosition,goalX:se.goalX,goalY:se.goalY,barHeight:F,barWidth:G});Ce&&q.add(Ce),te>0&&k.push(S+G/2),T.push(A),se.pathTo.forEach(function(ye,Oe){var ge=!r.isBoxPlot&&r.candlestickOptions.wick.useFillColor?se.color[Oe]:n.globals.stroke.colors[f],ue=d.fillPath({seriesNumber:M,dataPointIndex:te,color:se.color[Oe],value:i[f][te]});r.renderSeries({realIndex:M,pathFill:ue,lineFill:ge,j:te,i:f,pathFrom:se.pathFrom,pathTo:ye,strokeWidth:ae,elSeries:I,x:S,y:A,series:i,columnGroupIndex:O,barHeight:F,barWidth:G,elDataLabelsWrap:U,elGoalsMarkers:q,visibleSeries:r.visibleI,type:n.config.chart.type})})},ie=0;ieS.c&&(p=!1);var k=Math.min(S.o,S.c),M=Math.max(S.o,S.c),O=S.m;d.globals.isXNumeric&&(a=(d.globals.seriesX[w][g]-d.globals.minX)/this.xRatio-n/2);var I=a+n*this.visibleI;this.series[u][g]===void 0||this.series[u][g]===null?(k=l,M=l):(k=l-k/b,M=l-M/b,A=l-S.h/b,T=l-S.l/b,O=l-S.m/b);var F=c.move(I,l),G=c.move(I+n/2,k);return d.globals.previousPaths.length>0&&(G=this.getPreviousPath(w,g,!0)),F=this.isBoxPlot?[c.move(I,k)+c.line(I+n/2,k)+c.line(I+n/2,A)+c.line(I+n/4,A)+c.line(I+n-n/4,A)+c.line(I+n/2,A)+c.line(I+n/2,k)+c.line(I+n,k)+c.line(I+n,O)+c.line(I,O)+c.line(I,k+h/2),c.move(I,O)+c.line(I+n,O)+c.line(I+n,M)+c.line(I+n/2,M)+c.line(I+n/2,T)+c.line(I+n-n/4,T)+c.line(I+n/4,T)+c.line(I+n/2,T)+c.line(I+n/2,M)+c.line(I,M)+c.line(I,O)+"z"]:[c.move(I,M)+c.line(I+n/2,M)+c.line(I+n/2,A)+c.line(I+n/2,M)+c.line(I+n,M)+c.line(I+n,k)+c.line(I+n/2,k)+c.line(I+n/2,T)+c.line(I+n/2,k)+c.line(I,k)+c.line(I,M-h/2)],G+=c.move(I,k),d.globals.isXNumeric||(a+=r),{pathTo:F,pathFrom:G,x:a,y:M,goalY:this.barHelpers.getGoalValues("y",null,l,u,g,s.translationsIndex),barXPosition:I,color:this.isBoxPlot?m:p?[f]:[x]}}},{key:"drawHorizontalBoxPaths",value:function(i){var s=i.indexes;i.x;var a=i.y,r=i.yDivision,n=i.barHeight,l=i.zeroW,h=i.strokeWidth,d=this.w,c=new W(this.ctx),u=s.i,g=s.j,p=this.boxOptions.colors.lower;this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var f=this.invertedYRatio,x=s.realIndex,m=this.getOHLCValue(x,g),b=l,w=l,S=Math.min(m.o,m.c),A=Math.max(m.o,m.c),T=m.m;d.globals.isXNumeric&&(a=(d.globals.seriesX[x][g]-d.globals.minX)/this.invertedXRatio-n/2);var k=a+n*this.visibleI;this.series[u][g]===void 0||this.series[u][g]===null?(S=l,A=l):(S=l+S/f,A=l+A/f,b=l+m.h/f,w=l+m.l/f,T=l+m.m/f);var M=c.move(l,k),O=c.move(S,k+n/2);return d.globals.previousPaths.length>0&&(O=this.getPreviousPath(x,g,!0)),M=[c.move(S,k)+c.line(S,k+n/2)+c.line(b,k+n/2)+c.line(b,k+n/2-n/4)+c.line(b,k+n/2+n/4)+c.line(b,k+n/2)+c.line(S,k+n/2)+c.line(S,k+n)+c.line(T,k+n)+c.line(T,k)+c.line(S+h/2,k),c.move(T,k)+c.line(T,k+n)+c.line(A,k+n)+c.line(A,k+n/2)+c.line(w,k+n/2)+c.line(w,k+n-n/4)+c.line(w,k+n/4)+c.line(w,k+n/2)+c.line(A,k+n/2)+c.line(A,k)+c.line(T,k)+"z"],O+=c.move(S,k),d.globals.isXNumeric||(a+=r),{pathTo:M,pathFrom:O,x:A,y:a,goalX:this.barHelpers.getGoalValues("x",l,null,u,g),barYPosition:k,color:p}}},{key:"getOHLCValue",value:function(i,s){var a=this.w;return{o:this.isBoxPlot?a.globals.seriesCandleH[i][s]:a.globals.seriesCandleO[i][s],h:this.isBoxPlot?a.globals.seriesCandleO[i][s]:a.globals.seriesCandleH[i][s],m:a.globals.seriesCandleM[i][s],l:this.isBoxPlot?a.globals.seriesCandleC[i][s]:a.globals.seriesCandleL[i][s],c:this.isBoxPlot?a.globals.seriesCandleL[i][s]:a.globals.seriesCandleC[i][s]}}}]),t}(Xt),La=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"checkColorRange",value:function(){var e=this.w,t=!1,i=e.config.plotOptions[e.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map(function(s,a){s.from<=0&&(t=!0)}),t}},{key:"getShadeColor",value:function(e,t,i,s){var a=this.w,r=1,n=a.config.plotOptions[e].shadeIntensity,l=this.determineColor(e,t,i);a.globals.hasNegs||s?r=a.config.plotOptions[e].reverseNegativeShade?l.percent<0?l.percent/100*(1.25*n):(1-l.percent/100)*(1.25*n):l.percent<=0?1-(1+l.percent/100)*n:(1-l.percent/100)*n:(r=1-l.percent/100,e==="treemap"&&(r=(1-l.percent/100)*(1.25*n)));var h=l.color,d=new R;if(a.config.plotOptions[e].enableShades)if(this.w.config.theme.mode==="dark"){var c=d.shadeColor(-1*r,l.color);h=R.hexToRgba(R.isColorHex(c)?c:R.rgb2hex(c),a.config.fill.opacity)}else{var u=d.shadeColor(r,l.color);h=R.hexToRgba(R.isColorHex(u)?u:R.rgb2hex(u),a.config.fill.opacity)}return{color:h,colorProps:l}}},{key:"determineColor",value:function(e,t,i){var s=this.w,a=s.globals.series[t][i],r=s.config.plotOptions[e],n=r.colorScale.inverse?i:t;r.distributed&&s.config.chart.type==="treemap"&&(n=i);var l=s.globals.colors[n],h=null,d=Math.min.apply(Math,he(s.globals.series[t])),c=Math.max.apply(Math,he(s.globals.series[t]));r.distributed||e!=="heatmap"||(d=s.globals.minY,c=s.globals.maxY),r.colorScale.min!==void 0&&(d=r.colorScale.mins.globals.maxY?r.colorScale.max:s.globals.maxY);var u=Math.abs(c)+Math.abs(d),g=100*a/(u===0?u-1e-6:u);return r.colorScale.ranges.length>0&&r.colorScale.ranges.map(function(p,f){if(a>=p.from&&a<=p.to){l=p.color,h=p.foreColor?p.foreColor:null,d=p.from,c=p.to;var x=Math.abs(c)+Math.abs(d);g=100*a/(x===0?x-1e-6:x)}}),{color:l,foreColor:h,percent:g}}},{key:"calculateDataLabels",value:function(e){var t=e.text,i=e.x,s=e.y,a=e.i,r=e.j,n=e.colorProps,l=e.fontSize,h=this.w.config.dataLabels,d=new W(this.ctx),c=new zt(this.ctx),u=null;if(h.enabled){u=d.group({class:"apexcharts-data-labels"});var g=h.offsetX,p=h.offsetY,f=i+g,x=s+parseFloat(h.style.fontSize)/3+p;c.plotDataLabelsText({x:f,y:x,text:t,i:a,j:r,color:n.foreColor,parent:u,fontSize:l,dataLabelsConfig:h})}return u}},{key:"addListeners",value:function(e){var t=new W(this.ctx);e.node.addEventListener("mouseenter",t.pathMouseEnter.bind(this,e)),e.node.addEventListener("mouseleave",t.pathMouseLeave.bind(this,e)),e.node.addEventListener("mousedown",t.pathMouseDown.bind(this,e))}}]),o}(),Ln=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w,this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new La(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return E(o,[{key:"draw",value:function(e){var t=this.w,i=new W(this.ctx),s=i.group({class:"apexcharts-heatmap"});s.attr("clip-path","url(#gridRectMask".concat(t.globals.cuid,")"));var a=t.globals.gridWidth/t.globals.dataPoints,r=t.globals.gridHeight/t.globals.series.length,n=0,l=!1;this.negRange=this.helpers.checkColorRange();var h=e.slice();t.config.yaxis[0].reversed&&(l=!0,h.reverse());for(var d=l?0:h.length-1;l?d=0;l?d++:d--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:R.escapeString(t.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});if(this.ctx.series.addCollapsedClassToSeries(c,d),t.config.chart.dropShadow.enabled){var u=t.config.chart.dropShadow;new Re(this.ctx).dropShadow(c,u,d)}for(var g=0,p=t.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(u),i.config.dataLabels.enabled){var A=w.x,T=w.y,k=100*p/this.fullAngle+"%";if(p!==0&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?t.endAngle=t.endAngle-(s+n):s+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(d=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(d)>this.fullAngle&&(d-=this.fullAngle);var c=Math.PI*(d-90)/180,u=i.centerX+r*Math.cos(h),g=i.centerY+r*Math.sin(h),p=i.centerX+r*Math.cos(c),f=i.centerY+r*Math.sin(c),x=R.polarToCartesian(i.centerX,i.centerY,i.donutSize,d),m=R.polarToCartesian(i.centerX,i.centerY,i.donutSize,l),b=a>180?1:0,w=["M",u,g,"A",r,r,0,b,1,p,f];return t=i.chartType==="donut"?[].concat(w,["L",x.x,x.y,"A",i.donutSize,i.donutSize,0,b,0,m.x,m.y,"L",u,g,"z"]).join(" "):i.chartType==="pie"||i.chartType==="polarArea"?[].concat(w,["L",i.centerX,i.centerY,"L",u,g]).join(" "):[].concat(w).join(" "),n.roundPathCorners(t,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(e){var t=this.w,i=new va(this.ctx),s=new W(this.ctx),a=new Ma(this.ctx),r=s.group(),n=s.group(),l=i.niceScale(0,Math.ceil(this.maxY),0),h=l.result.reverse(),d=l.result.length;this.maxY=l.niceMax;for(var c=t.globals.radialSize,u=c/(d-1),g=0;g1&&e.total.show&&(a=e.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),l=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,e.value.formatter)(i,r),s||typeof e.total.formatter!="function"||(i=e.total.formatter(r));var h=t===e.total.label;t=this.donutDataLabels.total.label?e.name.formatter(t,h,r):"",n!==null&&(n.textContent=t),l!==null&&(l.textContent=i),n!==null&&(n.style.fill=a)}},{key:"printDataLabelsInner",value:function(e,t){var i=this.w,s=e.getAttribute("data:value"),a=i.globals.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(t,a,s,e);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");r!==null&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(e){var t=this,i=this.w,s=new W(this.ctx),a=i.config.plotOptions.polarArea.spokes;if(a.strokeWidth!==0){for(var r=[],n=360/i.globals.series.length,l=0;l0&&(T=t.getPreviousPath(m));for(var k=0;k=10?e.x>0?(i="start",s+=10):e.x<0&&(i="end",s-=10):i="middle",Math.abs(e.y)>=t-10&&(e.y<0?a-=10:e.y>0&&(a+=10)),{textAnchor:i,newX:s,newY:a}}},{key:"getPreviousPath",value:function(e){for(var t=this.w,i=null,s=0;s0&&parseInt(a.realIndex,10)===parseInt(e,10)&&t.globals.previousPaths[s].paths[0]!==void 0&&(i=t.globals.previousPaths[s].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.dataPointsLen;e=e||[],t=t||[];for(var s=[],a=0;a=360&&(f=360-Math.abs(this.startAngle)-.1);var x=a.drawPath({d:"",stroke:g,strokeWidth:h*parseInt(u.strokeWidth,10)/100,fill:"none",strokeOpacity:u.opacity,classes:"apexcharts-radialbar-area"});if(u.dropShadow.enabled){var m=u.dropShadow;n.dropShadow(x,m)}c.add(x),x.attr("id","apexcharts-radialbarTrack-"+d),this.animatePaths(x,{centerX:i.centerX,centerY:i.centerY,endAngle:f,startAngle:p,size:i.size,i:d,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return r}},{key:"drawArcs",value:function(i){var s=this.w,a=new W(this.ctx),r=new et(this.ctx),n=new Re(this.ctx),l=a.group(),h=this.getStrokeWidth(i);i.size=i.size-h/2;var d=s.config.plotOptions.radialBar.hollow.background,c=i.size-h*i.series.length-this.margin*i.series.length-h*parseInt(s.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,u=c-s.config.plotOptions.radialBar.hollow.margin;s.config.plotOptions.radialBar.hollow.image!==void 0&&(d=this.drawHollowImage(i,l,c,d));var g=this.drawHollow({size:u,centerX:i.centerX,centerY:i.centerY,fill:d||"transparent"});if(s.config.plotOptions.radialBar.hollow.dropShadow.enabled){var p=s.config.plotOptions.radialBar.hollow.dropShadow;n.dropShadow(g,p)}var f=1;!this.radialDataLabels.total.show&&s.globals.series.length>1&&(f=0);var x=null;if(this.radialDataLabels.show){var m=s.globals.dom.Paper.findOne(".apexcharts-datalabels-group");x=this.renderInnerDataLabels(m,this.radialDataLabels,{hollowSize:c,centerX:i.centerX,centerY:i.centerY,opacity:f})}s.config.plotOptions.radialBar.hollow.position==="back"&&(l.add(g),x&&l.add(x));var b=!1;s.config.plotOptions.radialBar.inverseOrder&&(b=!0);for(var w=b?i.series.length-1:0;b?w>=0:w100?100:i.series[w])/100,O=Math.round(this.totalAngle*M)+this.startAngle,I=void 0;s.globals.dataChanged&&(k=this.startAngle,I=Math.round(this.totalAngle*R.negToZero(s.globals.previousPaths[w])/100)+k),Math.abs(O)+Math.abs(T)>360&&(O-=.01),Math.abs(I)+Math.abs(k)>360&&(I-=.01);var F=O-T,G=Array.isArray(s.config.stroke.dashArray)?s.config.stroke.dashArray[w]:s.config.stroke.dashArray,N=a.drawPath({d:"",stroke:A,strokeWidth:h,fill:"none",fillOpacity:s.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+w,strokeDashArray:G});if(W.setAttrs(N.node,{"data:angle":F,"data:value":i.series[w]}),s.config.chart.dropShadow.enabled){var B=s.config.chart.dropShadow;n.dropShadow(N,B,w)}if(n.setSelectionFilter(N,0,w),this.addListeners(N,this.radialDataLabels),S.add(N),N.attr({index:0,j:w}),this.barLabels.enabled){var U=R.polarToCartesian(i.centerX,i.centerY,i.size,T),q=this.barLabels.formatter(s.globals.seriesNames[w],{seriesIndex:w,w:s}),$=["apexcharts-radialbar-label"];this.barLabels.onClick||$.push("apexcharts-no-click");var ie=this.barLabels.useSeriesColors?s.globals.colors[w]:s.config.chart.foreColor;ie||(ie=s.config.chart.foreColor);var te=U.x+this.barLabels.offsetX,ae=U.y+this.barLabels.offsetY,se=a.drawText({x:te,y:ae,text:q,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:ie,cssClass:$.join(" ")});se.on("click",this.onBarLabelClick),se.attr({rel:w+1}),T!==0&&se.attr({"transform-origin":"".concat(te," ").concat(ae),transform:"rotate(".concat(T," 0 0)")}),S.add(se)}var Se=0;!this.initialAnim||s.globals.resized||s.globals.dataChanged||(Se=s.config.chart.animations.speed),s.globals.dataChanged&&(Se=s.config.chart.animations.dynamicAnimation.speed),this.animDur=Se/(1.2*i.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(N,{centerX:i.centerX,centerY:i.centerY,endAngle:O,startAngle:T,prevEndAngle:I,prevStartAngle:k,size:i.size,i:w,totalItems:2,animBeginArr:this.animBeginArr,dur:Se,shouldSetPrevPaths:!0})}return{g:l,elHollow:g,dataLabels:x}}},{key:"drawHollow",value:function(i){var s=new W(this.ctx).drawCircle(2*i.size);return s.attr({class:"apexcharts-radialbar-hollow",cx:i.centerX,cy:i.centerY,r:i.size,fill:i.fill}),s}},{key:"drawHollowImage",value:function(i,s,a,r){var n=this.w,l=new et(this.ctx),h=R.randomId(),d=n.config.plotOptions.radialBar.hollow.image;if(n.config.plotOptions.radialBar.hollow.imageClipped)l.clippedImgArea({width:a,height:a,image:d,patternID:"pattern".concat(n.globals.cuid).concat(h)}),r="url(#pattern".concat(n.globals.cuid).concat(h,")");else{var c=n.config.plotOptions.radialBar.hollow.imageWidth,u=n.config.plotOptions.radialBar.hollow.imageHeight;if(c===void 0&&u===void 0){var g=n.globals.dom.Paper.image(d,function(f){this.move(i.centerX-f.width/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-f.height/2+n.config.plotOptions.radialBar.hollow.imageOffsetY)});s.add(g)}else{var p=n.globals.dom.Paper.image(d,function(f){this.move(i.centerX-c/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-u/2+n.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(c,u)});s.add(p)}}return r}},{key:"getStrokeWidth",value:function(i){var s=this.w;return i.size*(100-parseInt(s.config.plotOptions.radialBar.hollow.size,10))/100/(i.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(i){var s=parseInt(i.target.getAttribute("rel"),10)-1,a=this.barLabels.onClick,r=this.w;a&&a(r.globals.seriesNames[s],{w:r,seriesIndex:s})}}]),t}(Pa),Tn=function(o){Z(t,o);var e=Y(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s){var a=this.w,r=new W(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=i,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(i);for(var n=r.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),l=0;l0&&(this.visibleI=this.visibleI+1);var b=0,w=0,S=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[f][0],S=f);var A=this.barHelpers.initialPositions();p=A.y,u=A.zeroW,g=A.x,w=A.barWidth,b=A.barHeight,h=A.xDivision,d=A.yDivision,c=A.zeroH;for(var T=r.group({class:"apexcharts-datalabels","data:realIndex":f}),k=r.group({class:"apexcharts-rangebar-goals-markers"}),M=0;M0});return this.isHorizontal?(r=f.config.plotOptions.bar.rangeBarGroupRows?l+u*S:l+d*this.visibleI+u*S,A>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(x=f.globals.seriesRange[s][A].overlaps).indexOf(m)>-1&&(r=(d=p.barHeight/x.length)*this.visibleI+u*(100-parseInt(this.barOptions.barHeight,10))/100/2+d*(this.visibleI+x.indexOf(m))+u*S)):(S>-1&&!f.globals.timescaleLabels.length&&(n=f.config.plotOptions.bar.rangeBarGroupRows?h+g*S:h+c*this.visibleI+g*S),A>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(x=f.globals.seriesRange[s][A].overlaps).indexOf(m)>-1&&(n=(c=p.barWidth/x.length)*this.visibleI+g*(100-parseInt(this.barOptions.barWidth,10))/100/2+c*(this.visibleI+x.indexOf(m))+g*S)),{barYPosition:r,barXPosition:n,barHeight:d,barWidth:c}}},{key:"drawRangeColumnPaths",value:function(i){var s=i.indexes,a=i.x,r=i.xDivision,n=i.barWidth,l=i.barXPosition,h=i.zeroH,d=this.w,c=s.i,u=s.j,g=s.realIndex,p=s.translationsIndex,f=this.yRatio[p],x=this.getRangeValue(g,u),m=Math.min(x.start,x.end),b=Math.max(x.start,x.end);this.series[c][u]===void 0||this.series[c][u]===null?m=h:(m=h-m/f,b=h-b/f);var w=Math.abs(b-m),S=this.barHelpers.getColumnPaths({barXPosition:l,barWidth:n,y1:m,y2:b,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:g,i:g,j:u,w:d});if(d.globals.isXNumeric){var A=this.getBarXForNumericXAxis({x:a,j:u,realIndex:g,barWidth:n});a=A.x,l=A.barXPosition}else a+=r;return{pathTo:S.pathTo,pathFrom:S.pathFrom,barHeight:w,x:a,y:x.start<0&&x.end<0?m:b,goalY:this.barHelpers.getGoalValues("y",null,h,c,u,p),barXPosition:l}}},{key:"preventBarOverflow",value:function(i){var s=this.w;return i<0&&(i=0),i>s.globals.gridWidth&&(i=s.globals.gridWidth),i}},{key:"drawRangeBarPaths",value:function(i){var s=i.indexes,a=i.y,r=i.y1,n=i.y2,l=i.yDivision,h=i.barHeight,d=i.barYPosition,c=i.zeroW,u=this.w,g=s.realIndex,p=s.j,f=this.preventBarOverflow(c+r/this.invertedYRatio),x=this.preventBarOverflow(c+n/this.invertedYRatio),m=this.getRangeValue(g,p),b=Math.abs(x-f),w=this.barHelpers.getBarpaths({barYPosition:d,barHeight:h,x1:f,x2:x,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:g,realIndex:g,j:p,w:u});return u.globals.isXNumeric||(a+=l),{pathTo:w.pathTo,pathFrom:w.pathFrom,barWidth:b,x:m.start<0&&m.end<0?f:x,goalX:this.barHelpers.getGoalValues("x",c,null,g,p),y:a}}},{key:"getRangeValue",value:function(i,s){var a=this.w;return{start:a.globals.seriesRangeStart[i][s],end:a.globals.seriesRangeEnd[i][s]}}}]),t}(Xt),En=function(){function o(e){P(this,o),this.w=e.w,this.lineCtx=e}return E(o,[{key:"sameValueSeriesFix",value:function(e,t){var i=this.w;if((i.config.fill.type==="gradient"||i.config.fill.type[e]==="gradient")&&new Pe(this.lineCtx.ctx,i).seriesHaveSameValues(e)){var s=t[e].slice();s[s.length-1]=s[s.length-1]+1e-6,t[e]=s}return t}},{key:"calculatePoints",value:function(e){var t=e.series,i=e.realIndex,s=e.x,a=e.y,r=e.i,n=e.j,l=e.prevY,h=this.w,d=[],c=[];if(n===0){var u=this.lineCtx.categoryAxisCorrection+h.config.markers.offsetX;h.globals.isXNumeric&&(u=(h.globals.seriesX[i][0]-h.globals.minX)/this.lineCtx.xRatio+h.config.markers.offsetX),d.push(u),c.push(R.isNumber(t[r][0])?l+h.config.markers.offsetY:null),d.push(s+h.config.markers.offsetX),c.push(R.isNumber(t[r][n+1])?a+h.config.markers.offsetY:null)}else d.push(s+h.config.markers.offsetX),c.push(R.isNumber(t[r][n+1])?a+h.config.markers.offsetY:null);return{x:d,y:c}}},{key:"checkPreviousPaths",value:function(e){for(var t=e.pathFromLine,i=e.pathFromArea,s=e.realIndex,a=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(s,10)&&(n.type==="line"?(this.lineCtx.appendPathFrom=!1,t=a.globals.previousPaths[r].paths[0].d):n.type==="area"&&(this.lineCtx.appendPathFrom=!1,i=a.globals.previousPaths[r].paths[0].d,a.config.stroke.show&&a.globals.previousPaths[r].paths[1]&&(t=a.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:t,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(e){var t,i,s,a=e.i,r=e.realIndex,n=e.series,l=e.prevY,h=e.lineYPosition,d=e.translationsIndex,c=this.w,u=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[r])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[r])===null||i===void 0?void 0:i.type)==="column");if(((s=n[a])===null||s===void 0?void 0:s[0])!==void 0)l=(h=u&&a>0?this.lineCtx.prevSeriesY[a-1][0]:this.lineCtx.zeroY)-n[a][0]/this.lineCtx.yRatio[d]+2*(this.lineCtx.isReversed?n[a][0]/this.lineCtx.yRatio[d]:0);else if(u&&a>0&&n[a][0]===void 0){for(var g=a-1;g>=0;g--)if(n[g][0]!==null&&n[g][0]!==void 0){l=h=this.lineCtx.prevSeriesY[g][0];break}}return{prevY:l,lineYPosition:h}}}]),o}(),Rn=function(o){for(var e,t,i,s,a=function(d){for(var c=[],u=d[0],g=d[1],p=c[0]=ds(u,g),f=1,x=d.length-1;f9&&(s=3*i/Math.sqrt(s),a[l]=s*e,a[l+1]=s*t);for(var h=0;h<=r;h++)s=(o[Math.min(r,h+1)][0]-o[Math.max(0,h-1)][0])/(6*(1+a[h]*a[h])),n.push([s||0,a[h]*s||0]);return n},In=function(o){var e=Rn(o),t=o[1],i=o[0],s=[],a=e[1],r=e[0];s.push(i,[i[0]+r[0],i[1]+r[1],t[0]-a[0],t[1]-a[1],t[0],t[1]]);for(var n=2,l=e.length;n1&&i[1].length<6){var s=i[0].length;i[1]=[2*i[0][s-2]-i[0][s-4],2*i[0][s-1]-i[0][s-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i};function ds(o,e){return(e[1]-o[1])/(e[0]-o[0])}var us=function(){function o(e,t,i){P(this,o),this.ctx=e,this.w=e.w,this.xyRatios=t,this.pointsChart=!(this.w.config.chart.type!=="bubble"&&this.w.config.chart.type!=="scatter")||i,this.scatter=new ma(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new En(this),this.markers=new Ot(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return E(o,[{key:"draw",value:function(e,t,i,s){var a,r=this.w,n=new W(this.ctx),l=r.globals.comboCharts?t:r.config.chart.type,h=n.group({class:"apexcharts-".concat(l,"-series apexcharts-plot-series")}),d=new Pe(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=d.getLogSeries(e),this.yRatio=d.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],u=0;u1?g:0;this._initSerieVariables(e,u,g);var f=[],x=[],m=[],b=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(b=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),m.push(b);var w,S=b,A=void 0,T=S,k=this.zeroY,M=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:u,realIndex:g,series:e,prevY:k,lineYPosition:0,translationsIndex:p}).prevY,r.config.stroke.curve==="monotoneCubic"&&e[u][0]===null?f.push(null):f.push(k),w=k,l==="rangeArea"&&(A=M=this.lineHelpers.determineFirstPrevY({i:u,realIndex:g,series:s,prevY:M,lineYPosition:0,translationsIndex:p}).prevY,x.push(f[0]!==null?M:null));var O=this._calculatePathsFrom({type:l,series:e,i:u,realIndex:g,translationsIndex:p,prevX:T,prevY:k,prevY2:M}),I=[f[0]],F=[x[0]],G={type:l,series:e,realIndex:g,translationsIndex:p,i:u,x:b,y:1,pX:S,pY:w,pathsFrom:O,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:m,yArrj:f,y2Arrj:x,seriesRangeEnd:s},N=this._iterateOverDataPoints(H(H({},G),{},{iterations:l==="rangeArea"?e[u].length-1:void 0,isRangeStart:!0}));if(l==="rangeArea"){for(var B=this._calculatePathsFrom({series:s,i:u,realIndex:g,prevX:T,prevY:M}),U=this._iterateOverDataPoints(H(H({},G),{},{series:s,xArrj:[b],yArrj:I,y2Arrj:F,pY:A,areaPaths:N.areaPaths,pathsFrom:B,iterations:s[u].length-1,isRangeStart:!1})),q=N.linePaths.length/2,$=0;$=0;ie--)h.add(c[ie]);else for(var te=0;te1&&(this.yaxisIndex=s.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=s.config.yaxis[this.yaxisIndex]&&s.config.yaxis[this.yaxisIndex].reversed,this.zeroY=s.globals.gridHeight-this.baseLineY[r]-(this.isReversed?s.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>s.globals.gridHeight||s.config.plotOptions.area.fillTo==="end")&&(this.areaBottomY=s.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=a.group({class:"apexcharts-series",zIndex:s.config.series[i].zIndex!==void 0?s.config.series[i].zIndex:i,seriesName:R.escapeString(s.globals.seriesNames[i])}),this.elPointsMain=a.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=a.group({class:"apexcharts-datalabels","data:realIndex":i});var n=e[t].length===s.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:t+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(e){var t,i,s,a,r=e.type,n=e.series,l=e.i,h=e.realIndex,d=e.translationsIndex,c=e.prevX,u=e.prevY,g=e.prevY2,p=this.w,f=new W(this.ctx);if(n[l][0]===null){for(var x=0;x0){var m=this.lineHelpers.checkPreviousPaths({pathFromLine:s,pathFromArea:a,realIndex:h});s=m.pathFromLine,a=m.pathFromArea}return{prevX:c,prevY:u,linePath:t,areaPath:i,pathFromLine:s,pathFromArea:a}}},{key:"_handlePaths",value:function(e){var t=e.type,i=e.realIndex,s=e.i,a=e.paths,r=this.w,n=new W(this.ctx),l=new et(this.ctx);this.prevSeriesY.push(a.yArrj),r.globals.seriesXvalues[i]=a.xArrj,r.globals.seriesYvalues[i]=a.yArrj;var h=r.config.forecastDataPoints;if(h.count>0&&t!=="rangeArea"){var d=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-h.count-1],c=n.drawRect(d,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var u=n.drawRect(0,0,d,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(u.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:s,realIndex:i,animationDelay:s,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(t)};if(t==="area")for(var p=l.fillPath({seriesNumber:i}),f=0;f0&&t!=="rangeArea"){var k=n.renderPaths(A);k.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&k.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(k),k.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),T.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(e){var t,i,s=this,a=e.type,r=e.series,n=e.iterations,l=e.realIndex,h=e.translationsIndex,d=e.i,c=e.x,u=e.y,g=e.pX,p=e.pY,f=e.pathsFrom,x=e.linePaths,m=e.areaPaths,b=e.seriesIndex,w=e.lineYPosition,S=e.xArrj,A=e.yArrj,T=e.y2Arrj,k=e.isRangeStart,M=e.seriesRangeEnd,O=this.w,I=new W(this.ctx),F=this.yRatio,G=f.prevY,N=f.linePath,B=f.areaPath,U=f.pathFromLine,q=f.pathFromArea,$=R.isNumber(O.globals.minYArr[l])?O.globals.minYArr[l]:O.globals.minY;n||(n=O.globals.dataPoints>1?O.globals.dataPoints-1:O.globals.dataPoints);var ie=function(ze,Xe){return Xe-ze/F[h]+2*(s.isReversed?ze/F[h]:0)},te=u,ae=O.config.chart.stacked&&!O.globals.comboCharts||O.config.chart.stacked&&O.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[l])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[l])===null||i===void 0?void 0:i.type)==="column"),se=O.config.stroke.curve;Array.isArray(se)&&(se=Array.isArray(b)?se[b[d]]:se[d]);for(var Se,Ce=0,ye=0;ye0&&O.globals.collapsedSeries.length0;Xe--){if(!(O.globals.collapsedSeriesIndices.indexOf((b==null?void 0:b[Xe])||Xe)>-1))return Xe;Xe--}return 0}(d-1)][ye+1]:w=this.zeroY:w=this.zeroY,Oe?u=ie($,w):(u=ie(r[d][ye+1],w),a==="rangeArea"&&(te=ie(M[d][ye+1],w))),S.push(c),!Oe||O.config.stroke.curve!=="smooth"&&O.config.stroke.curve!=="monotoneCubic"?(A.push(u),T.push(te)):(A.push(null),T.push(null));var ue=this.lineHelpers.calculatePoints({series:r,x:c,y:u,realIndex:l,i:d,j:ye,prevY:G}),me=this._createPaths({type:a,series:r,i:d,realIndex:l,j:ye,x:c,y:u,y2:te,xArrj:S,yArrj:A,y2Arrj:T,pX:g,pY:p,pathState:Ce,segmentStartX:Se,linePath:N,areaPath:B,linePaths:x,areaPaths:m,curve:se,isRangeStart:k});m=me.areaPaths,x=me.linePaths,g=me.pX,p=me.pY,Ce=me.pathState,Se=me.segmentStartX,B=me.areaPath,N=me.linePath,!this.appendPathFrom||O.globals.hasNullValues||se==="monotoneCubic"&&a==="rangeArea"||(U+=I.line(c,this.areaBottomY),q+=I.line(c,this.areaBottomY)),this.handleNullDataPoints(r,ue,d,ye,l),this._handleMarkersAndLabels({type:a,pointsPos:ue,i:d,j:ye,realIndex:l,isRangeStart:k})}return{yArrj:A,xArrj:S,pathFromArea:q,areaPaths:m,pathFromLine:U,linePaths:x,linePath:N,areaPath:B}}},{key:"_handleMarkersAndLabels",value:function(e){var t=e.type,i=e.pointsPos,s=e.isRangeStart,a=e.i,r=e.j,n=e.realIndex,l=this.w,h=new zt(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{l.globals.series[a].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var d=this.markers.plotChartMarkers(i,n,r+1);d!==null&&this.elPointsMain.add(d)}var c=h.drawDataLabel({type:t,isRangeStart:s,pos:i,i:n,j:r+1});c!==null&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(e){var t=e.type,i=e.series,s=e.i;e.realIndex;var a,r=e.j,n=e.x,l=e.y,h=e.xArrj,d=e.yArrj,c=e.y2,u=e.y2Arrj,g=e.pX,p=e.pY,f=e.pathState,x=e.segmentStartX,m=e.linePath,b=e.areaPath,w=e.linePaths,S=e.areaPaths,A=e.curve,T=e.isRangeStart,k=new W(this.ctx),M=this.areaBottomY,O=t==="rangeArea",I=t==="rangeArea"&&T;switch(A){case"monotoneCubic":var F=T?d:u;switch(f){case 0:if(F[r+1]===null)break;f=1;case 1:if(!(O?h.length===i[s].length:r===i[s].length-2))break;case 2:var G=T?h:h.slice().reverse(),N=T?F:F.slice().reverse(),B=(a=N,G.map(function(ge,ue){return[ge,a[ue]]}).filter(function(ge){return ge[1]!==null})),U=B.length>1?In(B):B,q=[];O&&(I?S=B:q=S.reverse());var $=0,ie=0;if(function(ge,ue){for(var me=function($t){var Ne=[],nt=0;return $t.forEach(function(_n){_n!==null?nt++:nt>0&&(Ne.push(nt),nt=0)}),nt>0&&Ne.push(nt),Ne}(ge),ze=[],Xe=0,it=0;Xe4?(it+="C".concat(Ne[0],", ").concat(Ne[1]),it+=", ".concat(Ne[2],", ").concat(Ne[3]),it+=", ".concat(Ne[4],", ").concat(Ne[5])):nt>2&&(it+="S".concat(Ne[0],", ").concat(Ne[1]),it+=", ".concat(Ne[2],", ").concat(Ne[3]))}return it}(ge),me=ie,ze=(ie+=ge.length)-1;I?m=k.move(B[me][0],B[me][1])+ue:O?m=k.move(q[me][0],q[me][1])+k.line(B[me][0],B[me][1])+ue+k.line(q[ze][0],q[ze][1]):(m=k.move(B[me][0],B[me][1])+ue,b=m+k.line(B[ze][0],M)+k.line(B[me][0],M)+"z",S.push(b)),w.push(m)}),O&&$>1&&!I){var te=w.slice($).reverse();w.splice($),te.forEach(function(ge){return w.push(ge)})}f=0}break;case"smooth":var ae=.35*(n-g);if(i[s][r]===null)f=0;else switch(f){case 0:if(x=g,m=I?k.move(g,u[r])+k.line(g,p):k.move(g,p),b=k.move(g,p),i[s][r+1]===null||i[s][r+1]===void 0){w.push(m),S.push(b);break}if(f=1,r=i[s].length-2&&(I&&(m+=k.curve(n,l,n,l,n,c)+k.move(n,c)),b+=k.curve(n,l,n,l,n,M)+k.line(x,M)+"z",w.push(m),S.push(b),f=-1)}}g=n,p=l;break;default:var Ce=function(ge,ue,me){var ze=[];switch(ge){case"stepline":ze=k.line(ue,null,"H")+k.line(null,me,"V");break;case"linestep":ze=k.line(null,me,"V")+k.line(ue,null,"H");break;case"straight":ze=k.line(ue,me)}return ze};if(i[s][r]===null)f=0;else switch(f){case 0:if(x=g,m=I?k.move(g,u[r])+k.line(g,p):k.move(g,p),b=k.move(g,p),i[s][r+1]===null||i[s][r+1]===void 0){w.push(m),S.push(b);break}if(f=1,r=i[s].length-2&&(I&&(m+=k.line(n,c)),b+=k.line(n,M)+k.line(x,M)+"z",w.push(m),S.push(b),f=-1)}}g=n,p=l}return{linePaths:w,areaPaths:S,pX:g,pY:p,pathState:f,segmentStartX:x,linePath:m,areaPath:b}}},{key:"handleNullDataPoints",value:function(e,t,i,s,a){var r=this.w;if(e[i][s]===null&&r.config.markers.showNullDataPoints||e[i].length===1){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var l=this.markers.plotChartMarkers(t,a,s+1,n,!0);l!==null&&this.elPointsMain.add(l)}}}]),o}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function o(n,l,h,d){this.xoffset=n,this.yoffset=l,this.height=d,this.width=h,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(c){var u,g=[],p=this.xoffset,f=this.yoffset,x=a(c)/this.height,m=a(c)/this.width;if(this.width>=this.height)for(u=0;u=this.height){var g=c/this.height,p=this.width-g;u=new o(this.xoffset+g,this.yoffset,p,this.height)}else{var f=c/this.width,x=this.height-f;u=new o(this.xoffset,this.yoffset+f,this.width,x)}return u}}function e(n,l,h,d,c){d=d===void 0?0:d,c=c===void 0?0:c;var u=t(function(g,p){var f,x=[],m=p/a(g);for(f=0;f=w}(l,u=n[0],c)?(l.push(u),t(n.slice(1),l,h,d)):(g=h.cutArea(a(l),d),d.push(h.getCoordinates(l)),t(n,[],g,d)),d;d.push(h.getCoordinates(l))}function i(n,l){var h=Math.min.apply(Math,n),d=Math.max.apply(Math,n),c=a(n);return Math.max(Math.pow(l,2)*d/Math.pow(c,2),Math.pow(c,2)/(Math.pow(l,2)*h))}function s(n){return n&&n.constructor===Array}function a(n){var l,h=0;for(l=0;lr-s&&h.width<=n-a){var d=l.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(-90 ".concat(d.x," ").concat(d.y,") translate(").concat(h.height/3,")"))}}},{key:"truncateLabels",value:function(e,t,i,s,a,r){var n=new W(this.ctx),l=n.getTextRects(e,t).width+this.w.config.stroke.width+5>a-i&&r-s>a-i?r-s:a-i,h=n.getTextBasedOnMaxWidth({text:e,maxWidth:l,fontSize:t});return e.length!==h.length&&l/t<5?"":h}},{key:"animateTreemap",value:function(e,t,i,s){var a=new Fe(this.ctx);a.animateRect(e,{x:t.x,y:t.y,width:t.width,height:t.height},{x:i.x,y:i.y,width:i.width,height:i.height},s,function(){a.animationCompleted(e)})}}]),o}(),Ta=86400,Xn=10/Ta,Hn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return E(o,[{key:"calculateTimeScaleTicks",value:function(e,t){var i=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var a=new Ie(this.ctx),r=(t-e)/864e5;this.determineInterval(r),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,r5e4&&(s.globals.disableZoomOut=!0);var n=a.getTimeUnitsfromTimestamp(e,t,this.utc),l=s.globals.gridWidth/r,h=l/24,d=h/60,c=d/60,u=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*Ta),f=Math.floor(r),x=Math.floor(r/30),m=Math.floor(r/365),b={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},w={firstVal:b,currentMillisecond:b.minMillisecond,currentSecond:b.minSecond,currentMinute:b.minMinute,currentHour:b.minHour,currentMonthDate:b.minDate,currentDate:b.minDate,currentMonth:b.minMonth,currentYear:b.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:d,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:u,numberOfDays:f,numberOfMonths:x,numberOfYears:m};switch(this.tickInterval){case"years":this.generateYearScale(w);break;case"months":case"half_year":this.generateMonthScale(w);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(w);break;case"hours":this.generateHourScale(w);break;case"minutes_fives":case"minutes":this.generateMinuteScale(w);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(w)}var S=this.timeScaleArray.map(function(A){var T={position:A.position,unit:A.unit,year:A.year,day:A.day?A.day:1,hour:A.hour?A.hour:0,month:A.month+1};return A.unit==="month"?H(H({},T),{},{day:1,value:A.value+1}):A.unit==="day"||A.unit==="hour"?H(H({},T),{},{value:A.value}):A.unit==="minute"?H(H({},T),{},{value:A.value,minute:A.value}):A.unit==="second"?H(H({},T),{},{value:A.value,minute:A.minute,second:A.second}):A});return S.filter(function(A){var T=1,k=Math.ceil(s.globals.gridWidth/120),M=A.value;s.config.xaxis.tickAmount!==void 0&&(k=s.config.xaxis.tickAmount),S.length>k&&(T=Math.floor(S.length/k));var O=!1,I=!1;switch(i.tickInterval){case"years":A.unit==="year"&&(O=!0);break;case"half_year":T=7,A.unit==="year"&&(O=!0);break;case"months":T=1,A.unit==="year"&&(O=!0);break;case"months_fortnight":T=15,A.unit!=="year"&&A.unit!=="month"||(O=!0),M===30&&(I=!0);break;case"months_days":T=10,A.unit==="month"&&(O=!0),M===30&&(I=!0);break;case"week_days":T=8,A.unit==="month"&&(O=!0);break;case"days":T=1,A.unit==="month"&&(O=!0);break;case"hours":A.unit==="day"&&(O=!0);break;case"minutes_fives":case"seconds_fives":M%5!=0&&(I=!0);break;case"seconds_tens":M%10!=0&&(I=!0)}if(i.tickInterval==="hours"||i.tickInterval==="minutes_fives"||i.tickInterval==="seconds_tens"||i.tickInterval==="seconds_fives"){if(!I)return!0}else if((M%T==0||O)&&!I)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(e,t){var i=this.w,s=this.formatDates(e),a=this.removeOverlappingTS(s);i.globals.timescaleLabels=a.slice(),new ui(this.ctx).plotCoords()}},{key:"determineInterval",value:function(e){var t=24*e,i=60*t;switch(!0){case e/365>5:this.tickInterval="years";break;case e>800:this.tickInterval="half_year";break;case e>180:this.tickInterval="months";break;case e>90:this.tickInterval="months_fortnight";break;case e>60:this.tickInterval="months_days";break;case e>30:this.tickInterval="week_days";break;case e>2:this.tickInterval="days";break;case t>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(e){var t=e.firstVal,i=e.currentMonth,s=e.currentYear,a=e.daysWidthOnXAxis,r=e.numberOfYears,n=t.minYear,l=0,h=new Ie(this.ctx),d="year";if(t.minDate>1||t.minMonth>0){var c=h.determineRemainingDaysOfYear(t.minYear,t.minMonth,t.minDate);l=(h.determineDaysOfYear(t.minYear)-c+1)*a,n=t.minYear+1,this.timeScaleArray.push({position:l,value:n,unit:d,year:n,month:R.monthMod(i+1)})}else t.minDate===1&&t.minMonth===0&&this.timeScaleArray.push({position:l,value:n,unit:d,year:s,month:R.monthMod(i+1)});for(var u=n,g=l,p=0;p1){h=(d.determineDaysOfMonths(s+1,t.minYear)-i+1)*r,l=R.monthMod(s+1);var g=a+u,p=R.monthMod(l),f=l;l===0&&(c="year",f=g,p=1,g+=u+=1),this.timeScaleArray.push({position:h,value:f,unit:c,year:g,month:p})}else this.timeScaleArray.push({position:h,value:l,unit:c,year:a,month:R.monthMod(s)});for(var x=l+1,m=h,b=0,w=1;bn.determineDaysOfMonths(S+1,A)&&(d=1,l="month",g=S+=1),S},u=(24-t.minHour)*a,g=h,p=c(d,i,s);t.minHour===0&&t.minDate===1?(u=0,g=R.monthMod(t.minMonth),l="month",d=t.minDate):t.minDate!==1&&t.minHour===0&&t.minMinute===0&&(u=0,h=t.minDate,g=h,p=c(d=h,i,s)),this.timeScaleArray.push({position:u,value:g,unit:l,year:this._getYear(s,p,0),month:R.monthMod(p),day:d});for(var f=u,x=0;xl.determineDaysOfMonths(k+1,a)&&(x=1,k+=1),{month:k,date:x}},c=function(T,k){return T>l.determineDaysOfMonths(k+1,a)?k+=1:k},u=60-(t.minMinute+t.minSecond/60),g=u*r,p=t.minHour+1,f=p;u===60&&(g=0,f=p=t.minHour);var x=i;f>=24&&(f=0,h="day",p=x+=1);var m=d(x,s).month;m=c(x,m),this.timeScaleArray.push({position:g,value:p,unit:h,day:x,hour:f,year:a,month:R.monthMod(m)}),f++;for(var b=g,w=0;w=24&&(f=0,h="day",m=d(x+=1,m).month,m=c(x,m));var S=this._getYear(a,m,0);b=60*r+b;var A=f===0?x:f;this.timeScaleArray.push({position:b,value:A,unit:h,hour:f,day:x,year:S,month:R.monthMod(m)}),f++}}},{key:"generateMinuteScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,s=e.currentMinute,a=e.currentHour,r=e.currentDate,n=e.currentMonth,l=e.currentYear,h=e.minutesWidthOnXAxis,d=e.secondsWidthOnXAxis,c=e.numberOfMinutes,u=s+1,g=r,p=n,f=l,x=a,m=(60-i-t/1e3)*d,b=0;b=60&&(u=0,(x+=1)===24&&(x=0)),this.timeScaleArray.push({position:m,value:u,unit:"minute",hour:x,minute:u,day:g,year:this._getYear(f,p,0),month:R.monthMod(p)}),m+=h,u++}},{key:"generateSecondScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,s=e.currentMinute,a=e.currentHour,r=e.currentDate,n=e.currentMonth,l=e.currentYear,h=e.secondsWidthOnXAxis,d=e.numberOfSeconds,c=i+1,u=s,g=r,p=n,f=l,x=a,m=(1e3-t)/1e3*h,b=0;b=60&&(c=0,++u>=60&&(u=0,++x===24&&(x=0))),this.timeScaleArray.push({position:m,value:c,unit:"second",hour:x,minute:u,second:c,day:g,year:this._getYear(f,p,0),month:R.monthMod(p)}),m+=h,c++}},{key:"createRawDateString",value:function(e,t){var i=e.year;return e.month===0&&(e.month=1),i+="-"+("0"+e.month.toString()).slice(-2),e.unit==="day"?i+=e.unit==="day"?"-"+("0"+t).slice(-2):"-01":i+="-"+("0"+(e.day?e.day:"1")).slice(-2),e.unit==="hour"?i+=e.unit==="hour"?"T"+("0"+t).slice(-2):"T00":i+="T"+("0"+(e.hour?e.hour:"0")).slice(-2),e.unit==="minute"?i+=":"+("0"+t).slice(-2):i+=":"+(e.minute?("0"+e.minute).slice(-2):"00"),e.unit==="second"?i+=":"+("0"+t).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(e){var t=this,i=this.w;return e.map(function(s){var a=s.value.toString(),r=new Ie(t.ctx),n=t.createRawDateString(s,a),l=r.getDate(r.parseDate(n));if(t.utc||(l=r.getDate(r.parseDateWithTimezone(n))),i.config.xaxis.labels.format===void 0){var h="dd MMM",d=i.config.xaxis.labels.datetimeFormatter;s.unit==="year"&&(h=d.year),s.unit==="month"&&(h=d.month),s.unit==="day"&&(h=d.day),s.unit==="hour"&&(h=d.hour),s.unit==="minute"&&(h=d.minute),s.unit==="second"&&(h=d.second),a=r.formatDate(l,h)}else a=r.formatDate(l,i.config.xaxis.labels.format);return{dateString:n,position:s.position,value:a,unit:s.unit,year:s.year,month:s.month}})}},{key:"removeOverlappingTS",value:function(e){var t,i=this,s=new W(this.ctx),a=!1;e.length>0&&e[0].value&&e.every(function(l){return l.value.length===e[0].value.length})&&(a=!0,t=s.getTextRects(e[0].value).width);var r=0,n=e.map(function(l,h){if(h>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var d=a?t:s.getTextRects(e[r].value).width,c=e[r].position;return l.position>c+d+10?(r=h,l):null}return l});return n=n.filter(function(l){return l!==null})}},{key:"_getYear",value:function(e,t,i){return e+Math.floor(t/12)+i}}]),o}(),Fn=function(){function o(e,t){P(this,o),this.ctx=t,this.w=t.w,this.el=e}return E(o,[{key:"setupElements",value:function(){var e=this.w,t=e.globals,i=e.config,s=i.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].includes(s),t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].includes(s),t.isBarHorizontal=["bar","rangeBar","boxPlot"].includes(s)&&i.plotOptions.bar.horizontal,t.chartClass=".apexcharts".concat(t.chartID),t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),W.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas ".concat(t.chartClass.substring(1))}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=window.SVG().addTo(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(i.chart.offsetX,", ").concat(i.chart.offsetY,")")}),t.dom.Paper.node.style.background=i.theme.mode!=="dark"||i.chart.background?i.theme.mode!=="light"||i.chart.background?i.chart.background:"#fff":"#424242",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),W.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(e,t){var i=this.w,s=this.ctx,a=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},l=a.chart.type||"line",h=null,d=0;r.series.forEach(function(T,k){var M=e[k].type||l;n[M]?(M==="rangeArea"?(n[M].series.push(r.seriesRangeStart[k]),n[M].seriesRangeEnd.push(r.seriesRangeEnd[k])):n[M].series.push(T),n[M].i.push(k),M!=="column"&&M!=="bar"||(i.globals.columnSeries=n.column)):["heatmap","treemap","pie","donut","polarArea","radialBar","radar"].includes(M)?h=M:M==="bar"?(n.column.series.push(T),n.column.i.push(k)):console.warn("You have specified an unrecognized series type (".concat(M,").")),l!==M&&M!=="scatter"&&d++}),d>0&&(h&&console.warn("Chart or series type ".concat(h," cannot appear with other chart or series types.")),n.column.series.length>0&&a.plotOptions.bar.horizontal&&(d-=n.column.series.length,n.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),r.comboCharts||(r.comboCharts=d>0);var c=new us(s,t),u=new cs(s,t);s.pie=new Pa(s);var g=new Pn(s);s.rangeBar=new Tn(s,t);var p=new Mn(s),f=[];if(r.comboCharts){var x,m,b=new Pe(s);if(n.area.series.length>0&&(x=f).push.apply(x,he(b.drawSeriesByGroup(n.area,r.areaGroups,"area",c))),n.column.series.length>0)if(a.chart.stacked){var w=new Ca(s,t);f.push(w.draw(n.column.series,n.column.i))}else s.bar=new Xt(s,t),f.push(s.bar.draw(n.column.series,n.column.i));if(n.rangeArea.series.length>0&&f.push(c.draw(n.rangeArea.series,"rangeArea",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0&&(m=f).push.apply(m,he(b.drawSeriesByGroup(n.line,r.lineGroups,"line",c))),n.candlestick.series.length>0&&f.push(u.draw(n.candlestick.series,"candlestick",n.candlestick.i)),n.boxPlot.series.length>0&&f.push(u.draw(n.boxPlot.series,"boxPlot",n.boxPlot.i)),n.rangeBar.series.length>0&&f.push(s.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var S=new us(s,t,!0);f.push(S.draw(n.scatter.series,"scatter",n.scatter.i))}if(n.bubble.series.length>0){var A=new us(s,t,!0);f.push(A.draw(n.bubble.series,"bubble",n.bubble.i))}}else switch(a.chart.type){case"line":f=c.draw(r.series,"line");break;case"area":f=c.draw(r.series,"area");break;case"bar":a.chart.stacked?f=new Ca(s,t).draw(r.series):(s.bar=new Xt(s,t),f=s.bar.draw(r.series));break;case"candlestick":f=new cs(s,t).draw(r.series,"candlestick");break;case"boxPlot":f=new cs(s,t).draw(r.series,a.chart.type);break;case"rangeBar":f=s.rangeBar.draw(r.series);break;case"rangeArea":f=c.draw(r.seriesRangeStart,"rangeArea",void 0,r.seriesRangeEnd);break;case"heatmap":f=new Ln(s,t).draw(r.series);break;case"treemap":f=new zn(s,t).draw(r.series);break;case"pie":case"donut":case"polarArea":f=s.pie.draw(r.series);break;case"radialBar":f=g.draw(r.series);break;case"radar":f=p.draw(r.series);break;default:f=c.draw(r.series)}return f}},{key:"setSVGDimensions",value:function(){var e=this.w,t=e.globals,i=e.config;i.chart.width=i.chart.width||"100%",i.chart.height=i.chart.height||"auto",t.svgWidth=i.chart.width,t.svgHeight=i.chart.height;var s=R.getDimensions(this.el),a=i.chart.width.toString().split(/[0-9]+/g).pop();a==="%"?R.isNumber(s[0])&&(s[0].width===0&&(s=R.getDimensions(this.el.parentNode)),t.svgWidth=s[0]*parseInt(i.chart.width,10)/100):a!=="px"&&a!==""||(t.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if(t.svgHeight!=="auto"&&t.svgHeight!=="")if(r==="%"){var n=R.getDimensions(this.el.parentNode);t.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else t.svgHeight=parseInt(i.chart.height,10);else t.svgHeight=t.axisCharts?t.svgWidth/1.61:t.svgWidth/1.2;if(t.svgWidth=Math.max(t.svgWidth,0),t.svgHeight=Math.max(t.svgHeight,0),W.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),r!=="%"){var l=i.chart.sparkline.enabled?0:t.axisCharts?i.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(t.svgHeight+l,"px")}t.dom.elWrap.style.width="".concat(t.svgWidth,"px"),t.dom.elWrap.style.height="".concat(t.svgHeight,"px")}},{key:"shiftGraphPosition",value:function(){var e=this.w.globals,t=e.translateY,i=e.translateX;W.setAttrs(e.dom.elGraphical.node,{transform:"translate(".concat(i,", ").concat(t,")")})}},{key:"resizeNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=0,s=e.config.chart.sparkline.enabled?1:15;s+=e.config.grid.padding.bottom,["top","bottom"].includes(e.config.legend.position)&&e.config.legend.show&&!e.config.legend.floating&&(i=new ya(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var a=e.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*e.globals.radialSize;if(a&&!e.config.chart.sparkline.enabled&&e.config.plotOptions.radialBar.startAngle!==0){var n=R.getBoundingClientRect(a);r=n.bottom;var l=n.bottom-n.top;r=Math.max(2.05*e.globals.radialSize,l)}var h=Math.ceil(r+t.translateY+i+s);t.dom.elLegendForeign&&t.dom.elLegendForeign.setAttribute("height",h),e.config.chart.height&&String(e.config.chart.height).includes("%")||(t.dom.elWrap.style.height="".concat(h,"px"),W.setAttrs(t.dom.Paper.node,{height:h}),t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(h,"px"))}},{key:"coreCalculations",value:function(){new os(this.ctx).init()}},{key:"resetGlobals",value:function(){var e=this,t=function(){return e.w.config.series.map(function(){return[]})},i=new xa,s=this.w.globals;i.initGlobalVars(s),s.seriesXvalues=t(),s.seriesYvalues=t()}},{key:"isMultipleY",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:"xySettings",value:function(){var e=this.w,t=null;if(e.globals.axisCharts){if(e.config.xaxis.crosshairs.position==="back"&&new hs(this.ctx).drawXCrosshairs(),e.config.yaxis[0].crosshairs.position==="back"&&new hs(this.ctx).drawYCrosshairs(),e.config.xaxis.type==="datetime"&&e.config.xaxis.labels.formatter===void 0){this.ctx.timeScale=new Hn(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new Pe(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(e){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var e=this,t=this.w;if(t.config.chart.brush.enabled&&typeof t.config.chart.events.selection!="function"){var i=Array.isArray(t.config.chart.brush.targets)?t.config.chart.brush.targets:[t.config.chart.brush.target];i.forEach(function(s){var a=ApexCharts.getChartByID(s);a.w.globals.brushSource=e.ctx,typeof a.w.config.chart.events.zoomed!="function"&&(a.w.config.chart.events.zoomed=function(){return e.updateSourceChart(a)}),typeof a.w.config.chart.events.scrolled!="function"&&(a.w.config.chart.events.scrolled=function(){return e.updateSourceChart(a)})}),t.config.chart.events.selection=function(s,a){i.forEach(function(r){ApexCharts.getChartByID(r).ctx.updateHelpers._updateOptions({xaxis:{min:a.xaxis.min,max:a.xaxis.max}},!1,!1,!1,!1)})}}}}]),o}(),Yn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"_updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],s=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=arguments.length>4&&arguments[4]!==void 0&&arguments[4];return new Promise(function(n){var l=[t.ctx];a&&(l=t.ctx.getSyncedCharts()),t.ctx.w.globals.isExecCalled&&(l=[t.ctx],t.ctx.w.globals.isExecCalled=!1),l.forEach(function(h,d){var c=h.w;if(c.globals.shouldAnimate=s,i||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&h.series.getPreviousPaths()),e&&Ae(e)==="object"&&(h.config=new qt(e),e=Pe.extendArrayProps(h.config,e,c),h.w.globals.chartID!==t.ctx.w.globals.chartID&&delete e.series,c.config=R.extend(c.config,e),r&&(c.globals.lastXAxis=e.xaxis?R.clone(e.xaxis):[],c.globals.lastYAxis=e.yaxis?R.clone(e.yaxis):[],c.globals.initialConfig=R.extend({},c.config),c.globals.initialSeries=R.clone(c.config.series),e.series))){for(var u=0;u2&&arguments[2]!==void 0&&arguments[2];return new Promise(function(a){var r,n=i.w;return n.globals.shouldAnimate=t,n.globals.dataChanged=!0,t&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?((r=e.map(function(l,h){return i._extendSeries(l,h)})).length===0&&(r=[{data:[]}]),n.config.series=r):n.config.series=e.slice(),s&&(n.globals.initialConfig.series=R.clone(n.config.series),n.globals.initialSeries=R.clone(n.config.series)),i.ctx.update().then(function(){a(i.ctx)})})}},{key:"_extendSeries",value:function(e,t){var i=this.w,s=i.config.series[t];return H(H({},i.config.series[t]),{},{name:e.name?e.name:s==null?void 0:s.name,color:e.color?e.color:s==null?void 0:s.color,type:e.type?e.type:s==null?void 0:s.type,group:e.group?e.group:s==null?void 0:s.group,hidden:e.hidden!==void 0?e.hidden:s==null?void 0:s.hidden,data:e.data?e.data:s==null?void 0:s.data,zIndex:e.zIndex!==void 0?e.zIndex:t})}},{key:"toggleDataPointSelection",value:function(e,t){var i=this.w,s=null,a=".apexcharts-series[data\\:realIndex='".concat(e,"']");return i.globals.axisCharts?s=i.globals.dom.Paper.findOne("".concat(a," path[j='").concat(t,"'], ").concat(a," circle[j='").concat(t,"'], ").concat(a," rect[j='").concat(t,"']")):t===void 0&&(s=i.globals.dom.Paper.findOne("".concat(a," path[j='").concat(e,"']")),i.config.chart.type!=="pie"&&i.config.chart.type!=="polarArea"&&i.config.chart.type!=="donut"||this.ctx.pie.pieClicked(e)),s?(new W(this.ctx).pathMouseDown(s,null),s.node?s.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(e){var t=this.w;if(["min","max"].forEach(function(s){e.xaxis[s]!==void 0&&(t.config.xaxis[s]=e.xaxis[s],t.globals.lastXAxis[s]=e.xaxis[s])}),e.xaxis.categories&&e.xaxis.categories.length&&(t.config.xaxis.categories=e.xaxis.categories),t.config.xaxis.convertedCatToNumeric){var i=new Ut(e);e=i.convertCatToNumericXaxis(e,this.ctx)}return e}},{key:"forceYAxisUpdate",value:function(e){return e.chart&&e.chart.stacked&&e.chart.stackType==="100%"&&(Array.isArray(e.yaxis)?e.yaxis.forEach(function(t,i){e.yaxis[i].min=0,e.yaxis[i].max=100}):(e.yaxis.min=0,e.yaxis.max=100)),e}},{key:"revertDefaultAxisMinMax",value:function(e){var t=this,i=this.w,s=i.globals.lastXAxis,a=i.globals.lastYAxis;e&&e.xaxis&&(s=e.xaxis),e&&e.yaxis&&(a=e.yaxis),i.config.xaxis.min=s.min,i.config.xaxis.max=s.max;var r=function(n){a[n]!==void 0&&(i.config.yaxis[n].min=a[n].min,i.config.yaxis[n].max=a[n].max)};i.config.yaxis.map(function(n,l){i.globals.zoomed||a[l]!==void 0?r(l):t.ctx.opts.yaxis[l]!==void 0&&(n.min=t.ctx.opts.yaxis[l].min,n.max=t.ctx.opts.yaxis[l].max)})}}]),o}();(function(){function o(){for(var a=arguments.length>0&&arguments[0]!==c?arguments[0]:[],r=arguments.length>1?arguments[1]:c,n=arguments.length>2?arguments[2]:c,l=arguments.length>3?arguments[3]:c,h=arguments.length>4?arguments[4]:c,d=arguments.length>5?arguments[5]:c,c=arguments.length>6?arguments[6]:c,u=a.slice(r,n||c),g=l.slice(h,d||c),p=0,f={pos:[0,0],start:[0,0]},x={pos:[0,0],start:[0,0]};u[p]=e.call(f,u[p]),g[p]=e.call(x,g[p]),u[p][0]!=g[p][0]||u[p][0]=="M"||u[p][0]=="A"&&(u[p][4]!=g[p][4]||u[p][5]!=g[p][5])?(Array.prototype.splice.apply(u,[p,1].concat(i.call(f,u[p]))),Array.prototype.splice.apply(g,[p,1].concat(i.call(x,g[p])))):(u[p]=t.call(f,u[p]),g[p]=t.call(x,g[p])),!(++p==u.length&&p==g.length);)p==u.length&&u.push(["C",f.pos[0],f.pos[1],f.pos[0],f.pos[1],f.pos[0],f.pos[1]]),p==g.length&&g.push(["C",x.pos[0],x.pos[1],x.pos[0],x.pos[1],x.pos[0],x.pos[1]]);return{start:u,dest:g}}function e(a){switch(a[0]){case"z":case"Z":a[0]="L",a[1]=this.start[0],a[2]=this.start[1];break;case"H":a[0]="L",a[2]=this.pos[1];break;case"V":a[0]="L",a[2]=a[1],a[1]=this.pos[0];break;case"T":a[0]="Q",a[3]=a[1],a[4]=a[2],a[1]=this.reflection[1],a[2]=this.reflection[0];break;case"S":a[0]="C",a[6]=a[4],a[5]=a[3],a[4]=a[2],a[3]=a[1],a[2]=this.reflection[1],a[1]=this.reflection[0]}return a}function t(a){var r=a.length;return this.pos=[a[r-2],a[r-1]],"SCQT".indexOf(a[0])!=-1&&(this.reflection=[2*this.pos[0]-a[r-4],2*this.pos[1]-a[r-3]]),a}function i(a){var r=[a];switch(a[0]){case"M":return this.pos=this.start=[a[1],a[2]],r;case"L":a[5]=a[3]=a[1],a[6]=a[4]=a[2],a[1]=this.pos[0],a[2]=this.pos[1];break;case"Q":a[6]=a[4],a[5]=a[3],a[4]=1*a[4]/3+2*a[2]/3,a[3]=1*a[3]/3+2*a[1]/3,a[2]=1*this.pos[1]/3+2*a[2]/3,a[1]=1*this.pos[0]/3+2*a[1]/3;break;case"A":r=function(n,l){var h,d,c,u,g,p,f,x,m,b,w,S,A,T,k,M,O,I,F,G,N,B,U,q,$,ie,te=Math.abs(l[1]),ae=Math.abs(l[2]),se=l[3]%360,Se=l[4],Ce=l[5],ye=l[6],Oe=l[7],ge=new fe(n),ue=new fe(ye,Oe),me=[];if(te===0||ae===0||ge.x===ue.x&&ge.y===ue.y)return[["C",ge.x,ge.y,ue.x,ue.y,ue.x,ue.y]];for(h=new fe((ge.x-ue.x)/2,(ge.y-ue.y)/2).transform(new K().rotate(se)),d=h.x*h.x/(te*te)+h.y*h.y/(ae*ae),d>1&&(te*=d=Math.sqrt(d),ae*=d),c=new K().rotate(se).scale(1/te,1/ae).rotate(-se),ge=ge.transform(c),ue=ue.transform(c),u=[ue.x-ge.x,ue.y-ge.y],p=u[0]*u[0]+u[1]*u[1],g=Math.sqrt(p),u[0]/=g,u[1]/=g,f=p<4?Math.sqrt(1-p/4):0,Se===Ce&&(f*=-1),x=new fe((ue.x+ge.x)/2+f*-u[1],(ue.y+ge.y)/2+f*u[0]),m=new fe(ge.x-x.x,ge.y-x.y),b=new fe(ue.x-x.x,ue.y-x.y),w=Math.acos(m.x/Math.sqrt(m.x*m.x+m.y*m.y)),m.y<0&&(w*=-1),S=Math.acos(b.x/Math.sqrt(b.x*b.x+b.y*b.y)),b.y<0&&(S*=-1),Ce&&w>S&&(S+=2*Math.PI),!Ce&&w0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;if(r===!1)return!1;for(var n=r,l=a.length;n(o.changedTouches&&(o=o.changedTouches[0]),{x:o.clientX,y:o.clientY});class Dn{constructor(e){e.remember("_draggable",this),this.el=e,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(e){e?(this.el.on("mousedown.drag",this.startDrag),this.el.on("touchstart.drag",this.startDrag,{passive:!1})):(this.el.off("mousedown.drag"),this.el.off("touchstart.drag"))}startDrag(e){const t=!e.type.indexOf("mouse");if(t&&e.which!==1&&e.buttons!==0||this.el.dispatch("beforedrag",{event:e,handler:this}).defaultPrevented)return;e.preventDefault(),e.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point(Ea(e));const i=(t?"mouseup":"touchend")+".drag";rt(window,(t?"mousemove":"touchmove")+".drag",this.drag,this,{passive:!1}),rt(window,i,this.endDrag,this,{passive:!1}),this.el.fire("dragstart",{event:e,handler:this,box:this.box})}drag(e){const{box:t,lastClick:i}=this,s=this.el.point(Ea(e)),a=s.x-i.x,r=s.y-i.y;if(!a&&!r)return t;const n=t.x+a,l=t.y+r;this.box=new Me(n,l,t.w,t.h),this.lastClick=s,this.el.dispatch("dragmove",{event:e,handler:this,box:this.box}).defaultPrevented||this.move(n,l)}move(e,t){this.el.type==="svg"?ct.prototype.move.call(this.el,e,t):this.el.move(e,t)}endDrag(e){this.drag(e),this.el.fire("dragend",{event:e,handler:this,box:this.box}),qe(window,"mousemove.drag"),qe(window,"touchmove.drag"),qe(window,"mouseup.drag"),qe(window,"touchend.drag"),this.init(!0)}}/*! - * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse - * @version 4.0.1 - * https://github.com/svgdotjs/svg.select.js - * - * @copyright Ulrich-Matthias Schäfer - * @license MIT - * - * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) - */function gs(o,e,t,i=null){return function(s){s.preventDefault(),s.stopPropagation();var a=s.pageX||s.touches[0].pageX,r=s.pageY||s.touches[0].pageY;e.fire(o,{x:a,y:r,event:s,index:i,points:t})}}function fs([o,e],{a:t,b:i,c:s,d:a,e:r,f:n}){return[o*t+e*s+r,o*i+e*a+n]}Q(Ee,{draggable(o=!0){return(this.remember("_draggable")||new Dn(this)).init(o),this}});let Ra=class{constructor(o){this.el=o,o.remember("_selectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.createRot=o.createRot||this.createRotFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.updateRot=o.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach((o,e,t)=>{const i=this.order[e];this.createHandle.call(this,this.selection,o,e,t,i),this.selection.get(e+1).addClass("svg_select_handle svg_select_handle_"+i).on("mousedown.selection touchstart.selection",gs(i,this.el,this.handlePoints,e))})}createHandleFn(o){o.polyline()}updateHandleFn(o,e,t,i){const s=i.at(t-1),a=i[(t+1)%i.length],r=e,n=[r[0]-s[0],r[1]-s[1]],l=[r[0]-a[0],r[1]-a[1]],h=Math.sqrt(n[0]*n[0]+n[1]*n[1]),d=Math.sqrt(l[0]*l[0]+l[1]*l[1]),c=[n[0]/h,n[1]/h],u=[l[0]/d,l[1]/d],g=[r[0]-10*c[0],r[1]-10*c[1]],p=[r[0]-10*u[0],r[1]-10*u[1]];o.plot([g,r,p])}updateResizeHandles(){this.handlePoints.forEach((o,e,t)=>{const i=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),o,e,t,i)})}createRotFn(o){o.line(),o.circle(5)}getPoint(o){return this.handlePoints[this.order.indexOf(o)]}getPointHandle(o){return this.selection.get(this.order.indexOf(o)+1)}updateRotFn(o,e){const t=this.getPoint("t");o.get(0).plot(t[0],t[1],e[0],e[1]),o.get(1).center(e[0],e[1])}createRotationHandle(){const o=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",gs("rot",this.el,this.handlePoints));this.createRot.call(this,o)}updateRotationHandle(){const o=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(o,this.rotationPoint,this.handlePoints)}updatePoints(){const o=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(o).map(t=>fs(t,e)),this.rotationPoint=fs(this.getRotationPoint(o),e)}getHandlePoints({x:o,x2:e,y:t,y2:i,cx:s,cy:a}=this.el.bbox()){return[[o,t],[s,t],[e,t],[e,a],[e,i],[s,i],[o,i],[o,a]]}getRotationPoint({y:o,cx:e}=this.el.bbox()){return[e,o-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const Ia=o=>function(e=!0,t={}){typeof e=="object"&&(t=e,e=!0);let i=this.remember("_"+o.name);return i||(e.prototype instanceof Ra?(i=new e(this),e=!0):i=new o(this),this.remember("_"+o.name,i)),i.active(e,t),this};/*! - * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected - * @version 2.0.4 - * https://github.com/svgdotjs/svg.resize.js - * - * @copyright [object Object] - * @license MIT - * - * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time) - *//*! - * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse - * @version 4.0.1 - * https://github.com/svgdotjs/svg.select.js - * - * @copyright Ulrich-Matthias Schäfer - * @license MIT - * - * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) - */function ps(o,e,t,i=null){return function(s){s.preventDefault(),s.stopPropagation();var a=s.pageX||s.touches[0].pageX,r=s.pageY||s.touches[0].pageY;e.fire(o,{x:a,y:r,event:s,index:i,points:t})}}function xs([o,e],{a:t,b:i,c:s,d:a,e:r,f:n}){return[o*t+e*s+r,o*i+e*a+n]}Q(Ee,{select:Ia(Ra)}),Q([yt,wt,mt],{pointSelect:Ia(class{constructor(o){this.el=o,o.remember("_pointSelectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach((o,e,t)=>{this.createHandle.call(this,this.selection,o,e,t),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",gs("point",this.el,this.points,e))})}createHandleFn(o){o.circle(5)}updateHandleFn(o,e){o.center(e[0],e[1])}updatePointHandles(){this.points.forEach((o,e,t)=>{this.updateHandle.call(this,this.selection.get(e+1),o,e,t)})}updatePoints(){const o=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map(e=>fs(e,o))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class Oa{constructor(e){this.el=e,e.remember("_selectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const t=Yt();this.observer=new t.MutationObserver(this.mutationHandler)}init(e){this.createHandle=e.createHandle||this.createHandleFn,this.createRot=e.createRot||this.createRotFn,this.updateHandle=e.updateHandle||this.updateHandleFn,this.updateRot=e.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(e,t){if(!e)return this.selection.clear().remove(),void this.observer.disconnect();this.init(t)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach((e,t,i)=>{const s=this.order[t];this.createHandle.call(this,this.selection,e,t,i,s),this.selection.get(t+1).addClass("svg_select_handle svg_select_handle_"+s).on("mousedown.selection touchstart.selection",ps(s,this.el,this.handlePoints,t))})}createHandleFn(e){e.polyline()}updateHandleFn(e,t,i,s){const a=s.at(i-1),r=s[(i+1)%s.length],n=t,l=[n[0]-a[0],n[1]-a[1]],h=[n[0]-r[0],n[1]-r[1]],d=Math.sqrt(l[0]*l[0]+l[1]*l[1]),c=Math.sqrt(h[0]*h[0]+h[1]*h[1]),u=[l[0]/d,l[1]/d],g=[h[0]/c,h[1]/c],p=[n[0]-10*u[0],n[1]-10*u[1]],f=[n[0]-10*g[0],n[1]-10*g[1]];e.plot([p,n,f])}updateResizeHandles(){this.handlePoints.forEach((e,t,i)=>{const s=this.order[t];this.updateHandle.call(this,this.selection.get(t+1),e,t,i,s)})}createRotFn(e){e.line(),e.circle(5)}getPoint(e){return this.handlePoints[this.order.indexOf(e)]}getPointHandle(e){return this.selection.get(this.order.indexOf(e)+1)}updateRotFn(e,t){const i=this.getPoint("t");e.get(0).plot(i[0],i[1],t[0],t[1]),e.get(1).center(t[0],t[1])}createRotationHandle(){const e=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",ps("rot",this.el,this.handlePoints));this.createRot.call(this,e)}updateRotationHandle(){const e=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(e,this.rotationPoint,this.handlePoints)}updatePoints(){const e=this.el.bbox(),t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(e).map(i=>xs(i,t)),this.rotationPoint=xs(this.getRotationPoint(e),t)}getHandlePoints({x:e,x2:t,y:i,y2:s,cx:a,cy:r}=this.el.bbox()){return[[e,i],[a,i],[t,i],[t,r],[t,s],[a,s],[e,s],[e,r]]}getRotationPoint({y:e,cx:t}=this.el.bbox()){return[t,e-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const za=o=>function(e=!0,t={}){typeof e=="object"&&(t=e,e=!0);let i=this.remember("_"+o.name);return i||(e.prototype instanceof Oa?(i=new e(this),e=!0):i=new o(this),this.remember("_"+o.name,i)),i.active(e,t),this};Q(Ee,{select:za(Oa)}),Q([yt,wt,mt],{pointSelect:za(class{constructor(o){this.el=o,o.remember("_pointSelectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach((o,e,t)=>{this.createHandle.call(this,this.selection,o,e,t),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",ps("point",this.el,this.points,e))})}createHandleFn(o){o.circle(5)}updateHandleFn(o,e){o.center(e[0],e[1])}updatePointHandles(){this.points.forEach((o,e,t)=>{this.updateHandle.call(this,this.selection.get(e+1),o,e,t)})}updatePoints(){const o=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map(e=>xs(e,o))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const gi=o=>(o.changedTouches&&(o=o.changedTouches[0]),{x:o.clientX,y:o.clientY}),Xa=o=>{let e=1/0,t=1/0,i=-1/0,s=-1/0;for(let a=0;a{const T=S-m[0],k=(A-m[1])*b;return[T*b+m[0],k+m[1]]});return Xa(w)}(this.box,p,f)}this.el.dispatch("resize",{box:new Me(h),angle:0,eventType:this.eventType,event:e,handler:this}).defaultPrevented||this.el.size(h.width,h.height).move(h.x,h.y)}movePoint(e){this.lastEvent=e;const{x:t,y:i}=this.snapToGrid(this.el.point(gi(e))),s=this.el.array().slice();s[this.index]=[t,i],this.el.dispatch("resize",{box:Xa(s),angle:0,eventType:this.eventType,event:e,handler:this}).defaultPrevented||this.el.plot(s)}rotate(e){this.lastEvent=e;const t=this.startPoint,i=this.el.point(gi(e)),{cx:s,cy:a}=this.box,r=t.x-s,n=t.y-a,l=i.x-s,h=i.y-a,d=Math.sqrt(r*r+n*n)*Math.sqrt(l*l+h*h);if(d===0)return;let c=Math.acos((r*l+n*h)/d)/Math.PI*180;if(!c)return;i.xdiv { - margin: 4px 0 -} - -.apexcharts-tooltip-box span.value { - font-weight: 700 -} - -.apexcharts-tooltip-rangebar { - padding: 5px 8px -} - -.apexcharts-tooltip-rangebar .category { - font-weight: 600; - color: #777 -} - -.apexcharts-tooltip-rangebar .series-name { - font-weight: 700; - display: block; - margin-bottom: 5px -} - -.apexcharts-xaxistooltip, -.apexcharts-yaxistooltip { - opacity: 0; - pointer-events: none; - color: #373d3f; - font-size: 13px; - text-align: center; - border-radius: 2px; - position: absolute; - z-index: 10; - background: #eceff1; - border: 1px solid #90a4ae -} - -.apexcharts-xaxistooltip { - padding: 9px 10px; - transition: .15s ease all -} - -.apexcharts-xaxistooltip.apexcharts-theme-dark { - background: rgba(0, 0, 0, .7); - border: 1px solid rgba(0, 0, 0, .5); - color: #fff -} - -.apexcharts-xaxistooltip:after, -.apexcharts-xaxistooltip:before { - left: 50%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none -} - -.apexcharts-xaxistooltip:after { - border-color: transparent; - border-width: 6px; - margin-left: -6px -} - -.apexcharts-xaxistooltip:before { - border-color: transparent; - border-width: 7px; - margin-left: -7px -} - -.apexcharts-xaxistooltip-bottom:after, -.apexcharts-xaxistooltip-bottom:before { - bottom: 100% -} - -.apexcharts-xaxistooltip-top:after, -.apexcharts-xaxistooltip-top:before { - top: 100% -} - -.apexcharts-xaxistooltip-bottom:after { - border-bottom-color: #eceff1 -} - -.apexcharts-xaxistooltip-bottom:before { - border-bottom-color: #90a4ae -} - -.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after, -.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before { - border-bottom-color: rgba(0, 0, 0, .5) -} - -.apexcharts-xaxistooltip-top:after { - border-top-color: #eceff1 -} - -.apexcharts-xaxistooltip-top:before { - border-top-color: #90a4ae -} - -.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after, -.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before { - border-top-color: rgba(0, 0, 0, .5) -} - -.apexcharts-xaxistooltip.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-yaxistooltip { - padding: 4px 10px -} - -.apexcharts-yaxistooltip.apexcharts-theme-dark { - background: rgba(0, 0, 0, .7); - border: 1px solid rgba(0, 0, 0, .5); - color: #fff -} - -.apexcharts-yaxistooltip:after, -.apexcharts-yaxistooltip:before { - top: 50%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none -} - -.apexcharts-yaxistooltip:after { - border-color: transparent; - border-width: 6px; - margin-top: -6px -} - -.apexcharts-yaxistooltip:before { - border-color: transparent; - border-width: 7px; - margin-top: -7px -} - -.apexcharts-yaxistooltip-left:after, -.apexcharts-yaxistooltip-left:before { - left: 100% -} - -.apexcharts-yaxistooltip-right:after, -.apexcharts-yaxistooltip-right:before { - right: 100% -} - -.apexcharts-yaxistooltip-left:after { - border-left-color: #eceff1 -} - -.apexcharts-yaxistooltip-left:before { - border-left-color: #90a4ae -} - -.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after, -.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before { - border-left-color: rgba(0, 0, 0, .5) -} - -.apexcharts-yaxistooltip-right:after { - border-right-color: #eceff1 -} - -.apexcharts-yaxistooltip-right:before { - border-right-color: #90a4ae -} - -.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after, -.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before { - border-right-color: rgba(0, 0, 0, .5) -} - -.apexcharts-yaxistooltip.apexcharts-active { - opacity: 1 -} - -.apexcharts-yaxistooltip-hidden { - display: none -} - -.apexcharts-xcrosshairs, -.apexcharts-ycrosshairs { - pointer-events: none; - opacity: 0; - transition: .15s ease all -} - -.apexcharts-xcrosshairs.apexcharts-active, -.apexcharts-ycrosshairs.apexcharts-active { - opacity: 1; - transition: .15s ease all -} - -.apexcharts-ycrosshairs-hidden { - opacity: 0 -} - -.apexcharts-selection-rect { - cursor: move -} - -.svg_select_shape { - stroke-width: 1; - stroke-dasharray: 10 10; - stroke: black; - stroke-opacity: 0.1; - pointer-events: none; - fill: none; -} - -.svg_select_handle { - stroke-width: 3; - stroke: black; - fill: none; -} - -.svg_select_handle_r { - cursor: e-resize; -} - -.svg_select_handle_l { - cursor: w-resize; -} - -.apexcharts-svg.apexcharts-zoomable.hovering-zoom { - cursor: crosshair -} - -.apexcharts-svg.apexcharts-zoomable.hovering-pan { - cursor: move -} - -.apexcharts-menu-icon, -.apexcharts-pan-icon, -.apexcharts-reset-icon, -.apexcharts-selection-icon, -.apexcharts-toolbar-custom-icon, -.apexcharts-zoom-icon, -.apexcharts-zoomin-icon, -.apexcharts-zoomout-icon { - cursor: pointer; - width: 20px; - height: 20px; - line-height: 24px; - color: #6e8192; - text-align: center -} - -.apexcharts-menu-icon svg, -.apexcharts-reset-icon svg, -.apexcharts-zoom-icon svg, -.apexcharts-zoomin-icon svg, -.apexcharts-zoomout-icon svg { - fill: #6e8192 -} - -.apexcharts-selection-icon svg { - fill: #444; - transform: scale(.76) -} - -.apexcharts-theme-dark .apexcharts-menu-icon svg, -.apexcharts-theme-dark .apexcharts-pan-icon svg, -.apexcharts-theme-dark .apexcharts-reset-icon svg, -.apexcharts-theme-dark .apexcharts-selection-icon svg, -.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg, -.apexcharts-theme-dark .apexcharts-zoom-icon svg, -.apexcharts-theme-dark .apexcharts-zoomin-icon svg, -.apexcharts-theme-dark .apexcharts-zoomout-icon svg { - fill: #f3f4f5 -} - -.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg, -.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg, -.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg { - fill: #008ffb -} - -.apexcharts-theme-light .apexcharts-menu-icon:hover svg, -.apexcharts-theme-light .apexcharts-reset-icon:hover svg, -.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg, -.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg, -.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg, -.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg { - fill: #333 -} - -.apexcharts-menu-icon, -.apexcharts-selection-icon { - position: relative -} - -.apexcharts-reset-icon { - margin-left: 5px -} - -.apexcharts-menu-icon, -.apexcharts-reset-icon, -.apexcharts-zoom-icon { - transform: scale(.85) -} - -.apexcharts-zoomin-icon, -.apexcharts-zoomout-icon { - transform: scale(.7) -} - -.apexcharts-zoomout-icon { - margin-right: 3px -} - -.apexcharts-pan-icon { - transform: scale(.62); - position: relative; - left: 1px; - top: 0 -} - -.apexcharts-pan-icon svg { - fill: #fff; - stroke: #6e8192; - stroke-width: 2 -} - -.apexcharts-pan-icon.apexcharts-selected svg { - stroke: #008ffb -} - -.apexcharts-pan-icon:not(.apexcharts-selected):hover svg { - stroke: #333 -} - -.apexcharts-toolbar { - position: absolute; - z-index: 11; - max-width: 176px; - text-align: right; - border-radius: 3px; - padding: 0 6px 2px; - display: flex; - justify-content: space-between; - align-items: center -} - -.apexcharts-menu { - background: #fff; - position: absolute; - top: 100%; - border: 1px solid #ddd; - border-radius: 3px; - padding: 3px; - right: 10px; - opacity: 0; - min-width: 110px; - transition: .15s ease all; - pointer-events: none -} - -.apexcharts-menu.apexcharts-menu-open { - opacity: 1; - pointer-events: all; - transition: .15s ease all -} - -.apexcharts-menu-item { - padding: 6px 7px; - font-size: 12px; - cursor: pointer -} - -.apexcharts-theme-light .apexcharts-menu-item:hover { - background: #eee -} - -.apexcharts-theme-dark .apexcharts-menu { - background: rgba(0, 0, 0, .7); - color: #fff -} - -@media screen and (min-width:768px) { - .apexcharts-canvas:hover .apexcharts-toolbar { - opacity: 1 - } -} - -.apexcharts-canvas .apexcharts-element-hidden, -.apexcharts-datalabel.apexcharts-element-hidden, -.apexcharts-hide .apexcharts-series-points { - opacity: 0; -} - -.apexcharts-hidden-element-shown { - opacity: 1; - transition: 0.25s ease all; -} - -.apexcharts-datalabel, -.apexcharts-datalabel-label, -.apexcharts-datalabel-value, -.apexcharts-datalabels, -.apexcharts-pie-label { - cursor: default; - pointer-events: none -} - -.apexcharts-pie-label-delay { - opacity: 0; - animation-name: opaque; - animation-duration: .3s; - animation-fill-mode: forwards; - animation-timing-function: ease -} - -.apexcharts-radialbar-label { - cursor: pointer; -} - -.apexcharts-annotation-rect, -.apexcharts-area-series .apexcharts-area, -.apexcharts-gridline, -.apexcharts-line, -.apexcharts-point-annotation-label, -.apexcharts-radar-series path:not(.apexcharts-marker), -.apexcharts-radar-series polygon, -.apexcharts-toolbar svg, -.apexcharts-tooltip .apexcharts-marker, -.apexcharts-xaxis-annotation-label, -.apexcharts-yaxis-annotation-label, -.apexcharts-zoom-rect, -.no-pointer-events { - pointer-events: none -} - -.apexcharts-tooltip-active .apexcharts-marker { - transition: .15s ease all -} - -.resize-triggers { - animation: 1ms resizeanim; - visibility: hidden; - opacity: 0; - height: 100%; - width: 100%; - overflow: hidden -} - -.contract-trigger:before, -.resize-triggers, -.resize-triggers>div { - content: " "; - display: block; - position: absolute; - top: 0; - left: 0 -} - -.resize-triggers>div { - height: 100%; - width: 100%; - background: #eee; - overflow: auto -} - -.contract-trigger:before { - overflow: hidden; - width: 200%; - height: 200% -} - -.apexcharts-bar-goals-markers { - pointer-events: none -} - -.apexcharts-bar-shadows { - pointer-events: none -} - -.apexcharts-rangebar-goals-markers { - pointer-events: none -}`;var d=((h=e.opts.chart)===null||h===void 0?void 0:h.nonce)||e.w.config.chart.nonce;d&&l.setAttribute("nonce",d),r?a.prepend(l):n.head.appendChild(l)}var c=e.create(e.w.config.series,{});if(!c)return t(e);e.mount(c).then(function(){typeof e.w.config.chart.events.mounted=="function"&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent("mounted",[e,e.w]),t(c)}).catch(function(u){i(u)})}else i(new Error("Element not found"))})}},{key:"create",value:function(e,t){var i=this,s=this.w;new Fa(this).initModules();var a=this.w.globals;if(a.noData=!1,a.animationEnded=!1,!R.elementExists(this.el))return a.animationEnded=!0,this.destroy(),null;if(this.responsive.checkResponsiveConfig(t),s.config.xaxis.convertedCatToNumeric&&new Ut(s.config).convertCatToNumericXaxis(s.config,this.ctx),this.core.setupElements(),s.config.chart.type==="treemap"&&(s.config.grid.show=!1,s.config.yaxis[0].show=!1),a.svgWidth===0)return a.animationEnded=!0,null;var r=e;e.forEach(function(u,g){u.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:g}))});var n=Pe.checkComboSeries(r,s.config.chart.type);a.comboCharts=n.comboCharts,a.comboBarCount=n.comboBarCount;var l=r.every(function(u){return u.data&&u.data.length===0});(r.length===0||l&&a.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Ot(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!s.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),s.config.xaxis.type!=="category"&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=s.globals.minX,this.ctx.toolbar.maxX=s.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pe(this).getLargestMarkerSize(),this.dimensions.plotCoords();var h=this.core.xySettings();this.grid.createGridMask();var d=this.core.plotChartType(r,h),c=new zt(this);return c.bringForward(),s.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:d,xyRatios:h,dimensions:{plot:{left:s.globals.translateX,top:s.globals.translateY,width:s.globals.gridWidth,height:s.globals.gridHeight}}}}},{key:"mount",value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=this,s=i.w;return new Promise(function(a,r){if(i.el===null)return r(new Error("Not enough data to display or target element not found"));(t===null||s.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new ba(i);var n,l,h=i.grid.drawGrid();if(i.annotations=new nn(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),s.config.grid.position==="back"&&(h&&s.globals.dom.elGraphical.add(h.el),h!=null&&(n=h.elGridBorders)!==null&&n!==void 0&&n.node&&s.globals.dom.elGraphical.add(h.elGridBorders)),Array.isArray(t.elGraph))for(var d=0;d0&&s.globals.memory.methodsToExec.forEach(function(p){p.method(p.params,!1,p.context)}),s.globals.axisCharts||s.globals.noData||i.core.resizeNonAxisCharts(),a(i)})}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),function(t,i){var s=ms.get(i);s&&(s.disconnect(),ms.delete(i))}(this.el.parentNode,this.parentResizeHandler);var e=this.w.config.chart.id;e&&Apex._chartInstances.forEach(function(t,i){t.id===R.escapeString(e)&&Apex._chartInstances.splice(i,1)}),new Ya(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],s=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],n=this.w;return n.globals.selection=void 0,e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map(function(l,h){return t.updateHelpers._extendSeries(l,h)})),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,i,s,a,r)}},{key:"updateSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,i)}},{key:"appendSeries",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=this.w.config.series.slice();return s.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(s,t,i)}},{key:"appendData",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var s=i.w.config.series.slice(),a=0;a0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];this.series.resetSeries(e,t)}},{key:"addEventListener",value:function(e,t){this.events.addEventListener(e,t)}},{key:"removeEventListener",value:function(e,t){this.events.removeEventListener(e,t)}},{key:"addXaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addXaxisAnnotationExternal(e,t,s)}},{key:"addYaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addYaxisAnnotationExternal(e,t,s)}},{key:"addPointAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addPointAnnotationExternal(e,t,s)}},{key:"clearAnnotations",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:"removeAnnotation",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,i=this;t&&(i=t),i.annotations.removeAnnotation(i,e)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:"getHighestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new os(this.ctx).getMinYMaxY(e).highestY}},{key:"getLowestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new os(this.ctx).getMinYMaxY(e).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:"zoomX",value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:"setLocale",value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:"dataURI",value:function(e){return new di(this.ctx).dataURI(e)}},{key:"exportToCSV",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return new di(this.ctx).exportToCSV(e)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()},150)}},{key:"_windowResizeHandler",value:function(){var e=this.w.config.chart.redrawOnWindowResize;typeof e=="function"&&(e=e()),e&&this._windowResize()}}],[{key:"getChartByID",value:function(e){var t=R.escapeString(e);if(Apex._chartInstances){var i=Apex._chartInstances.filter(function(s){return s.id===t})[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),t=0;t2?a-2:0),n=2;nY_-y|fTkY$4I8J;XR+0!UNQzex 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∨gw&l@@)w>}BUv7S!SooAUQK>jbq2?Tg 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 Ah5!Hn diff --git a/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js.map b/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js.map deleted file mode 100644 index 47492d59..00000000 --- a/src/web/assets/dist/assets/vue-apexcharts-BAOY4gp6.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"vue-apexcharts-BAOY4gp6.js","sources":["../../../../../buildchain/node_modules/axios/lib/helpers/bind.js","../../../../../buildchain/node_modules/axios/lib/utils.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/null.js","../../../../../buildchain/node_modules/axios/lib/helpers/toFormData.js","../../../../../buildchain/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/helpers/buildURL.js","../../../../../buildchain/node_modules/axios/lib/core/InterceptorManager.js","../../../../../buildchain/node_modules/axios/lib/defaults/transitional.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/index.js","../../../../../buildchain/node_modules/axios/lib/platform/common/utils.js","../../../../../buildchain/node_modules/axios/lib/platform/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../buildchain/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../buildchain/node_modules/axios/lib/defaults/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/transformData.js","../../../../../buildchain/node_modules/axios/lib/cancel/isCancel.js","../../../../../buildchain/node_modules/axios/lib/cancel/CanceledError.js","../../../../../buildchain/node_modules/axios/lib/core/settle.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseProtocol.js","../../../../../buildchain/node_modules/axios/lib/helpers/speedometer.js","../../../../../buildchain/node_modules/axios/lib/helpers/throttle.js","../../../../../buildchain/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../buildchain/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../buildchain/node_modules/axios/lib/helpers/cookies.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../buildchain/node_modules/axios/lib/helpers/combineURLs.js","../../../../../buildchain/node_modules/axios/lib/core/buildFullPath.js","../../../../../buildchain/node_modules/axios/lib/core/mergeConfig.js","../../../../../buildchain/node_modules/axios/lib/helpers/resolveConfig.js","../../../../../buildchain/node_modules/axios/lib/adapters/xhr.js","../../../../../buildchain/node_modules/axios/lib/helpers/composeSignals.js","../../../../../buildchain/node_modules/axios/lib/helpers/trackStream.js","../../../../../buildchain/node_modules/axios/lib/adapters/fetch.js","../../../../../buildchain/node_modules/axios/lib/adapters/adapters.js","../../../../../buildchain/node_modules/axios/lib/core/dispatchRequest.js","../../../../../buildchain/node_modules/axios/lib/env/data.js","../../../../../buildchain/node_modules/axios/lib/helpers/validator.js","../../../../../buildchain/node_modules/axios/lib/core/Axios.js","../../../../../buildchain/node_modules/axios/lib/cancel/CancelToken.js","../../../../../buildchain/node_modules/axios/lib/helpers/spread.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../buildchain/node_modules/axios/lib/axios.js","../../../../../buildchain/node_modules/apexcharts/dist/apexcharts.min.js","../../../../../buildchain/node_modules/vue-apexcharts/dist/vue-apexcharts.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.8\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*!\n * ApexCharts v4.1.0\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,n=!0,o=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return n=t.done,t},e:function(t){o=!0,r=t},f:function(){try{n||null==i.return||i.return()}finally{if(o)throw r}}}}function n(t){var i=c();return function(){var a,s=l(t);if(i){var r=l(this).constructor;a=Reflect.construct(s,arguments,r)}else a=s.apply(this,arguments);return function(t,i){if(i&&(\"object\"==typeof i||\"function\"==typeof i))return i;if(void 0!==i)throw new TypeError(\"Derived constructors may only return object or undefined\");return e(t)}(this,a)}}function o(t,e,i){return(e=x(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function h(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&g(t,e)}function c(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(c=function(){return!!t})()}function d(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function u(t){for(var e=1;e>16,n=i>>8&255,o=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===b(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"elementExists\",value:function(t){return!(!t||!t.isConnected)}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"preciseAddition\",value:function(t,e){var i=(String(t).split(\".\")[1]||\"\").length,a=(String(e).split(\".\")[1]||\"\").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isMsEdge\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"Edge/\");return e>0&&parseInt(t.substring(e+5,t.indexOf(\".\",e)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a){t.attr({opacity:0}).animate(e).attr({opacity:1}).after((function(){a()}))}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).after((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,n=t.pathTo,o=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,n,o,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,n,o){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(n=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r.trim()||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(n=1),t.plot(s).animate(1,o).plot(s).animate(n,o).plot(r).after((function(){v.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}();const w={},k=[];function A(t,e){if(Array.isArray(t))for(const i of t)A(i,e);else if(\"object\"!=typeof t)S(Object.getOwnPropertyNames(e)),w[t]=Object.assign(w[t]||{},e);else for(const e in t)A(e,t[e])}function C(t){return w[t]||{}}function S(t){k.push(...t)}function L(t,e){let i;const a=t.length,s=[];for(i=0;iz.has(t.nodeName),R=(t,e,i={})=>{const a={...e};for(const t in a)a[t].valueOf()===i[t]&&delete a[t];Object.keys(a).length?t.node.setAttribute(\"data-svgjs\",JSON.stringify(a)):(t.node.removeAttribute(\"data-svgjs\"),t.node.removeAttribute(\"svgjs:data\"))},E=\"http://www.w3.org/2000/svg\",Y=\"http://www.w3.org/2000/xmlns/\",H=\"http://www.w3.org/1999/xlink\",O={window:\"undefined\"==typeof window?null:window,document:\"undefined\"==typeof document?null:document};function F(){return O.window}let D=class{};const _={},N=\"___SYMBOL___ROOT___\";function W(t,e=E){return O.document.createElementNS(e,t)}function B(t,e=!1){if(t instanceof D)return t;if(\"object\"==typeof t)return U(t);if(null==t)return new _[N];if(\"string\"==typeof t&&\"<\"!==t.charAt(0))return U(O.document.querySelector(t));const i=e?O.document.createElement(\"div\"):W(\"svg\");return i.innerHTML=t,t=U(i.firstChild),i.removeChild(i.firstChild),t}function G(t,e){return e&&(e instanceof O.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:W(t)}function V(t){if(!t)return null;if(t.instance instanceof D)return t.instance;if(\"#document-fragment\"===t.nodeName)return new _.Fragment(t);let e=P(t.nodeName||\"Dom\");return\"LinearGradient\"===e||\"RadialGradient\"===e?e=\"Gradient\":_[e]||(e=\"Dom\"),new _[e](t)}let U=V;function q(t,e=t.name,i=!1){return _[e]=t,i&&(_[N]=t),S(Object.getOwnPropertyNames(t.prototype)),t}let Z=1e3;function $(t){return\"Svgjs\"+P(t)+Z++}function J(t){for(let e=t.children.length-1;e>=0;e--)J(t.children[e]);return t.id?(t.id=$(t.nodeName),t):t}function Q(t,e){let i,a;for(a=(t=Array.isArray(t)?t:[t]).length-1;a>=0;a--)for(i in e)t[a].prototype[i]=e[i]}function K(t){return function(...e){const i=e[e.length-1];return!i||i.constructor!==Object||i instanceof Array?t.apply(this,e):t.apply(this,e.slice(0,-1)).attr(i)}}A(\"Dom\",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const t=this.position();return this.parent().add(this.remove(),t+1),this},backward:function(){const t=this.position();return this.parent().add(this.remove(),t?t-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e),this},after:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e+1),this},insertBefore:function(t){return(t=B(t)).before(this),this},insertAfter:function(t){return(t=B(t)).after(this),this}});const tt=/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,et=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,it=/rgb\\((\\d+),(\\d+),(\\d+)\\)/,at=/(#[a-z_][a-z0-9\\-_]*)/i,st=/\\)\\s*,?\\s*/,rt=/\\s/g,nt=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,ot=/^rgb\\(/,lt=/^(\\s+)?$/,ht=/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,ct=/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,dt=/[\\s,]+/,ut=/[MLHVCSQTAZ]/i;function gt(t){const e=Math.round(t),i=Math.max(0,Math.min(255,e)).toString(16);return 1===i.length?\"0\"+i:i}function pt(t,e){for(let i=e.length;i--;)if(null==t[e[i]])return!1;return!0}function ft(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}A(\"Dom\",{classes:function(){const t=this.attr(\"class\");return null==t?[]:t.trim().split(dt)},hasClass:function(t){return-1!==this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){const e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!==t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)}}),A(\"Dom\",{css:function(t,e){const i={};if(0===arguments.length)return this.node.style.cssText.split(/\\s*;\\s*/).filter((function(t){return!!t.length})).forEach((function(t){const e=t.split(/\\s*:\\s*/);i[e[0]]=e[1]})),i;if(arguments.length<2){if(Array.isArray(t)){for(const e of t){const t=e;i[e]=this.node.style.getPropertyValue(t)}return i}if(\"string\"==typeof t)return this.node.style.getPropertyValue(t);if(\"object\"==typeof t)for(const e in t)this.node.style.setProperty(e,null==t[e]||lt.test(t[e])?\"\":t[e])}return 2===arguments.length&&this.node.style.setProperty(t,null==e||lt.test(e)?\"\":e),this},show:function(){return this.css(\"display\",\"\")},hide:function(){return this.css(\"display\",\"none\")},visible:function(){return\"none\"!==this.css(\"display\")}}),A(\"Dom\",{data:function(t,e,i){if(null==t)return this.data(L(function(t,e){let i;const a=t.length,s=[];for(i=0;i0===t.nodeName.indexOf(\"data-\"))),(t=>t.nodeName.slice(5))));if(t instanceof Array){const e={};for(const i of t)e[i]=this.data(i);return e}if(\"object\"==typeof t)for(e in t)this.data(e,t[e]);else if(arguments.length<2)try{return JSON.parse(this.attr(\"data-\"+t))}catch(e){return this.attr(\"data-\"+t)}else this.attr(\"data-\"+t,null===e?null:!0===i||\"string\"==typeof e||\"number\"==typeof e?e:JSON.stringify(e));return this}}),A(\"Dom\",{remember:function(t,e){if(\"object\"==typeof arguments[0])for(const e in t)this.remember(e,t[e]);else{if(1===arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0===arguments.length)this._memory={};else for(let t=arguments.length-1;t>=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory=this._memory||{}}});class xt{constructor(...t){this.init(...t)}static isColor(t){return t&&(t instanceof xt||this.isRgb(t)||this.test(t))}static isRgb(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b}static random(t=\"vibrant\",e){const{random:i,round:a,sin:s,PI:r}=Math;if(\"vibrant\"===t){const t=24*i()+57,e=38*i()+45,a=360*i();return new xt(t,e,a,\"lch\")}if(\"sine\"===t){const t=a(80*s(2*r*(e=null==e?i():e)/.5+.01)+150),n=a(50*s(2*r*e/.5+4.6)+200),o=a(100*s(2*r*e/.5+2.3)+150);return new xt(t,n,o)}if(\"pastel\"===t){const t=8*i()+86,e=17*i()+9,a=360*i();return new xt(t,e,a,\"lch\")}if(\"dark\"===t){const t=10+10*i(),e=50*i()+86,a=360*i();return new xt(t,e,a,\"lch\")}if(\"rgb\"===t){const t=255*i(),e=255*i(),a=255*i();return new xt(t,e,a)}if(\"lab\"===t){const t=100*i(),e=256*i()-128,a=256*i()-128;return new xt(t,e,a,\"lab\")}if(\"grey\"===t){const t=255*i();return new xt(t,t,t)}throw new Error(\"Unsupported random color mode\")}static test(t){return\"string\"==typeof t&&(nt.test(t)||ot.test(t))}cmyk(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.min(1-a,1-s,1-r);if(1===n)return new xt(0,0,0,1,\"cmyk\");return new xt((1-a-n)/(1-n),(1-s-n)/(1-n),(1-r-n)/(1-n),n,\"cmyk\")}hsl(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.max(a,s,r),o=Math.min(a,s,r),l=(n+o)/2,h=n===o,c=n-o;return new xt(360*(h?0:n===a?((s-r)/c+(s.5?c/(2-n-o):c/(n+o)),100*l,\"hsl\")}init(t=0,e=0,i=0,a=0,s=\"rgb\"){if(t=t||0,this.space)for(const t in this.space)delete this[this.space[t]];if(\"number\"==typeof t)s=\"string\"==typeof a?a:s,a=\"string\"==typeof a?0:a,Object.assign(this,{_a:t,_b:e,_c:i,_d:a,space:s});else if(t instanceof Array)this.space=e||(\"string\"==typeof t[3]?t[3]:t[4])||\"rgb\",Object.assign(this,{_a:t[0],_b:t[1],_c:t[2],_d:t[3]||0});else if(t instanceof Object){const i=function(t,e){const i=pt(t,\"rgb\")?{_a:t.r,_b:t.g,_c:t.b,_d:0,space:\"rgb\"}:pt(t,\"xyz\")?{_a:t.x,_b:t.y,_c:t.z,_d:0,space:\"xyz\"}:pt(t,\"hsl\")?{_a:t.h,_b:t.s,_c:t.l,_d:0,space:\"hsl\"}:pt(t,\"lab\")?{_a:t.l,_b:t.a,_c:t.b,_d:0,space:\"lab\"}:pt(t,\"lch\")?{_a:t.l,_b:t.c,_c:t.h,_d:0,space:\"lch\"}:pt(t,\"cmyk\")?{_a:t.c,_b:t.m,_c:t.y,_d:t.k,space:\"cmyk\"}:{_a:0,_b:0,_c:0,space:\"rgb\"};return i.space=e||i.space,i}(t,e);Object.assign(this,i)}else if(\"string\"==typeof t)if(ot.test(t)){const e=t.replace(rt,\"\"),[i,a,s]=it.exec(e).slice(1,4).map((t=>parseInt(t)));Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:\"rgb\"})}else{if(!nt.test(t))throw Error(\"Unsupported string format, can't construct Color\");{const e=t=>parseInt(t,16),[,i,a,s]=et.exec(function(t){return 4===t.length?[\"#\",t.substring(1,2),t.substring(1,2),t.substring(2,3),t.substring(2,3),t.substring(3,4),t.substring(3,4)].join(\"\"):t}(t)).map(e);Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:\"rgb\"})}}const{_a:r,_b:n,_c:o,_d:l}=this,h=\"rgb\"===this.space?{r:r,g:n,b:o}:\"xyz\"===this.space?{x:r,y:n,z:o}:\"hsl\"===this.space?{h:r,s:n,l:o}:\"lab\"===this.space?{l:r,a:n,b:o}:\"lch\"===this.space?{l:r,c:n,h:o}:\"cmyk\"===this.space?{c:r,m:n,y:o,k:l}:{};Object.assign(this,h)}lab(){const{x:t,y:e,z:i}=this.xyz();return new xt(116*e-16,500*(t-e),200*(e-i),\"lab\")}lch(){const{l:t,a:e,b:i}=this.lab(),a=Math.sqrt(e**2+i**2);let s=180*Math.atan2(i,e)/Math.PI;s<0&&(s*=-1,s=360-s);return new xt(t,a,s,\"lch\")}rgb(){if(\"rgb\"===this.space)return this;if(\"lab\"===(t=this.space)||\"xyz\"===t||\"lch\"===t){let{x:t,y:e,z:i}=this;if(\"lab\"===this.space||\"lch\"===this.space){let{l:a,a:s,b:r}=this;if(\"lch\"===this.space){const{c:t,h:e}=this,i=Math.PI/180;s=t*Math.cos(i*e),r=t*Math.sin(i*e)}const n=(a+16)/116,o=s/500+n,l=n-r/200,h=16/116,c=.008856,d=7.787;t=.95047*(o**3>c?o**3:(o-h)/d),e=1*(n**3>c?n**3:(n-h)/d),i=1.08883*(l**3>c?l**3:(l-h)/d)}const a=3.2406*t+-1.5372*e+-.4986*i,s=-.9689*t+1.8758*e+.0415*i,r=.0557*t+-.204*e+1.057*i,n=Math.pow,o=.0031308,l=a>o?1.055*n(a,1/2.4)-.055:12.92*a,h=s>o?1.055*n(s,1/2.4)-.055:12.92*s,c=r>o?1.055*n(r,1/2.4)-.055:12.92*r;return new xt(255*l,255*h,255*c)}if(\"hsl\"===this.space){let{h:t,s:e,l:i}=this;if(t/=360,e/=100,i/=100,0===e){i*=255;return new xt(i,i,i)}const a=i<.5?i*(1+e):i+e-i*e,s=2*i-a,r=255*ft(s,a,t+1/3),n=255*ft(s,a,t),o=255*ft(s,a,t-1/3);return new xt(r,n,o)}if(\"cmyk\"===this.space){const{c:t,m:e,y:i,k:a}=this,s=255*(1-Math.min(1,t*(1-a)+a)),r=255*(1-Math.min(1,e*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a));return new xt(s,r,n)}return this;var t}toArray(){const{_a:t,_b:e,_c:i,_d:a,space:s}=this;return[t,e,i,a,s]}toHex(){const[t,e,i]=this._clamped().map(gt);return`#${t}${e}${i}`}toRgb(){const[t,e,i]=this._clamped();return`rgb(${t},${e},${i})`}toString(){return this.toHex()}xyz(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,o=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,h=(.4124*n+.3576*o+.1805*l)/.95047,c=(.2126*n+.7152*o+.0722*l)/1,d=(.0193*n+.1192*o+.9505*l)/1.08883,u=h>.008856?Math.pow(h,1/3):7.787*h+16/116,g=c>.008856?Math.pow(c,1/3):7.787*c+16/116,p=d>.008856?Math.pow(d,1/3):7.787*d+16/116;return new xt(u,g,p,\"xyz\")}_clamped(){const{_a:t,_b:e,_c:i}=this.rgb(),{max:a,min:s,round:r}=Math;return[t,e,i].map((t=>a(0,s(r(t),255))))}}class bt{constructor(...t){this.init(...t)}clone(){return new bt(this)}init(t,e){const i=0,a=0,s=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"==typeof t?{x:t.x,y:t.y}:{x:t,y:e};return this.x=null==s.x?i:s.x,this.y=null==s.y?a:s.y,this}toArray(){return[this.x,this.y]}transform(t){return this.clone().transformO(t)}transformO(t){vt.isMatrixLike(t)||(t=new vt(t));const{x:e,y:i}=this;return this.x=t.a*e+t.c*i+t.e,this.y=t.b*e+t.d*i+t.f,this}}function mt(t,e,i){return Math.abs(e-t)<(i||1e-6)}class vt{constructor(...t){this.init(...t)}static formatTransforms(t){const e=\"both\"===t.flip||!0===t.flip,i=t.flip&&(e||\"x\"===t.flip)?-1:1,a=t.flip&&(e||\"y\"===t.flip)?-1:1,s=t.skew&&t.skew.length?t.skew[0]:isFinite(t.skew)?t.skew:isFinite(t.skewX)?t.skewX:0,r=t.skew&&t.skew.length?t.skew[1]:isFinite(t.skew)?t.skew:isFinite(t.skewY)?t.skewY:0,n=t.scale&&t.scale.length?t.scale[0]*i:isFinite(t.scale)?t.scale*i:isFinite(t.scaleX)?t.scaleX*i:i,o=t.scale&&t.scale.length?t.scale[1]*a:isFinite(t.scale)?t.scale*a:isFinite(t.scaleY)?t.scaleY*a:a,l=t.shear||0,h=t.rotate||t.theta||0,c=new bt(t.origin||t.around||t.ox||t.originX,t.oy||t.originY),d=c.x,u=c.y,g=new bt(t.position||t.px||t.positionX||NaN,t.py||t.positionY||NaN),p=g.x,f=g.y,x=new bt(t.translate||t.tx||t.translateX,t.ty||t.translateY),b=x.x,m=x.y,v=new bt(t.relative||t.rx||t.relativeX,t.ry||t.relativeY);return{scaleX:n,scaleY:o,skewX:s,skewY:r,shear:l,theta:h,rx:v.x,ry:v.y,tx:b,ty:m,ox:d,oy:u,px:p,py:f}}static fromArray(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}static isMatrixLike(t){return null!=t.a||null!=t.b||null!=t.c||null!=t.d||null!=t.e||null!=t.f}static matrixMultiply(t,e,i){const a=t.a*e.a+t.c*e.b,s=t.b*e.a+t.d*e.b,r=t.a*e.c+t.c*e.d,n=t.b*e.c+t.d*e.d,o=t.e+t.a*e.e+t.c*e.f,l=t.f+t.b*e.e+t.d*e.f;return i.a=a,i.b=s,i.c=r,i.d=n,i.e=o,i.f=l,i}around(t,e,i){return this.clone().aroundO(t,e,i)}aroundO(t,e,i){const a=t||0,s=e||0;return this.translateO(-a,-s).lmultiplyO(i).translateO(a,s)}clone(){return new vt(this)}decompose(t=0,e=0){const i=this.a,a=this.b,s=this.c,r=this.d,n=this.e,o=this.f,l=i*r-a*s,h=l>0?1:-1,c=h*Math.sqrt(i*i+a*a),d=Math.atan2(h*a,h*i),u=180/Math.PI*d,g=Math.cos(d),p=Math.sin(d),f=(i*s+a*r)/l,x=s*c/(f*i-a)||r*c/(f*a+i);return{scaleX:c,scaleY:x,shear:f,rotate:u,translateX:n-t+t*g*c+e*(f*g*c-p*x),translateY:o-e+t*p*c+e*(f*p*c+g*x),originX:t,originY:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(t){if(t===this)return!0;const e=new vt(t);return mt(this.a,e.a)&&mt(this.b,e.b)&&mt(this.c,e.c)&&mt(this.d,e.d)&&mt(this.e,e.e)&&mt(this.f,e.f)}flip(t,e){return this.clone().flipO(t,e)}flipO(t,e){return\"x\"===t?this.scaleO(-1,1,e,0):\"y\"===t?this.scaleO(1,-1,0,e):this.scaleO(-1,-1,t,e||t)}init(t){const e=vt.fromArray([1,0,0,1,0,0]);return t=t instanceof Gt?t.matrixify():\"string\"==typeof t?vt.fromArray(t.split(dt).map(parseFloat)):Array.isArray(t)?vt.fromArray(t):\"object\"==typeof t&&vt.isMatrixLike(t)?t:\"object\"==typeof t?(new vt).transform(t):6===arguments.length?vt.fromArray([].slice.call(arguments)):e,this.a=null!=t.a?t.a:e.a,this.b=null!=t.b?t.b:e.b,this.c=null!=t.c?t.c:e.c,this.d=null!=t.d?t.d:e.d,this.e=null!=t.e?t.e:e.e,this.f=null!=t.f?t.f:e.f,this}inverse(){return this.clone().inverseO()}inverseO(){const t=this.a,e=this.b,i=this.c,a=this.d,s=this.e,r=this.f,n=t*a-e*i;if(!n)throw new Error(\"Cannot invert \"+this);const o=a/n,l=-e/n,h=-i/n,c=t/n,d=-(o*s+h*r),u=-(l*s+c*r);return this.a=o,this.b=l,this.c=h,this.d=c,this.e=d,this.f=u,this}lmultiply(t){return this.clone().lmultiplyO(t)}lmultiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(e,this,this)}multiply(t){return this.clone().multiplyO(t)}multiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(this,e,this)}rotate(t,e,i){return this.clone().rotateO(t,e,i)}rotateO(t,e=0,i=0){t=M(t);const a=Math.cos(t),s=Math.sin(t),{a:r,b:n,c:o,d:l,e:h,f:c}=this;return this.a=r*a-n*s,this.b=n*a+r*s,this.c=o*a-l*s,this.d=l*a+o*s,this.e=h*a-c*s+i*s-e*a+e,this.f=c*a+h*s-e*s-i*a+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t);const{a:s,b:r,c:n,d:o,e:l,f:h}=this;return this.a=s*t,this.b=r*e,this.c=n*t,this.d=o*e,this.e=l*t-i*t+i,this.f=h*e-a*e+a,this}shear(t,e,i){return this.clone().shearO(t,e,i)}shearO(t,e=0,i=0){const{a:a,b:s,c:r,d:n,e:o,f:l}=this;return this.a=a+s*t,this.c=r+n*t,this.e=o+l*t-i*t,this}skew(){return this.clone().skewO(...arguments)}skewO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t),t=M(t),e=M(e);const s=Math.tan(t),r=Math.tan(e),{a:n,b:o,c:l,d:h,e:c,f:d}=this;return this.a=n+o*s,this.b=o+n*r,this.c=l+h*s,this.d=h+l*r,this.e=c+d*s-a*s,this.f=d+c*r-i*r,this}skewX(t,e,i){return this.skew(t,0,e,i)}skewY(t,e,i){return this.skew(0,t,e,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return\"matrix(\"+this.a+\",\"+this.b+\",\"+this.c+\",\"+this.d+\",\"+this.e+\",\"+this.f+\")\"}transform(t){if(vt.isMatrixLike(t)){return new vt(t).multiplyO(this)}const e=vt.formatTransforms(t),{x:i,y:a}=new bt(e.ox,e.oy).transform(this),s=(new vt).translateO(e.rx,e.ry).lmultiplyO(this).translateO(-i,-a).scaleO(e.scaleX,e.scaleY).skewO(e.skewX,e.skewY).shearO(e.shear).rotateO(e.theta).translateO(i,a);if(isFinite(e.px)||isFinite(e.py)){const t=new bt(i,a).transform(s),r=isFinite(e.px)?e.px-t.x:0,n=isFinite(e.py)?e.py-t.y:0;s.translateO(r,n)}return s.translateO(e.tx,e.ty),s}translate(t,e){return this.clone().translateO(t,e)}translateO(t,e){return this.e+=t||0,this.f+=e||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function yt(){if(!yt.nodes){const t=B().size(2,0);t.node.style.cssText=[\"opacity: 0\",\"position: absolute\",\"left: -100%\",\"top: -100%\",\"overflow: hidden\"].join(\";\"),t.attr(\"focusable\",\"false\"),t.attr(\"aria-hidden\",\"true\");const e=t.path().node;yt.nodes={svg:t,path:e}}if(!yt.nodes.svg.node.parentNode){const t=O.document.body||O.document.documentElement;yt.nodes.svg.addTo(t)}return yt.nodes}function wt(t){return!(t.width||t.height||t.x||t.y)}q(vt,\"Matrix\");class kt{constructor(...t){this.init(...t)}addOffset(){return this.x+=O.window.pageXOffset,this.y+=O.window.pageYOffset,new kt(this)}init(t){return t=\"string\"==typeof t?t.split(dt).map(parseFloat):Array.isArray(t)?t:\"object\"==typeof t?[null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height]:4===arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0]||0,this.y=t[1]||0,this.width=this.w=t[2]||0,this.height=this.h=t[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return wt(this)}merge(t){const e=Math.min(this.x,t.x),i=Math.min(this.y,t.y),a=Math.max(this.x+this.width,t.x+t.width)-e,s=Math.max(this.y+this.height,t.y+t.height)-i;return new kt(e,i,a,s)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+\" \"+this.y+\" \"+this.width+\" \"+this.height}transform(t){t instanceof vt||(t=new vt(t));let e=1/0,i=-1/0,a=1/0,s=-1/0;return[new bt(this.x,this.y),new bt(this.x2,this.y),new bt(this.x,this.y2),new bt(this.x2,this.y2)].forEach((function(r){r=r.transform(t),e=Math.min(e,r.x),i=Math.max(i,r.x),a=Math.min(a,r.y),s=Math.max(s,r.y)})),new kt(e,a,i-e,s-a)}}function At(t,e,i){let a;try{if(a=e(t.node),wt(a)&&((s=t.node)!==O.document&&!(O.document.documentElement.contains||function(t){for(;t.parentNode;)t=t.parentNode;return t===O.document}).call(O.document.documentElement,s)))throw new Error(\"Element not in the dom\")}catch(e){a=i(t)}var s;return a}A({viewbox:{viewbox(t,e,i,a){return null==t?new kt(this.attr(\"viewBox\")):this.attr(\"viewBox\",new kt(t,e,i,a))},zoom(t,e){let{width:i,height:a}=this.attr([\"width\",\"height\"]);if((i||a)&&\"string\"!=typeof i&&\"string\"!=typeof a||(i=this.node.clientWidth,a=this.node.clientHeight),!i||!a)throw new Error(\"Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element\");const s=this.viewbox(),r=i/s.width,n=a/s.height,o=Math.min(r,n);if(null==t)return o;let l=o/t;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new bt(i/2/r+s.x,a/2/n+s.y);const h=new kt(s).transform(new vt({scale:l,origin:e}));return this.viewbox(h)}}}),q(kt,\"Box\");class Ct extends Array{constructor(t=[],...e){if(super(t,...e),\"number\"==typeof t)return this;this.length=0,this.push(...t)}}Q([Ct],{each(t,...e){return\"function\"==typeof t?this.map(((e,i,a)=>t.call(e,e,i,a))):this.map((i=>i[t](...e)))},toArray(){return Array.prototype.concat.apply([],this)}});const St=[\"toArray\",\"constructor\",\"each\"];function Lt(t,e){return new Ct(L((e||O.document).querySelectorAll(t),(function(t){return V(t)})))}Ct.extend=function(t){t=t.reduce(((t,e)=>(St.includes(e)||\"_\"===e[0]||(e in Array.prototype&&(t[\"$\"+e]=Array.prototype[e]),t[e]=function(...t){return this.each(e,...t)}),t)),{}),Q([Ct],t)};let Mt=0;const Pt={};function It(t){let e=t.getEventHolder();return e===O.window&&(e=Pt),e.events||(e.events={}),e.events}function Tt(t){return t.getEventTarget()}function zt(t,e,i,a,s){const r=i.bind(a||t),n=B(t),o=It(n),l=Tt(n);e=Array.isArray(e)?e:e.split(dt),i._svgjsListenerId||(i._svgjsListenerId=++Mt),e.forEach((function(t){const e=t.split(\".\")[0],a=t.split(\".\")[1]||\"*\";o[e]=o[e]||{},o[e][a]=o[e][a]||{},o[e][a][i._svgjsListenerId]=r,l.addEventListener(e,r,s||!1)}))}function Xt(t,e,i,a){const s=B(t),r=It(s),n=Tt(s);(\"function\"!=typeof i||(i=i._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||\"\").split(dt)).forEach((function(t){const e=t&&t.split(\".\")[0],o=t&&t.split(\".\")[1];let l,h;if(i)r[e]&&r[e][o||\"*\"]&&(n.removeEventListener(e,r[e][o||\"*\"][i],a||!1),delete r[e][o||\"*\"][i]);else if(e&&o){if(r[e]&&r[e][o]){for(h in r[e][o])Xt(n,[e,o].join(\".\"),h);delete r[e][o]}}else if(o)for(t in r)for(l in r[t])o===l&&Xt(n,[t,o].join(\".\"));else if(e){if(r[e]){for(l in r[e])Xt(n,[e,l].join(\".\"));delete r[e]}}else{for(t in r)Xt(n,t);!function(t){let e=t.getEventHolder();e===O.window&&(e=Pt),e.events&&(e.events={})}(s)}}))}class Rt extends D{addEventListener(){}dispatch(t,e,i){return function(t,e,i,a){const s=Tt(t);return e instanceof O.window.Event||(e=new O.window.CustomEvent(e,{detail:i,cancelable:!0,...a})),s.dispatchEvent(e),e}(this,t,e,i)}dispatchEvent(t){const e=this.getEventHolder().events;if(!e)return!0;const i=e[t.type];for(const e in i)for(const a in i[e])i[e][a](t);return!t.defaultPrevented}fire(t,e,i){return this.dispatch(t,e,i),this}getEventHolder(){return this}getEventTarget(){return this}off(t,e,i){return Xt(this,t,e,i),this}on(t,e,i,a){return zt(this,t,e,i,a),this}removeEventListener(){}}function Et(){}q(Rt,\"EventTarget\");const Yt=400,Ht=\">\",Ot=0,Ft={\"fill-opacity\":1,\"stroke-opacity\":1,\"stroke-width\":0,\"stroke-linejoin\":\"miter\",\"stroke-linecap\":\"butt\",fill:\"#000000\",stroke:\"#000000\",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,\"stop-opacity\":1,\"stop-color\":\"#000000\",\"text-anchor\":\"start\"};class Dt extends Array{constructor(...t){super(...t),this.init(...t)}clone(){return new this.constructor(this)}init(t){return\"number\"==typeof t||(this.length=0,this.push(...this.parse(t))),this}parse(t=[]){return t instanceof Array?t:t.trim().split(dt).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(\" \")}valueOf(){const t=[];return t.push(...this),t}}class _t{constructor(...t){this.init(...t)}convert(t){return new _t(this.value,t)}divide(t){return t=new _t(t),new _t(this/t,this.unit||t.unit)}init(t,e){return e=Array.isArray(t)?t[1]:e,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(tt))&&(this.value=parseFloat(e[1]),\"%\"===e[5]?this.value/=100:\"s\"===e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof _t&&(this.value=t.valueOf(),this.unit=t.unit),this}minus(t){return t=new _t(t),new _t(this-t,this.unit||t.unit)}plus(t){return t=new _t(t),new _t(this+t,this.unit||t.unit)}times(t){return t=new _t(t),new _t(this*t,this.unit||t.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}toString(){return(\"%\"===this.unit?~~(1e8*this.value)/1e6:\"s\"===this.unit?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nt=new Set([\"fill\",\"stroke\",\"color\",\"bgcolor\",\"stop-color\",\"flood-color\",\"lighting-color\"]),Wt=[];class Bt extends Rt{constructor(t,e){super(),this.node=t,this.type=t.nodeName,e&&t!==e&&this.attr(e)}add(t,e){return(t=B(t)).removeNamespace&&this.node instanceof O.window.SVGElement&&t.removeNamespace(),null==e?this.node.appendChild(t.node):t.node!==this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this}addTo(t,e){return B(t).put(this,e)}children(){return new Ct(L(this.node.children,(function(t){return V(t)})))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(t=!0,e=!0){this.writeDataToDom();let i=this.node.cloneNode(t);return e&&(i=J(i)),new this.constructor(i)}each(t,e){const i=this.children();let a,s;for(a=0,s=i.length;a=0}html(t,e){return this.xml(t,e,\"http://www.w3.org/1999/xhtml\")}id(t){return void 0!==t||this.node.id||(this.node.id=$(this.type)),this.attr(\"id\",t)}index(t){return[].slice.call(this.node.childNodes).indexOf(t.node)}last(){return V(this.node.lastChild)}matches(t){const e=this.node,i=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector||null;return i&&i.call(e,t)}parent(t){let e=this;if(!e.node.parentNode)return null;if(e=V(e.node.parentNode),!t)return e;do{if(\"string\"==typeof t?e.matches(t):e instanceof t)return e}while(e=V(e.node.parentNode));return e}put(t,e){return t=B(t),this.add(t,e),t}putIn(t,e){return B(t).add(this,e)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(t){return this.node.removeChild(t.node),this}replace(t){return t=B(t),this.node.parentNode&&this.node.parentNode.replaceChild(t.node,this.node),t}round(t=2,e=null){const i=10**t,a=this.attr(e);for(const t in a)\"number\"==typeof a[t]&&(a[t]=Math.round(a[t]*i)/i);return this.attr(a),this}svg(t,e){return this.xml(t,e,E)}toString(){return this.id()}words(t){return this.node.textContent=t,this}wrap(t){const e=this.parent();if(!e)return this.addTo(t);const i=e.index(this);return e.put(t,i).put(this)}writeDataToDom(){return this.each((function(){this.writeDataToDom()})),this}xml(t,e,i){if(\"boolean\"==typeof t&&(i=e,e=t,t=null),null==t||\"function\"==typeof t){e=null==e||e,this.writeDataToDom();let i=this;if(null!=t){if(i=V(i.node.cloneNode(!0)),e){const e=t(i);if(i=e||i,!1===e)return\"\"}i.each((function(){const e=t(this),i=e||this;!1===e?this.remove():e&&this!==i&&this.replace(i)}),!0)}return e?i.node.outerHTML:i.node.innerHTML}e=null!=e&&e;const a=W(\"wrapper\",i),s=O.document.createDocumentFragment();a.innerHTML=t;for(let t=a.children.length;t--;)s.appendChild(a.firstElementChild);const r=this.parent();return e?this.replace(s)&&r:this.add(s)}}Q(Bt,{attr:function(t,e,i){if(null==t){t={},e=this.node.attributes;for(const i of e)t[i.nodeName]=ht.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return t}if(t instanceof Array)return t.reduce(((t,e)=>(t[e]=this.attr(e),t)),{});if(\"object\"==typeof t&&t.constructor===Object)for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?Ft[t]:ht.test(e)?parseFloat(e):e;\"number\"==typeof(e=Wt.reduce(((e,i)=>i(t,e,this)),e))?e=new _t(e):Nt.has(t)&&xt.isColor(e)?e=new xt(e):e.constructor===Array&&(e=new Dt(e)),\"leading\"===t?this.leading&&this.leading(e):\"string\"==typeof i?this.node.setAttributeNS(i,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!==t&&\"x\"!==t||this.rebuild()}return this},find:function(t){return Lt(t,this.node)},findOne:function(t){return V(this.node.querySelector(t))}}),q(Bt,\"Dom\");class Gt extends Bt{constructor(t,e){super(t,e),this.dom={},this.node.instance=this,(t.hasAttribute(\"data-svgjs\")||t.hasAttribute(\"svgjs:data\"))&&this.setData(JSON.parse(t.getAttribute(\"data-svgjs\"))??JSON.parse(t.getAttribute(\"svgjs:data\"))??{})}center(t,e){return this.cx(t).cy(e)}cx(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)}cy(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)}defs(){const t=this.root();return t&&t.defs()}dmove(t,e){return this.dx(t).dy(e)}dx(t=0){return this.x(new _t(t).plus(this.x()))}dy(t=0){return this.y(new _t(t).plus(this.y()))}getEventHolder(){return this}height(t){return this.attr(\"height\",t)}move(t,e){return this.x(t).y(e)}parents(t=this.root()){const e=\"string\"==typeof t;e||(t=B(t));const i=new Ct;let a=this;for(;(a=a.parent())&&a.node!==O.document&&\"#document-fragment\"!==a.nodeName&&(i.push(a),e||a.node!==t.node)&&(!e||!a.matches(t));)if(a.node===this.root().node)return null;return i}reference(t){if(!(t=this.attr(t)))return null;const e=(t+\"\").match(at);return e?B(e[1]):null}root(){const t=this.parent(function(t){return _[t]}(N));return t&&t.root()}setData(t){return this.dom=t,this}size(t,e){const i=I(this,t,e);return this.width(new _t(i.width)).height(new _t(i.height))}width(t){return this.attr(\"width\",t)}writeDataToDom(){return R(this,this.dom),super.writeDataToDom()}x(t){return this.attr(\"x\",t)}y(t){return this.attr(\"y\",t)}}Q(Gt,{bbox:function(){const t=At(this,(t=>t.getBBox()),(t=>{try{const e=t.clone().addTo(yt().svg).show(),i=e.node.getBBox();return e.remove(),i}catch(e){throw new Error(`Getting bbox of element \"${t.node.nodeName}\" is not possible: ${e.toString()}`)}}));return new kt(t)},rbox:function(t){const e=At(this,(t=>t.getBoundingClientRect()),(t=>{throw new Error(`Getting rbox of element \"${t.node.nodeName}\" is not possible`)})),i=new kt(e);return t?i.transform(t.screenCTM().inverseO()):i.addOffset()},inside:function(t,e){const i=this.bbox();return t>i.x&&e>i.y&&t=0;i--)null!=e[jt[t][i]]&&this.attr(jt.prefix(t,jt[t][i]),e[jt[t][i]]);return this},A([\"Element\",\"Runner\"],e)})),A([\"Element\",\"Runner\"],{matrix:function(t,e,i,a,s,r){return null==t?new vt(this):this.attr(\"transform\",new vt(t,e,i,a,s,r))},rotate:function(t,e,i){return this.transform({rotate:t,ox:e,oy:i},!0)},skew:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({skew:t,ox:e,oy:i},!0):this.transform({skew:[t,e],ox:i,oy:a},!0)},shear:function(t,e,i){return this.transform({shear:t,ox:e,oy:i},!0)},scale:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({scale:t,ox:e,oy:i},!0):this.transform({scale:[t,e],ox:i,oy:a},!0)},translate:function(t,e){return this.transform({translate:[t,e]},!0)},relative:function(t,e){return this.transform({relative:[t,e]},!0)},flip:function(t=\"both\",e=\"center\"){return-1===\"xybothtrue\".indexOf(t)&&(e=t,t=\"both\"),this.transform({flip:t,origin:e},!0)},opacity:function(t){return this.attr(\"opacity\",t)}}),A(\"radius\",{radius:function(t,e=t){return\"radialGradient\"===(this._element||this).type?this.attr(\"r\",new _t(t)):this.rx(t).ry(e)}}),A(\"Path\",{length:function(){return this.node.getTotalLength()},pointAt:function(t){return new bt(this.node.getPointAtLength(t))}}),A([\"Element\",\"Runner\"],{font:function(t,e){if(\"object\"==typeof t){for(e in t)this.font(e,t[e]);return this}return\"leading\"===t?this.leading(e):\"anchor\"===t?this.attr(\"text-anchor\",e):\"size\"===t||\"family\"===t||\"weight\"===t||\"stretch\"===t||\"variant\"===t||\"style\"===t?this.attr(\"font-\"+t,e):this.attr(t,e)}});A(\"Element\",[\"click\",\"dblclick\",\"mousedown\",\"mouseup\",\"mouseover\",\"mouseout\",\"mousemove\",\"mouseenter\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"touchend\",\"touchcancel\",\"contextmenu\",\"wheel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\"].reduce((function(t,e){return t[e]=function(t){return null===t?this.off(e):this.on(e,t),this},t}),{})),A(\"Element\",{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){const t=(this.attr(\"transform\")||\"\").split(st).slice(0,-1).map((function(t){const e=t.trim().split(\"(\");return[e[0],e[1].split(dt).map((function(t){return parseFloat(t)}))]})).reverse().reduce((function(t,e){return\"matrix\"===e[0]?t.lmultiply(vt.fromArray(e[1])):t[e[0]].apply(t,e[1])}),new vt);return t},toParent:function(t,e){if(this===t)return this;if(X(this.node))return this.addTo(t,e);const i=this.screenCTM(),a=t.screenCTM().inverse();return this.addTo(t,e).untransform().transform(a.multiply(i)),this},toRoot:function(t){return this.toParent(this.root(),t)},transform:function(t,e){if(null==t||\"string\"==typeof t){const e=new vt(this).decompose();return null==t?e:e[t]}vt.isMatrixLike(t)||(t={...t,origin:T(t,this)});const i=new vt(!0===e?this:e||!1).transform(t);return this.attr(\"transform\",i)}});class Vt extends Gt{flatten(){return this.each((function(){if(this instanceof Vt)return this.flatten().ungroup()})),this}ungroup(t=this.parent(),e=t.index(this)){return e=-1===e?t.children().length:e,this.each((function(i,a){return a[a.length-i-1].toParent(t,e)})),this.remove()}}q(Vt,\"Container\");class Ut extends Vt{constructor(t,e=t){super(G(\"defs\",t),e)}flatten(){return this}ungroup(){return this}}q(Ut,\"Defs\");class qt extends Gt{}function Zt(t){return this.attr(\"rx\",t)}function $t(t){return this.attr(\"ry\",t)}function Jt(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())}function Qt(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())}function Kt(t){return this.attr(\"cx\",t)}function te(t){return this.attr(\"cy\",t)}function ee(t){return null==t?2*this.rx():this.rx(new _t(t).divide(2))}function ie(t){return null==t?2*this.ry():this.ry(new _t(t).divide(2))}q(qt,\"Shape\");var ae=Object.freeze({__proto__:null,cx:Kt,cy:te,height:ie,rx:Zt,ry:$t,width:ee,x:Jt,y:Qt});class se extends qt{constructor(t,e=t){super(G(\"ellipse\",t),e)}size(t,e){const i=I(this,t,e);return this.rx(new _t(i.width).divide(2)).ry(new _t(i.height).divide(2))}}Q(se,ae),A(\"Container\",{ellipse:K((function(t=0,e=t){return this.put(new se).size(t,e).move(0,0)}))}),q(se,\"Ellipse\");class re extends Bt{constructor(t=O.document.createDocumentFragment()){super(t)}xml(t,e,i){if(\"boolean\"==typeof t&&(i=e,e=t,t=null),null==t||\"function\"==typeof t){const t=new Bt(W(\"wrapper\",i));return t.add(this.node.cloneNode(!0)),t.xml(!1,i)}return super.xml(t,!1,i)}}function ne(t,e){return\"radialGradient\"===(this._element||this).type?this.attr({fx:new _t(t),fy:new _t(e)}):this.attr({x1:new _t(t),y1:new _t(e)})}function oe(t,e){return\"radialGradient\"===(this._element||this).type?this.attr({cx:new _t(t),cy:new _t(e)}):this.attr({x2:new _t(t),y2:new _t(e)})}q(re,\"Fragment\");var le=Object.freeze({__proto__:null,from:ne,to:oe});class he extends Vt{constructor(t,e){super(G(t+\"Gradient\",\"string\"==typeof t?null:t),e)}attr(t,e,i){return\"transform\"===t&&(t=\"gradientTransform\"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt(\"svg [fill*=\"+this.id()+\"]\")}toString(){return this.url()}update(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this}url(){return\"url(#\"+this.id()+\")\"}}Q(he,le),A({Container:{gradient(...t){return this.defs().gradient(...t)}},Defs:{gradient:K((function(t,e){return this.put(new he(t)).update(e)}))}}),q(he,\"Gradient\");class ce extends Vt{constructor(t,e=t){super(G(\"pattern\",t),e)}attr(t,e,i){return\"transform\"===t&&(t=\"patternTransform\"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt(\"svg [fill*=\"+this.id()+\"]\")}toString(){return this.url()}update(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this}url(){return\"url(#\"+this.id()+\")\"}}A({Container:{pattern(...t){return this.defs().pattern(...t)}},Defs:{pattern:K((function(t,e,i){return this.put(new ce).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:\"userSpaceOnUse\"})}))}}),q(ce,\"Pattern\");let de=class extends qt{constructor(t,e=t){super(G(\"image\",t),e)}load(t,e){if(!t)return this;const i=new O.window.Image;return zt(i,\"load\",(function(t){const a=this.parent(ce);0===this.width()&&0===this.height()&&this.size(i.width,i.height),a instanceof ce&&0===a.width()&&0===a.height()&&a.size(this.width(),this.height()),\"function\"==typeof e&&e.call(this,t)}),this),zt(i,\"load error\",(function(){Xt(i)})),this.attr(\"href\",i.src=t,H)}};var ue;ue=function(t,e,i){return\"fill\"!==t&&\"stroke\"!==t||ct.test(e)&&(e=i.root().defs().image(e)),e instanceof de&&(e=i.root().defs().pattern(0,0,(t=>{t.add(e)}))),e},Wt.push(ue),A({Container:{image:K((function(t,e){return this.put(new de).size(0,0).load(t,e)}))}}),q(de,\"Image\");class ge extends Dt{bbox(){let t=-1/0,e=-1/0,i=1/0,a=1/0;return this.forEach((function(s){t=Math.max(s[0],t),e=Math.max(s[1],e),i=Math.min(s[0],i),a=Math.min(s[1],a)})),new kt(i,a,t-i,e-a)}move(t,e){const i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(let i=this.length-1;i>=0;i--)this[i]=[this[i][0]+t,this[i][1]+e];return this}parse(t=[0,0]){const e=[];(t=t instanceof Array?Array.prototype.concat.apply([],t):t.trim().split(dt).map(parseFloat)).length%2!=0&&t.pop();for(let i=0,a=t.length;i=0;i--)a.width&&(this[i][0]=(this[i][0]-a.x)*t/a.width+a.x),a.height&&(this[i][1]=(this[i][1]-a.y)*e/a.height+a.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const t=[];for(let e=0,i=this.length;e\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)},bezier:function(t,e,i,a){return function(s){return s<0?t>0?e/t*s:i>0?a/i*s:0:s>1?i<1?(1-a)/(1-i)*s+(a-i)/(1-i):t<1?(1-e)/(1-t)*s+(e-t)/(1-t):1:3*s*(1-s)**2*e+3*s**2*(1-s)*a+s**3}},steps:function(t,e=\"end\"){e=e.split(\"-\").reverse()[0];let i=t;return\"none\"===e?--i:\"both\"===e&&++i,(a,s=!1)=>{let r=Math.floor(a*t);const n=a*r%1==0;return\"start\"!==e&&\"both\"!==e||++r,s&&n&&--r,a>=0&&r<0&&(r=0),a<=1&&r>i&&(r=i),r/i}}};class ye{done(){return!1}}class we extends ye{constructor(t=Ht){super(),this.ease=ve[t]||t}step(t,e,i){return\"number\"!=typeof t?i<1?t:e:t+(e-t)*this.ease(i)}}class ke extends ye{constructor(t){super(),this.stepper=t}done(t){return t.done}step(t,e,i,a){return this.stepper(t,e,i,a)}}function Ae(){const t=(this._duration||500)/1e3,e=this._overshoot||0,i=Math.PI,a=Math.log(e/100+1e-10),s=-a/Math.sqrt(i*i+a*a),r=3.9/(s*t);this.d=2*s*r,this.k=r*r}Q(class extends ke{constructor(t=500,e=0){super(),this.duration(t).overshoot(e)}step(t,e,i,a){if(\"string\"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;i>100&&(i=16),i/=1e3;const s=a.velocity||0,r=-this.d*s-this.k*(t-e),n=t+s*i+r*i*i/2;return a.velocity=s+r*i,a.done=Math.abs(e-n)+Math.abs(s)<.002,a.done?e:n}},{duration:me(\"_duration\",Ae),overshoot:me(\"_overshoot\",Ae)});Q(class extends ke{constructor(t=.1,e=.01,i=0,a=1e3){super(),this.p(t).i(e).d(i).windup(a)}step(t,e,i,a){if(\"string\"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;const s=e-t;let r=(a.integral||0)+s*i;const n=(s-(a.error||0))/i,o=this._windup;return!1!==o&&(r=Math.max(-o,Math.min(r,o))),a.error=s,a.integral=r,a.done=Math.abs(s)<.001,a.done?e:t+(this.P*s+this.I*r+this.D*n)}},{windup:me(\"_windup\"),p:me(\"P\"),i:me(\"I\"),d:me(\"D\")});const Ce={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Se={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],[\"T\",t[0],t[1]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]},A:function(t,e){return e.x=t[5],e.y=t[6],[\"A\",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},Le=\"mlhvqtcsaz\".split(\"\");for(let t=0,e=Le.length;t=0;a--)i=this[a][0],\"M\"===i||\"L\"===i||\"T\"===i?(this[a][1]+=t,this[a][2]+=e):\"H\"===i?this[a][1]+=t:\"V\"===i?this[a][1]+=e:\"C\"===i||\"S\"===i||\"Q\"===i?(this[a][1]+=t,this[a][2]+=e,this[a][3]+=t,this[a][4]+=e,\"C\"===i&&(this[a][5]+=t,this[a][6]+=e)):\"A\"===i&&(this[a][6]+=t,this[a][7]+=e);return this}parse(t=\"M0 0\"){return Array.isArray(t)&&(t=Array.prototype.concat.apply([],t).toString()),function(t,e=!0){let i=0,a=\"\";const s={segment:[],inNumber:!1,number:\"\",lastToken:\"\",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:e,p0:new bt,p:new bt};for(;s.lastToken=a,a=t.charAt(i++);)if(s.inSegment||!Pe(s,a))if(\".\"!==a)if(isNaN(parseInt(a)))if(Re.has(a))s.inNumber&&Ie(s,!1);else if(\"-\"!==a&&\"+\"!==a)if(\"E\"!==a.toUpperCase()){if(ut.test(a)){if(s.inNumber)Ie(s,!1);else{if(!Me(s))throw new Error(\"parser Error\");Te(s)}--i}}else s.number+=a,s.hasExponent=!0;else{if(s.inNumber&&!Xe(s)){Ie(s,!1),--i;continue}s.number+=a,s.inNumber=!0}else{if(\"0\"===s.number||ze(s)){s.inNumber=!0,s.number=a,Ie(s,!0);continue}s.inNumber=!0,s.number+=a}else{if(s.pointSeen||s.hasExponent){Ie(s,!1),--i;continue}s.inNumber=!0,s.pointSeen=!0,s.number+=a}return s.inNumber&&Ie(s,!1),s.inSegment&&Me(s)&&Te(s),s.segments}(t)}size(t,e){const i=this.bbox();let a,s;for(i.width=0===i.width?1:i.width,i.height=0===i.height?1:i.height,a=this.length-1;a>=0;a--)s=this[a][0],\"M\"===s||\"L\"===s||\"T\"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y):\"H\"===s?this[a][1]=(this[a][1]-i.x)*t/i.width+i.x:\"V\"===s?this[a][1]=(this[a][1]-i.y)*e/i.height+i.y:\"C\"===s||\"S\"===s||\"Q\"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y,this[a][3]=(this[a][3]-i.x)*t/i.width+i.x,this[a][4]=(this[a][4]-i.y)*e/i.height+i.y,\"C\"===s&&(this[a][5]=(this[a][5]-i.x)*t/i.width+i.x,this[a][6]=(this[a][6]-i.y)*e/i.height+i.y)):\"A\"===s&&(this[a][1]=this[a][1]*t/i.width,this[a][2]=this[a][2]*e/i.height,this[a][6]=(this[a][6]-i.x)*t/i.width+i.x,this[a][7]=(this[a][7]-i.y)*e/i.height+i.y);return this}toString(){return function(t){let e=\"\";for(let i=0,a=t.length;i{const e=typeof t;return\"number\"===e?_t:\"string\"===e?xt.isColor(t)?xt:dt.test(t)?ut.test(t)?Ee:Dt:tt.test(t)?_t:Oe:Ne.indexOf(t.constructor)>-1?t.constructor:Array.isArray(t)?Dt:\"object\"===e?_e:Oe};class He{constructor(t){this._stepper=t||new we(\"-\"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(t){return this._morphObj.morph(this._from,this._to,t,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce((function(t,e){return t&&e}),!0)}from(t){return null==t?this._from:(this._from=this._set(t),this)}stepper(t){return null==t?this._stepper:(this._stepper=t,this)}to(t){return null==t?this._to:(this._to=this._set(t),this)}type(t){return null==t?this._type:(this._type=t,this)}_set(t){this._type||this.type(Ye(t));let e=new this._type(t);return this._type===xt&&(e=this._to?e[this._to[4]]():this._from?e[this._from[4]]():e),this._type===_e&&(e=this._to?e.align(this._to):this._from?e.align(this._from):e),e=e.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(e.length)).map(Object).map((function(t){return t.done=!0,t})),e}}class Oe{constructor(...t){this.init(...t)}init(t){return t=Array.isArray(t)?t[0]:t,this.value=t,this}toArray(){return[this.value]}valueOf(){return this.value}}class Fe{constructor(...t){this.init(...t)}init(t){return Array.isArray(t)&&(t={scaleX:t[0],scaleY:t[1],shear:t[2],rotate:t[3],translateX:t[4],translateY:t[5],originX:t[6],originY:t[7]}),Object.assign(this,Fe.defaults,t),this}toArray(){const t=this;return[t.scaleX,t.scaleY,t.shear,t.rotate,t.translateX,t.translateY,t.originX,t.originY]}}Fe.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const De=(t,e)=>t[0]e[0]?1:0;class _e{constructor(...t){this.init(...t)}align(t){const e=this.values;for(let i=0,a=e.length;it.concat(e)),[]),this}toArray(){return this.values}valueOf(){const t={},e=this.values;for(;e.length;){const i=e.shift(),a=e.shift(),s=e.shift(),r=e.splice(0,s);t[i]=new a(r)}return t}}const Ne=[Oe,Fe,_e];class We extends qt{constructor(t,e=t){super(G(\"path\",t),e)}array(){return this._array||(this._array=new Ee(this.attr(\"d\")))}clear(){return delete this._array,this}height(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}move(t,e){return this.attr(\"d\",this.array().move(t,e))}plot(t){return null==t?this.array():this.clear().attr(\"d\",\"string\"==typeof t?t:this._array=new Ee(t))}size(t,e){const i=I(this,t,e);return this.attr(\"d\",this.array().size(i.width,i.height))}width(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)}x(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)}y(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}}We.prototype.MorphArray=Ee,A({Container:{path:K((function(t){return this.put(new We).plot(t||new Ee)}))}}),q(We,\"Path\");var Be=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ge(this.attr(\"points\")))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr(\"points\",this.array().move(t,e))},plot:function(t){return null==t?this.array():this.clear().attr(\"points\",\"string\"==typeof t?t:this._array=new ge(t))},size:function(t,e){const i=I(this,t,e);return this.attr(\"points\",this.array().size(i.width,i.height))}});class Ge extends qt{constructor(t,e=t){super(G(\"polygon\",t),e)}}A({Container:{polygon:K((function(t){return this.put(new Ge).plot(t||new ge)}))}}),Q(Ge,fe),Q(Ge,Be),q(Ge,\"Polygon\");class je extends qt{constructor(t,e=t){super(G(\"polyline\",t),e)}}A({Container:{polyline:K((function(t){return this.put(new je).plot(t||new ge)}))}}),Q(je,fe),Q(je,Be),q(je,\"Polyline\");class Ve extends qt{constructor(t,e=t){super(G(\"rect\",t),e)}}Q(Ve,{rx:Zt,ry:$t}),A({Container:{rect:K((function(t,e){return this.put(new Ve).size(t,e)}))}}),q(Ve,\"Rect\");class Ue{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(t){const e=void 0!==t.next?t:{value:t,next:null,prev:null};return this._last?(e.prev=this._last,this._last.next=e,this._last=e):(this._last=e,this._first=e),e}remove(t){t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t===this._last&&(this._last=t.prev),t===this._first&&(this._first=t.next),t.prev=null,t.next=null}shift(){const t=this._first;return t?(this._first=t.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,t.value):null}}const qe={nextDraw:null,frames:new Ue,timeouts:new Ue,immediates:new Ue,timer:()=>O.window.performance||O.window.Date,transforms:[],frame(t){const e=qe.frames.push({run:t});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},timeout(t,e){e=e||0;const i=qe.timer().now()+e,a=qe.timeouts.push({run:t,time:i});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),a},immediate(t){const e=qe.immediates.push(t);return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},cancelFrame(t){null!=t&&qe.frames.remove(t)},clearTimeout(t){null!=t&&qe.timeouts.remove(t)},cancelImmediate(t){null!=t&&qe.immediates.remove(t)},_draw(t){let e=null;const i=qe.timeouts.last();for(;(e=qe.timeouts.shift())&&(t>=e.time?e.run():qe.timeouts.push(e),e!==i););let a=null;const s=qe.frames.last();for(;a!==s&&(a=qe.frames.shift());)a.run(t);let r=null;for(;r=qe.immediates.shift();)r();qe.nextDraw=qe.timeouts.first()||qe.frames.first()?O.window.requestAnimationFrame(qe._draw):null}},Ze=function(t){const e=t.start,i=t.runner.duration();return{start:e,duration:i,end:e+i,runner:t.runner}},$e=function(){const t=O.window;return(t.performance||t.Date).now()};class Je extends Rt{constructor(t=$e){super(),this._timeSource=t,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const t=this.getLastRunnerInfo(),e=t?t.runner.duration():0;return(t?t.start:this._time)+e}getEndTimeOfTimeline(){const t=this._runners.map((t=>t.start+t.runner.duration()));return Math.max(0,...t)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(t){return this._runners[this._runnerIds.indexOf(t)]||null}pause(){return this._paused=!0,this._continue()}persist(t){return null==t?this._persist:(this._persist=t,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(t){const e=this.speed();if(null==t)return this.speed(-e);const i=Math.abs(e);return this.speed(t?-i:i)}schedule(t,e,i){if(null==t)return this._runners.map(Ze);let a=0;const s=this.getEndTime();if(e=e||0,null==i||\"last\"===i||\"after\"===i)a=s;else if(\"absolute\"===i||\"start\"===i)a=e,e=0;else if(\"now\"===i)a=this._time;else if(\"relative\"===i){const i=this.getRunnerInfoById(t.id);i&&(a=i.start+e,e=0)}else{if(\"with-last\"!==i)throw new Error('Invalid value for the \"when\" parameter');{const t=this.getLastRunnerInfo();a=t?t.start:this._time}}t.unschedule(),t.timeline(this);const r=t.persist(),n={persist:null===r?this._persist:r,start:a+e,runner:t};return this._lastRunnerId=t.id,this._runners.push(n),this._runners.sort(((t,e)=>t.start-e.start)),this._runnerIds=this._runners.map((t=>t.runner.id)),this.updateTime()._continue(),this}seek(t){return this.time(this._time+t)}source(t){return null==t?this._timeSource:(this._timeSource=t,this)}speed(t){return null==t?this._speed:(this._speed=t,this)}stop(){return this.time(0),this.pause()}time(t){return null==t?this._time:(this._time=t,this._continue(!0))}unschedule(t){const e=this._runnerIds.indexOf(t.id);return e<0||(this._runners.splice(e,1),this._runnerIds.splice(e,1),t.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(t=!1){return qe.cancelFrame(this._nextFrame),this._nextFrame=null,t?this._stepImmediate():(this._paused||(this._nextFrame=qe.frame(this._step)),this)}_stepFn(t=!1){const e=this._timeSource();let i=e-this._lastSourceTime;t&&(i=0);const a=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=e,t||(this._time+=a,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire(\"time\",this._time);for(let t=this._runners.length;t--;){const e=this._runners[t],i=e.runner;this._time-e.start<=0&&i.reset()}let s=!1;for(let t=0,e=this._runners.length;t0?this._continue():(this.pause(),this.fire(\"finished\")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}A({Element:{timeline:function(t){return null==t?(this._timeline=this._timeline||new Je,this._timeline):(this._timeline=t,this)}}});class Qe extends Rt{constructor(t){super(),this.id=Qe.id++,t=\"function\"==typeof(t=null==t?Yt:t)?new ke(t):t,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration=\"number\"==typeof t&&t,this._isDeclarative=t instanceof ke,this._stepper=this._isDeclarative?t:new we,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new vt,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(t,e,i){let a=1,s=!1,r=0;return e=e??Ot,i=i||\"last\",\"object\"!=typeof(t=t??Yt)||t instanceof ye||(e=t.delay??e,i=t.when??i,s=t.swing||s,a=t.times??a,r=t.wait??r,t=t.duration??Yt),{duration:t,delay:e,swing:s,times:a,wait:r,when:i}}active(t){return null==t?this.enabled:(this.enabled=t,this)}addTransform(t){return this.transforms.lmultiplyO(t),this}after(t){return this.on(\"finished\",t)}animate(t,e,i){const a=Qe.sanitise(t,e,i),s=new Qe(a.duration);return this._timeline&&s.timeline(this._timeline),this._element&&s.element(this._element),s.loop(a).schedule(a.delay,a.when)}clearTransform(){return this.transforms=new vt,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter((t=>!t.isTransform)))}delay(t){return this.animate(0,t)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(t){return this.queue(null,t)}ease(t){return this._stepper=new we(t),this}element(t){return null==t?this._element:(this._element=t,t._prepareRunner(),this)}finish(){return this.step(1/0)}loop(t,e,i){return\"object\"==typeof t&&(e=t.swing,i=t.wait,t=t.times),this._times=t||1/0,this._swing=e||!1,this._wait=i||0,!0===this._times&&(this._times=1/0),this}loops(t){const e=this._duration+this._wait;if(null==t){const t=Math.floor(this._time/e),i=(this._time-t*e)/this._duration;return Math.min(t+i,this._times)}const i=t%1,a=e*Math.floor(t)+this._duration*i;return this.time(a)}persist(t){return null==t?this._persist:(this._persist=t,this)}position(t){const e=this._time,i=this._duration,a=this._wait,s=this._times,r=this._swing,n=this._reverse;let o;if(null==t){const t=function(t){const e=r*Math.floor(t%(2*(a+i))/(a+i)),s=e&&!n||!e&&n,o=Math.pow(-1,s)*(t%(a+i))/i+s;return Math.max(Math.min(o,1),0)},l=s*(a+i)-a;return o=e<=0?Math.round(t(1e-5)):e=0;this._lastPosition=e;const a=this.duration(),s=this._lastTime<=0&&this._time>0,r=this._lastTime=a;this._lastTime=this._time,s&&this.fire(\"start\",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=a,this._reseted=!1;let o=!1;return(i||n)&&(this._initialise(i),this.transforms=new vt,o=this._run(n?t:e),this.fire(\"step\",this)),this.done=this.done||o&&n,r&&this.fire(\"finished\",this),this}time(t){if(null==t)return this._time;const e=t-this._time;return this.step(e),this}timeline(t){return void 0===t?this._timeline:(this._timeline=t,this)}unschedule(){const t=this.timeline();return t&&t.unschedule(this),this}_initialise(t){if(t||this._isDeclarative)for(let e=0,i=this._queue.length;et.lmultiplyO(e),ei=t=>t.transforms;function ii(){const t=this._transformationRunners.runners.map(ei).reduce(ti,new vt);this.transform(t),this._transformationRunners.merge(),1===this._transformationRunners.length()&&(this._frameId=null)}class ai{constructor(){this.runners=[],this.ids=[]}add(t){if(this.runners.includes(t))return;const e=t.id+1;return this.runners.push(t),this.ids.push(e),this}clearBefore(t){const e=this.ids.indexOf(t+1)||1;return this.ids.splice(0,e,0),this.runners.splice(0,e,new Ke).forEach((t=>t.clearTransformsFromQueue())),this}edit(t,e){const i=this.ids.indexOf(t+1);return this.ids.splice(i,1,t+1),this.runners.splice(i,1,e),this}getByID(t){return this.runners[this.ids.indexOf(t+1)]}length(){return this.ids.length}merge(){let t=null;for(let e=0;ee.id<=t.id)).map(ei).reduce(ti,new vt)},_addRunner(t){this._transformationRunners.add(t),qe.cancelImmediate(this._frameId),this._frameId=qe.immediate(ii.bind(this))},_prepareRunner(){null==this._frameId&&(this._transformationRunners=(new ai).add(new Ke(new vt(this))))}}});Q(Qe,{attr(t,e){return this.styleAttr(\"attr\",t,e)},css(t,e){return this.styleAttr(\"css\",t,e)},styleAttr(t,e,i){if(\"string\"==typeof e)return this.styleAttr(t,{[e]:i});let a=e;if(this._tryRetarget(t,a))return this;let s=new He(this._stepper).to(a),r=Object.keys(a);return this.queue((function(){s=s.from(this.element()[t](r))}),(function(e){return this.element()[t](s.at(e).valueOf()),s.done()}),(function(e){const i=Object.keys(e),n=(o=r,i.filter((t=>!o.includes(t))));var o;if(n.length){const e=this.element()[t](n),i=new _e(s.from()).valueOf();Object.assign(i,e),s.from(i)}const l=new _e(s.to()).valueOf();Object.assign(l,e),s.to(l),r=i,a=e})),this._rememberMorpher(t,s),this},zoom(t,e){if(this._tryRetarget(\"zoom\",t,e))return this;let i=new He(this._stepper).to(new _t(t));return this.queue((function(){i=i.from(this.element().zoom())}),(function(t){return this.element().zoom(i.at(t),e),i.done()}),(function(t,a){e=a,i.to(t)})),this._rememberMorpher(\"zoom\",i),this},transform(t,e,i){if(e=t.relative||e,this._isDeclarative&&!e&&this._tryRetarget(\"transform\",t))return this;const a=vt.isMatrixLike(t);i=null!=t.affine?t.affine:null!=i?i:!a;const s=new He(this._stepper).type(i?Fe:vt);let r,n,o,l,h;return this.queue((function(){n=n||this.element(),r=r||T(t,n),h=new vt(e?void 0:n),n._addRunner(this),e||n._clearTransformRunnersBefore(this)}),(function(c){e||this.clearTransform();const{x:d,y:u}=new bt(r).transform(n._currentTransform(this));let g=new vt({...t,origin:[d,u]}),p=this._isDeclarative&&o?o:h;if(i){g=g.decompose(d,u),p=p.decompose(d,u);const t=g.rotate,e=p.rotate,i=[t-360,t,t+360],a=i.map((t=>Math.abs(t-e))),s=Math.min(...a),r=a.indexOf(s);g.rotate=i[r]}e&&(a||(g.rotate=t.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(c);return l=f.rotate,o=new vt(f),this.addTransform(o),n._addRunner(this),s.done()}),(function(e){(e.origin||\"center\").toString()!==(t.origin||\"center\").toString()&&(r=T(e,n)),t={...e,origin:r}}),!0),this._isDeclarative&&this._rememberMorpher(\"transform\",s),this},x(t){return this._queueNumber(\"x\",t)},y(t){return this._queueNumber(\"y\",t)},ax(t){return this._queueNumber(\"ax\",t)},ay(t){return this._queueNumber(\"ay\",t)},dx(t=0){return this._queueNumberDelta(\"x\",t)},dy(t=0){return this._queueNumberDelta(\"y\",t)},dmove(t,e){return this.dx(t).dy(e)},_queueNumberDelta(t,e){if(e=new _t(e),this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);let a=null;return this.queue((function(){a=this.element()[t](),i.from(a),i.to(a+e)}),(function(e){return this.element()[t](i.at(e)),i.done()}),(function(t){i.to(a+new _t(t))})),this._rememberMorpher(t,i),this},_queueObject(t,e){if(this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);return this.queue((function(){i.from(this.element()[t]())}),(function(e){return this.element()[t](i.at(e)),i.done()})),this._rememberMorpher(t,i),this},_queueNumber(t,e){return this._queueObject(t,new _t(e))},cx(t){return this._queueNumber(\"cx\",t)},cy(t){return this._queueNumber(\"cy\",t)},move(t,e){return this.x(t).y(e)},amove(t,e){return this.ax(t).ay(e)},center(t,e){return this.cx(t).cy(e)},size(t,e){let i;return t&&e||(i=this._element.bbox()),t||(t=i.width/i.height*e),e||(e=i.height/i.width*t),this.width(t).height(e)},width(t){return this._queueNumber(\"width\",t)},height(t){return this._queueNumber(\"height\",t)},plot(t,e,i,a){if(4===arguments.length)return this.plot([t,e,i,a]);if(this._tryRetarget(\"plot\",t))return this;const s=new He(this._stepper).type(this._element.MorphArray).to(t);return this.queue((function(){s.from(this._element.array())}),(function(t){return this._element.plot(s.at(t)),s.done()})),this._rememberMorpher(\"plot\",s),this},leading(t){return this._queueNumber(\"leading\",t)},viewbox(t,e,i,a){return this._queueObject(\"viewbox\",new kt(t,e,i,a))},update(t){return\"object\"!=typeof t?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",t.offset),this)}}),Q(Qe,{rx:Zt,ry:$t,from:ne,to:oe}),q(Qe,\"Runner\");class si extends Vt{constructor(t,e=t){super(G(\"svg\",t),e),this.namespace()}defs(){return this.isRoot()?V(this.node.querySelector(\"defs\"))||this.put(new Ut):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof O.window.SVGElement)&&\"#document-fragment\"!==this.node.parentNode.nodeName}namespace(){return this.isRoot()?this.attr({xmlns:E,version:\"1.1\"}).attr(\"xmlns:xlink\",H,Y):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr(\"xmlns:xlink\",null,Y).attr(\"xmlns:svgjs\",null,Y)}root(){return this.isRoot()?this:super.root()}}A({Container:{nested:K((function(){return this.put(new si)}))}}),q(si,\"Svg\",!0);let ri=class extends Vt{constructor(t,e=t){super(G(\"symbol\",t),e)}};A({Container:{symbol:K((function(){return this.put(new ri)}))}}),q(ri,\"Symbol\");var ni=Object.freeze({__proto__:null,amove:function(t,e){return this.ax(t).ay(e)},ax:function(t){return this.attr(\"x\",t)},ay:function(t){return this.attr(\"y\",t)},build:function(t){return this._build=!!t,this},center:function(t,e,i=this.bbox()){return this.cx(t,i).cy(e,i)},cx:function(t,e=this.bbox()){return null==t?e.cx:this.attr(\"x\",this.attr(\"x\")+t-e.cx)},cy:function(t,e=this.bbox()){return null==t?e.cy:this.attr(\"y\",this.attr(\"y\")+t-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(t,e,i=this.bbox()){return this.x(t,i).y(e,i)},plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(O.document.createTextNode(t)),this},x:function(t,e=this.bbox()){return null==t?e.x:this.attr(\"x\",this.attr(\"x\")+t-e.x)},y:function(t,e=this.bbox()){return null==t?e.y:this.attr(\"y\",this.attr(\"y\")+t-e.y)}});class oi extends qt{constructor(t,e=t){super(G(\"text\",t),e),this.dom.leading=this.dom.leading??new _t(1.3),this._rebuild=!0,this._build=!1}leading(t){return null==t?this.dom.leading:(this.dom.leading=new _t(t),this.rebuild())}rebuild(t){if(\"boolean\"==typeof t&&(this._rebuild=t),this._rebuild){const t=this;let e=0;const i=this.dom.leading;this.each((function(a){if(X(this.node))return;const s=O.window.getComputedStyle(this.node).getPropertyValue(\"font-size\"),r=i*new _t(s);this.dom.newLined&&(this.attr(\"x\",t.attr(\"x\")),\"\\n\"===this.text()?e+=r:(this.attr(\"dy\",a?r+e:0),e=0))})),this.fire(\"rebuild\")}return this}setData(t){return this.dom=t,this.dom.leading=new _t(t.leading||1.3),this}writeDataToDom(){return R(this,this.dom,{leading:1.3}),this}text(t){if(void 0===t){const e=this.node.childNodes;let i=0;t=\"\";for(let a=0,s=e.length;a{let a;try{a=i.node instanceof F().SVGSVGElement?new kt(i.attr([\"x\",\"y\",\"width\",\"height\"])):i.bbox()}catch(t){return}const s=new vt(i),r=s.translate(t,e).transform(s.inverse()),n=new bt(a.x,a.y).transform(r);i.move(n.x,n.y)})),this},dx:function(t){return this.dmove(t,0)},dy:function(t){return this.dmove(0,t)},height:function(t,e=this.bbox()){return null==t?e.height:this.size(e.width,t,e)},move:function(t=0,e=0,i=this.bbox()){const a=t-i.x,s=e-i.y;return this.dmove(a,s)},size:function(t,e,i=this.bbox()){const a=I(this,t,e,i),s=a.width/i.width,r=a.height/i.height;return this.children().forEach((t=>{const e=new bt(i).transform(new vt(t).inverse());t.scale(s,r,e.x,e.y)})),this},width:function(t,e=this.bbox()){return null==t?e.width:this.size(t,e.height,e)},x:function(t,e=this.bbox()){return null==t?e.x:this.move(t,e.y,e)},y:function(t,e=this.bbox()){return null==t?e.y:this.move(e.x,t,e)}});class gi extends Vt{constructor(t,e=t){super(G(\"g\",t),e)}}Q(gi,ui),A({Container:{group:K((function(){return this.put(new gi)}))}}),q(gi,\"G\");class pi extends Vt{constructor(t,e=t){super(G(\"a\",t),e)}target(t){return this.attr(\"target\",t)}to(t){return this.attr(\"href\",t,H)}}Q(pi,ui),A({Container:{link:K((function(t){return this.put(new pi).to(t)}))},Element:{unlink(){const t=this.linker();if(!t)return this;const e=t.parent();if(!e)return this.remove();const i=e.index(t);return e.add(this,i),t.remove(),this},linkTo(t){let e=this.linker();return e||(e=new pi,this.wrap(e)),\"function\"==typeof t?t.call(e,e):e.to(t),this},linker(){const t=this.parent();return t&&\"a\"===t.node.nodeName.toLowerCase()?t:null}}}),q(pi,\"A\");class fi extends Vt{constructor(t,e=t){super(G(\"mask\",t),e)}remove(){return this.targets().forEach((function(t){t.unmask()})),super.remove()}targets(){return Lt(\"svg [mask*=\"+this.id()+\"]\")}}A({Container:{mask:K((function(){return this.defs().put(new fi)}))},Element:{masker(){return this.reference(\"mask\")},maskWith(t){const e=t instanceof fi?t:this.parent().mask().add(t);return this.attr(\"mask\",\"url(#\"+e.id()+\")\")},unmask(){return this.attr(\"mask\",null)}}}),q(fi,\"Mask\");class xi extends Gt{constructor(t,e=t){super(G(\"stop\",t),e)}update(t){return(\"number\"==typeof t||t instanceof _t)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",new _t(t.offset)),this}}A({Gradient:{stop:function(t,e,i){return this.put(new xi).update(t,e,i)}}}),q(xi,\"Stop\");class bi extends Gt{constructor(t,e=t){super(G(\"style\",t),e)}addText(t=\"\"){return this.node.textContent+=t,this}font(t,e,i={}){return this.rule(\"@font-face\",{fontFamily:t,src:e,...i})}rule(t,e){return this.addText(function(t,e){if(!t)return\"\";if(!e)return t;let i=t+\"{\";for(const t in e)i+=t.replace(/([A-Z])/g,(function(t,e){return\"-\"+e.toLowerCase()}))+\":\"+e[t]+\";\";return i+=\"}\",i}(t,e))}}A(\"Dom\",{style(t,e){return this.put(new bi).rule(t,e)},fontface(t,e,i){return this.put(new bi).font(t,e,i)}}),q(bi,\"Style\");class mi extends oi{constructor(t,e=t){super(G(\"textPath\",t),e)}array(){const t=this.track();return t?t.array():null}plot(t){const e=this.track();let i=null;return e&&(i=e.plot(t)),null==t?i:this}track(){return this.reference(\"href\")}}A({Container:{textPath:K((function(t,e){return t instanceof oi||(t=this.text(t)),t.path(e)}))},Text:{path:K((function(t,e=!0){const i=new mi;let a;if(t instanceof We||(t=this.defs().path(t)),i.attr(\"href\",\"#\"+t,H),e)for(;a=this.node.firstChild;)i.node.appendChild(a);return this.put(i)})),textPath(){return this.findOne(\"textPath\")}},Path:{text:K((function(t){return t instanceof oi||(t=(new oi).addTo(this.parent()).text(t)),t.path(this)})),targets(){return Lt(\"svg textPath\").filter((t=>(t.attr(\"href\")||\"\").includes(this.id())))}}}),mi.prototype.MorphArray=Ee,q(mi,\"TextPath\");class vi extends qt{constructor(t,e=t){super(G(\"use\",t),e)}use(t,e){return this.attr(\"href\",(e||\"\")+\"#\"+t,H)}}A({Container:{use:K((function(t,e){return this.put(new vi).use(t,e)}))}}),q(vi,\"Use\");const yi=B;Q([si,ri,de,ce,be],C(\"viewbox\")),Q([xe,je,Ge,We],C(\"marker\")),Q(oi,C(\"Text\")),Q(We,C(\"Path\")),Q(Ut,C(\"Defs\")),Q([oi,li],C(\"Tspan\")),Q([Ve,se,he,Qe],C(\"radius\")),Q(Rt,C(\"EventTarget\")),Q(Bt,C(\"Dom\")),Q(Gt,C(\"Element\")),Q(qt,C(\"Shape\")),Q([Vt,re],C(\"Container\")),Q(he,C(\"Gradient\")),Q(Qe,C(\"Runner\")),Ct.extend([...new Set(k)]),function(t=[]){Ne.push(...[].concat(t))}([_t,xt,kt,vt,Dt,ge,Ee,bt]),Q(Ne,{to(t){return(new He).type(this.constructor).from(this.toArray()).to(t)},fromArray(t){return this.init(t),this},toConsumable(){return this.toArray()},morph(t,e,i,a,s){return this.fromArray(t.map((function(t,r){return a.step(t,e[r],i,s[r],s)})))}});class wi extends Gt{constructor(t){super(G(\"filter\",t),t),this.$source=\"SourceGraphic\",this.$sourceAlpha=\"SourceAlpha\",this.$background=\"BackgroundImage\",this.$backgroundAlpha=\"BackgroundAlpha\",this.$fill=\"FillPaint\",this.$stroke=\"StrokePaint\",this.$autoSetIn=!0}put(t,e){return!(t=super.put(t,e)).attr(\"in\")&&this.$autoSetIn&&t.attr(\"in\",this.$source),t.attr(\"result\")||t.attr(\"result\",t.id()),t}remove(){return this.targets().each(\"unfilter\"),super.remove()}targets(){return Lt('svg [filter*=\"'+this.id()+'\"]')}toString(){return\"url(#\"+this.id()+\")\"}}class ki extends Gt{constructor(t,e){super(t,e),this.result(this.id())}in(t){if(null==t){const t=this.attr(\"in\");return this.parent()&&this.parent().find(`[result=\"${t}\"]`)[0]||t}return this.attr(\"in\",t)}result(t){return this.attr(\"result\",t)}toString(){return this.result()}}const Ai=t=>function(...e){for(let i=t.length;i--;)null!=e[i]&&this.attr(t[i],e[i])},Ci={blend:Ai([\"in\",\"in2\",\"mode\"]),colorMatrix:Ai([\"type\",\"values\"]),composite:Ai([\"in\",\"in2\",\"operator\"]),convolveMatrix:function(t){t=new Dt(t).toString(),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},diffuseLighting:Ai([\"surfaceScale\",\"lightingColor\",\"diffuseConstant\",\"kernelUnitLength\"]),displacementMap:Ai([\"in\",\"in2\",\"scale\",\"xChannelSelector\",\"yChannelSelector\"]),dropShadow:Ai([\"in\",\"dx\",\"dy\",\"stdDeviation\"]),flood:Ai([\"flood-color\",\"flood-opacity\"]),gaussianBlur:function(t=0,e=t){this.attr(\"stdDeviation\",t+\" \"+e)},image:function(t){this.attr(\"href\",t,H)},morphology:Ai([\"operator\",\"radius\"]),offset:Ai([\"dx\",\"dy\"]),specularLighting:Ai([\"surfaceScale\",\"lightingColor\",\"diffuseConstant\",\"specularExponent\",\"kernelUnitLength\"]),tile:Ai([]),turbulence:Ai([\"baseFrequency\",\"numOctaves\",\"seed\",\"stitchTiles\",\"type\"])};[\"blend\",\"colorMatrix\",\"componentTransfer\",\"composite\",\"convolveMatrix\",\"diffuseLighting\",\"displacementMap\",\"dropShadow\",\"flood\",\"gaussianBlur\",\"image\",\"merge\",\"morphology\",\"offset\",\"specularLighting\",\"tile\",\"turbulence\"].forEach((t=>{const e=P(t),i=Ci[t];wi[e+\"Effect\"]=class extends ki{constructor(t){super(G(\"fe\"+e,t),t)}update(t){return i.apply(this,t),this}},wi.prototype[t]=K((function(t,...i){const a=new wi[e+\"Effect\"];return null==t?this.put(a):(\"function\"==typeof t?t.call(a,a):i.unshift(t),this.put(a).update(i))}))})),Q(wi,{merge(t){const e=this.put(new wi.MergeEffect);if(\"function\"==typeof t)return t.call(e,e),e;return(t instanceof Array?t:[...arguments]).forEach((t=>{t instanceof wi.MergeNode?e.put(t):e.mergeNode(t)})),e},componentTransfer(t={}){const e=this.put(new wi.ComponentTransferEffect);if(\"function\"==typeof t)return t.call(e,e),e;if(!(t.r||t.g||t.b||t.a)){t={r:t,g:t,b:t,a:t}}for(const i in t)e.add(new(wi[\"Func\"+i.toUpperCase()])(t[i]));return e}});[\"distantLight\",\"pointLight\",\"spotLight\",\"mergeNode\",\"FuncR\",\"FuncG\",\"FuncB\",\"FuncA\"].forEach((t=>{const e=P(t);wi[e]=class extends ki{constructor(t){super(G(\"fe\"+e,t),t)}}}));[\"funcR\",\"funcG\",\"funcB\",\"funcA\"].forEach((function(t){const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.ComponentTransferEffect.prototype[t]=i}));[\"distantLight\",\"pointLight\",\"spotLight\"].forEach((t=>{const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.DiffuseLightingEffect.prototype[t]=i,wi.SpecularLightingEffect.prototype[t]=i})),Q(wi.MergeEffect,{mergeNode(t){return this.put(new wi.MergeNode).attr(\"in\",t)}}),Q(Ut,{filter:function(t){const e=this.put(new wi);return\"function\"==typeof t&&t.call(e,e),e}}),Q(Vt,{filter:function(t){return this.defs().filter(t)}}),Q(Gt,{filterWith:function(t){const e=t instanceof wi?t:this.defs().filter(t);return this.attr(\"filter\",e)},unfilter:function(t){return this.attr(\"filter\",null)},filterer(){return this.reference(\"filter\")}});const Si={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},diffuseLighting:function(t,e,i,a){return this.parent()&&this.parent().diffuseLighting(t,i,a).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},dropShadow:function(t,e,i){return this.parent()&&this.parent().dropShadow(this,t,e,i).in(this)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(t){return t=t instanceof Array?t:[...t],this.parent()&&this.parent().merge(this,...t)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},specularLighting:function(t,e,i,a,s){return this.parent()&&this.parent().specularLighting(t,i,a,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};Q(ki,Si),Q(wi.MergeEffect,{in:function(t){return t instanceof wi.MergeNode?this.add(t,0):this.add((new wi.MergeNode).in(t),0),this}}),Q([wi.CompositeEffect,wi.BlendEffect,wi.DisplacementMapEffect],{in2:function(t){if(null==t){const t=this.attr(\"in2\");return this.parent()&&this.parent().find(`[result=\"${t}\"]`)[0]||t}return this.attr(\"in2\",t)}}),wi.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Li=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new wi).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"applyFilter\",value:function(t,e,i){var a,s=this,r=this.w;if(t.unfilter(!0),\"none\"!==i){var n,o,l=r.config.chart.dropShadow,h=\"lighten\"===i?2:.3;if(t.filterWith((function(t){t.colorMatrix({type:\"matrix\",values:\"\\n \".concat(h,\" 0 0 0 0\\n 0 \").concat(h,\" 0 0 0\\n 0 0 \").concat(h,\" 0 0\\n 0 0 0 1 0\\n \"),in:\"SourceGraphic\",result:\"brightness\"}),l.enabled&&s.addShadow(t,e,l,\"brightness\")})),!l.noUserSpaceOnUse)null===(n=t.filterer())||void 0===n||null===(o=n.node)||void 0===o||o.setAttribute(\"filterUnits\",\"userSpaceOnUse\");this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node)}else this.getDefaultFilter(t,e)}},{key:\"addShadow\",value:function(t,e,i,a){var s,r=this.w,n=i.blur,o=i.top,l=i.left,h=i.color,c=i.opacity;if(h=Array.isArray(h)?h[e]:h,(null===(s=r.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.length)>0&&-1===r.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;t.offset({in:a,dx:l,dy:o,result:\"offset\"}),t.gaussianBlur({in:\"offset\",stdDeviation:n,result:\"blur\"}),t.flood({\"flood-color\":h,\"flood-opacity\":c,result:\"flood\"}),t.composite({in:\"flood\",in2:\"blur\",operator:\"in\",result:\"shadow\"}),t.merge([\"shadow\",a])}},{key:\"dropShadow\",value:function(t,e){var i,a,s,r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=this.w;if(t.unfilter(!0),v.isMsEdge()&&\"radialBar\"===o.config.chart.type)return t;if((null===(i=o.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(s=o.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.indexOf(n)))return t;return t.filterWith((function(t){r.addShadow(t,n,e,\"SourceGraphic\")})),e.noUserSpaceOnUse||t.filterer().node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type)}}},{key:\"_scaleFilterSize\",value:function(t){if(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}}]),t}(),Mi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,n=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/n))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var n=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),o=[];if(n.length>1){var l=r(n[0]),h=null;\"Z\"==n[n.length-1][0]&&n[0].length>2&&(h=[\"L\",l.x,l.y],n[n.length-1]=h),o.push(n[0]);for(var c=1;c2&&\"L\"==u[0]&&g.length>2&&\"L\"==g[0]){var p,f,x=r(d),b=r(u),m=r(g);p=i(b,x,e),f=i(b,m,e),s(u,p),u.origPoint=b,o.push(u);var v=a(p,b,.5),y=a(b,f,.5),w=[\"C\",v.x,v.y,y.x,y.y,f.x,f.y];w.origPoint=b,o.push(w)}else o.push(u)}if(h){var k=r(o[o.length-1]);o.push([\"Z\"]),s(o[0],k)}}else o=n;return o.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":n,\"stroke-linecap\":o})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,\"stroke-width\":null!==o?o:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,n=void 0===r?1:r,o=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,u=t.classes,g=t.strokeLinecap,p=void 0===g?null:g,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":p,\"stroke-width\":n,\"stroke-dasharray\":x,class:u})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var n=[\"C\",t,e,i,a,s,r].join(\" \");return n}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,n){var o=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(o=\"a\");var l=[o,t,e,i,a,s,r,n].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,n=t.stroke,o=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,d=t.initialSpeed,g=t.dataChangeSpeed,p=t.className,f=t.chartType,x=t.shouldClipToGrid,b=void 0===x||x,m=t.bindEventsOnPaths,v=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,C=new Li(this.ctx),S=new y(this.ctx),L=this.w.config.chart.animations.enabled,M=L&&this.w.config.chart.animations.dynamicAnimation.enabled,P=!!(L&&!A.globals.resized||M&&A.globals.dataChanged&&A.globals.shouldAnimate);P?e=s:(e=r,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[a]:A.config.stroke.dashArray;var z=this.drawPath({d:e,stroke:n,strokeWidth:o,fill:h,fillOpacity:1,classes:p,strokeLinecap:l,strokeDashArray:T});z.attr(\"index\",a),b&&(\"bar\"===f&&!A.globals.isHorizontal||A.globals.comboCharts?z.attr({\"clip-path\":\"url(#gridRectBarMask\".concat(A.globals.cuid,\")\")}):z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")})),A.config.chart.dropShadow.enabled&&k&&C.dropShadow(z,A.config.chart.dropShadow,a),v&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:r,pathFrom:s});var X={el:z,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:o,delay:c};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||S.showDelayedElements():S.animatePathsGradually(u(u({},X),{},{speed:d})),A.globals.dataChanged&&M&&P&&S.animatePathsGradually(u(u({},X),{},{speed:g})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=v.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=v.hexToRgba(i,s));var d=0,u=1,g=1,p=null;null!==o&&(d=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,g=void 0!==o[2]?o[2]/100:1,p=void 0!==o[3]?o[3]/100:null);var f=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=l&&0!==l.length?c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.stop(e.offset/100,e.color,e.opacity)}))})):c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){t.stop(d,e,a),t.stop(u,i,s),t.stop(g,i,s),null!==p&&t.stop(p,e,a)})),f){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:x,cy:b,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),n=r.width/e.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.find(\".apexcharts-series path:not(.apexcharts-decoration-element)\"),h=i.globals.dom.Paper.find(\".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)\"),c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),n=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===n){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&n.attr(\"transform\",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),Pi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var n=[];e.yaxis.forEach((function(t,a){var o=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,n){if(e.name===t){var l=n;a===n||r?!r||s.indexOf(n)>-1?i[a].push([a,n]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[n].push([n,a]),l=a),o=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}o||n.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var o=e.yaxis.length-1,l=0;l0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(t.config.markers.hover.size>0?e=t.config.markers.hover.size:e+=t.config.markers.hover.sizeOffset),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][n]0){var g=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/n[e]};if(r.isMultipleYAxis){l=[];for(var p=0;p0&&e.forEach((function(e){var n=[],o=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(n.push(t.series[a]),o.push(i))})),n.length>0&&r.push(a.draw(n,i,o))})),r}}],[{key:\"checkComboSeries\",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e=\"line\"),t.length&&void 0!==t[0].type&&t.forEach((function(t){\"bar\"!==t.type&&\"column\"!==t.type&&\"candlestick\"!==t.type&&\"boxPlot\"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,n,o,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(n=r.annotations)&&void 0!==n&&n.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(o=e)&&void 0!==o&&null!==(l=o.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),Ii=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4);var n=\"top\"===t.label.position?r.width:-r.width;s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+n);var o=this.annoCtx.graphics.rotateAroundCenter(s),l=o.x,h=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(l,\" \").concat(h,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||!e.label.text||!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding,n=r.left,o=r.right,l=r.top,h=r.bottom;if(\"vertical\"===e.label.orientation){var c=[n,o,l,h];l=c[0],h=c[1],n=c[2],o=c[3]}var d=s.left-a.left-n,u=s.top-a.top-l,g=this.annoCtx.graphics.drawRect(d-i.globals.barPadForNumericAxis,u,s.width+n+o,s.height+l+h,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&g.node.classList.add(e.id),g}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var n=r.parentNode,o=t.addBackgroundToAnno(r,i);o&&(n.insertBefore(o.node,r),i.label.mouseEnter&&o.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&o.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&o.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.forEach((function(t,e){return i(t,e,\"xaxis\")})),e.config.annotations.yaxis.forEach((function(t,e){return i(t,e,\"yaxis\")})),e.config.annotations.points.forEach((function(t,e){return i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=this.w,s=\"y1\"===t?e.y:e.y2,r=!1;if(this.annoCtx.invertAxis){var n=a.config.xaxis.convertedCatToNumeric?a.globals.categoryLabels:a.globals.labels,o=n.indexOf(s),l=a.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\".concat(o+1,\")\"));i=l?parseFloat(l.getAttribute(\"y\")):(a.globals.gridHeight/n.length-1)*(o+1)-a.globals.barHeight,void 0!==e.seriesIndex&&a.globals.barHeight&&(i-=a.globals.barHeight/2*(a.globals.series.length-1)-a.globals.barHeight*e.seriesIndex)}else{var h,c=a.globals.seriesYAxisMap[e.yAxisIndex][0],d=a.config.yaxis[e.yAxisIndex].logarithmic?new Pi(this.annoCtx.ctx).getLogVal(a.config.yaxis[e.yAxisIndex].logBase,s,c)/a.globals.yLogRatio[c]:(s-a.globals.minYArr[c])/(a.globals.yRange[c]/a.globals.gridHeight);i=a.globals.gridHeight-Math.min(Math.max(d,0),a.globals.gridHeight),r=d>a.globals.gridHeight||d<0,!e.marker||void 0!==e.y&&null!==e.y||(i=0),null!==(h=a.config.yaxis[e.yAxisIndex])&&void 0!==h&&h.reversed&&(i=d)}return\"string\"==typeof s&&s.includes(\"px\")&&(i=parseFloat(s)),{yP:i,clipped:r}}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=\"x1\"===t?e.x:e.x2,s=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=!1,l=this.annoCtx.inversedReversedAxis?(r-a)/(n/i.globals.gridWidth):(a-s)/(n/i.globals.gridWidth);return\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(l=this.getStringX(a)),\"string\"==typeof a&&a.includes(\"px\")&&(l=parseFloat(a)),null==a&&e.marker&&(l=i.globals.gridWidth),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(l-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*e.seriesIndex),l>i.globals.gridWidth?(l=i.globals.gridWidth,o=!0):l<0&&(l=0,o=!0),{x:l,clipped:o}}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.map((function(t){return Array.isArray(t)?t.join(\" \"):t})).indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\".concat(a+1,\")\"));return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),Ti=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),n=r.x,o=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(v.isNumber(n)){if(null===t.x2||void 0===t.x2){if(!o){var d=this.annoCtx.graphics.drawLine(n+t.offsetX,0+t.offsetY,n+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var u=this.helpers.getX1X2(\"x2\",t);if(a=u.x,l=u.clipped,!o||!l){if(a12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(u))).replace(/(^|[^\\\\])H/g,\"$1\"+u)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])h/g,\"$1\"+g);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])m/g,\"$1\"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var m=u<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+m)).replace(/(^|[^\\\\])T/g,\"$1\"+m.charAt(0));var v=m.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+v)).replace(/(^|[^\\\\])t/g,\"$1\"+v.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),n=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),o=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=v.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),Xi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return s(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new zi(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;if(v.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(v.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(v.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),Ri=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=o.globals.xLabelFormatter,d=o.config.xaxis.labels.formatter,u=!1,g=new Xi(this.ctx),p=l;n&&(h=g.xLabelFormat(c,l,p,{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),u=x===f,i=e[a].position,h=e[a].value):\"datetime\"===o.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new Mi(this.ctx),m={};m=o.globals.rotateXLabels&&n?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(o.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var v=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&v)&&(h=\"\"),{x:i,text:h,textRect:m,isBold:u}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];e.xa.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:\"isYAxisHidden\",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new Pi(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:\"getYAxisForeColor\",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:\"drawYAxisTicks\",value:function(t,e,i,a,s,r,n){var o=this.w,l=new Mi(this.ctx),h=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?h=0:\"heatmap\"===o.config.chart.type&&(h+=r/2),a.show&&e>0){!0===o.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);n.add(d),h+=r}}}}]),t}(),Ei=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx),this.axesUtils=new Ri(this.annoCtx)}return s(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,n=this.helpers.getY1Y2(\"y1\",t),o=n.yP,l=n.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var u=this.annoCtx.graphics.drawLine(0+t.offsetX,o+t.offsetY,this._getYAxisAnnotationWidth(t),o+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(u.node),t.id&&u.node.classList.add(t.id)}}else{if(a=(n=this.helpers.getY1Y2(\"y2\",t)).yP,h=n.clipped,a>o){var g=o;o=a,a=g}if(!l||!h){c=!0;var p=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);p.node.classList.add(\"apexcharts-annotation-rect\"),p.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(c){var f=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:f+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),Yi=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:\"addPointAnnotation\",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2(\"x1\",t),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2(\"y1\",t)).yP,o=a.clipped;if(v.isNumber(s)&&!o&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,n+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:\"\",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:n+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var u=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});u.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(n+t.customSVG.offsetY,\")\")}),u.node.innerHTML=t.customSVG.SVG,e.appendChild(u.node)}if(t.image.path){var g=t.image.width?t.image.width:20,p=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-g/2,y:n+t.image.offsetY-p/2,width:g,height:p,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&h.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener(\"click\",t.click.bind(this,t))}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var Hi={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},Oi=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"\",locales:[Hi],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.8}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:\"lighten\"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\"}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),Fi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new Mi(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new Ii(this),this.xAxisAnnotations=new Ti(this),this.yAxisAnnotations=new Ei(this),this.pointsAnnotations=new Yi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts&&t.globals.dataPoints){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],n=[i.node,e.node,a.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(r[o]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&n[o].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,u=t.borderWidth,g=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,m=t.paddingLeft,v=void 0===m?4:m,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,C=t.paddingTop,S=void 0===C?2:C,L=this.w,M=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:o||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:n||L.config.chart.foreColor,cssClass:c}),P=L.globals.dom.baseEl.querySelector(b);P&&P.appendChild(M.node);var I=M.bbox();if(s){var T=this.graphics.drawRect(I.x-v,I.y-S,I.width+v+w,I.height+A+S,p,d||\"transparent\",1,u,f,g);P.insertBefore(T.node,M.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,n=t.y,o=void 0===n?0:n,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,u=t.appendTo,g=void 0===u?\".apexcharts-svg\":u,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,o);var f=i.globals.dom.baseEl.querySelector(g);return f&&f.appendChild(p.node),p}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,n=a,o=n.w,l=o.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new Oi,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),u=v.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(u,l,h);break;case\"yaxis\":this.addYaxisAnnotation(u,l,h);break;case\"point\":this.addPointAnnotation(u,l,h)}var g=o.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),p=this.helpers.addBackgroundToAnno(g,u);return p&&l.insertBefore(p.node,g),i&&o.globals.memory.methodsToExec.push({context:n,id:u.id?u.id:v.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)\"addText\"!==e.globals.memory.methodsToExec[a].label&&\"addAnnotation\"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=v.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),Di=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,n=t.y1,o=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],u=l.config.series[s].name?l.config.series[s].name:\"\",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof p&&(u=p(u,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new Xi(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(a).formatDate,w:l}));\"function\"==typeof g&&(d=g(d,f)),Number.isFinite(n)&&Number.isFinite(o)&&(h=n,c=o);var x=\"\",b=\"\",m=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var v=new zi(a);x=v.formatDate(v.getDate(h),l.config.tooltip.x.format),b=v.formatDate(v.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:m,seriesName:u}},_i=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,n=t.seriesIndex,o=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(n);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[n][o]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'
'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[n].type||\"rangeBar\"===t.w.config.series[n].type?c:\"\".concat(h,\"\"):c)+\"
\"},Ni=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return v.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"slope\",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+\": \"+t:\"\"},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:\"top\",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:\"straight\"}}}},{key:\"bar\",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),u(u({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:7,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=Di(u(u({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,n=e.endVal;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t):function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}}}}},{key:\"brush\",value:function(t){return v.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return u(u({},t),{},{plotOptions:u(u({},t.plotOptions),{},{bar:u(u({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return v.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return v.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\"}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],n=t.globals.seriesCandleH[e][i],o=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+n+\"
\"+(o?\"
\".concat(a[2],': ')+o+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),Wi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new Oi,s=new Ni(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&\"object\"===b(i)){var o,l,h,c,d,u,g,p,f,x,m={};m=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(o=i.plotOptions)&&void 0!==o&&null!==(l=o.bar)&&void 0!==l&&l.isFunnel&&(m=s.funnel()),i.chart.stacked&&\"bar\"===i.chart.type&&(m=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(m=s.brush(m)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(m=s.slope()),i.chart.stacked&&\"100%\"===i.chart.stackType&&(i=s.stacked100(i)),null!==(u=i.plotOptions)&&void 0!==u&&null!==(g=u.bar)&&void 0!==g&&g.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(p=(i=this.checkForCatToNumericXAxis(this.chartType,m,i)).chart.sparkline)&&void 0!==p&&p.enabled||null!==(f=window.Apex.chart)&&void 0!==f&&null!==(x=f.sparkline)&&void 0!==x&&x.enabled)&&(m=s.sparkline(m)),n=v.extend(r,m)}var y=v.extend(n,window.Apex);return r=v.extend(y,i),r=this.handleUserInputErrors(r)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new Ni(i),n=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),o=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return n||o||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new Oi;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=v.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[v.extend(i.yAxis,t.yaxis)]:t.yaxis=v.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=v.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new Oi;return t.annotations.yaxis=v.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new Oi;return t.annotations.xaxis=v.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new Oi;return t.annotations.points=v.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),Bi=function(){function t(){i(this,t)}return s(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=v.extend({},t),e.initialSeries=v.clone(t.series),e.lastXAxis=v.clone(e.initialConfig.xaxis),e.lastYAxis=v.clone(e.initialConfig.yaxis),e}}]),t}(),Gi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(){var t=new Wi(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Bi).init(t)}}}]),t}(),ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=r+1,l=r):(o=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");Mi.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:o+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",n),Mi.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:o+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"computeColorStops\",value:function(t,e){var i,a=this.w,s=null,n=null,o=r(t);try{for(o.s();!(i=o.n()).done;){var l=i.value;l>=e.threshold?(null===s||l>s)&&(s=l):(null===n||l-1?x=v.getOpacityFromRGBA(c):m=v.hexToRgba(v.rgb2hex(c),x),t.opacity&&(x=t.opacity),\"pattern\"===p&&(n=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:m})),b){var y=f(l.fill.gradient.colorStops)||[],w=l.fill.gradient.type;h&&(y[this.seriesIndex]=this.computeColorStops(s.globals.series[this.seriesIndex],l.plotOptions.line.colors),w=\"vertical\"),o=this.handleGradientFill({type:w,fillConfig:t.fillConfig,fillColor:c,fillOpacity:x,colorStops:y,i:this.seriesIndex})}if(\"image\"===p){var k=l.fill.image.src,A=t.patternID?t.patternID:\"\",C=\"pattern\".concat(s.globals.cuid).concat(t.seriesNumber+1).concat(A);-1===this.patternIDs.indexOf(C)&&(this.clippedImgArea({opacity:x,image:Array.isArray(k)?t.seriesNumber-1&&(p=v.getOpacityFromRGBA(g));var f=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[n]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)d=\"dark\"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?v.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?v.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var x=o.gradient.gradientToColors[l.seriesNumber];d=x,x.indexOf(\"rgba\")>-1&&(f=v.getOpacityFromRGBA(x))}else d=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(d=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=d,d=b}return g.indexOf(\"rgb\")>-1&&(g=v.rgb2hex(g)),d.indexOf(\"rgb\")>-1&&(d=v.rgb2hex(d)),h.drawGradient(e,g,d,p,f,l.size,o.gradient.stops,r,n)}}]),t}(),Vi=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],r=this.w,n=e,o=t,l=null,h=new Mi(this.ctx),c=r.config.markers.discrete&&r.config.markers.discrete.length;if(Array.isArray(o.x))for(var d=0;d0:r.config.markers.size>0)||s||c){p||(f+=\" w\".concat(v.randomId()));var x=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:g});if(r.config.series[n].data[g]&&(r.config.series[n].data[g].fillColor&&(x.pointFillColor=r.config.series[n].data[g].fillColor),r.config.series[n].data[g].strokeColor&&(x.pointStrokeColor=r.config.series[n].data[g].strokeColor)),void 0!==a&&(x.pSize=a),(o.x[d]<-r.globals.markers.largestSize||o.x[d]>r.globals.gridWidth+r.globals.markers.largestSize||o.y[d]<-r.globals.markers.largestSize||o.y[d]>r.globals.gridHeight+r.globals.markers.largestSize)&&(x.pSize=0),!p)(r.globals.markers.size[e]>0||s||c)&&!l&&(l=h.group({class:s||c?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(r.globals.cuid,\")\")),(u=h.drawMarker(o.x[d],o.y[d],x)).attr(\"rel\",g),u.attr(\"j\",g),u.attr(\"index\",e),u.node.setAttribute(\"default-marker-size\",x.pSize),new Li(this.ctx).setSelectionFilter(u,e,g),this.addEvents(u),l&&l.add(u)}else void 0===r.globals.pointsArray[e]&&(r.globals.pointsArray[e]=[]),r.globals.pointsArray[e].push([o.x[d],o.y[d]])}return l}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,n=void 0===r?null:r,o=t.size,l=void 0===o?null:o,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,u=this.getMarkerStyle(i),g=null===l?d.globals.markers.size[i]:l,p=d.config.markers;return null!==s&&p.discrete.length&&p.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(u.pointStrokeColor=t.strokeColor,u.pointFillColor=t.fillColor,g=t.size,u.pointShape=t.shape)})),{pSize:null===n?g:n,pRadius:null!==n?n:p.radius,pointStrokeWidth:null!==c?c:Array.isArray(p.strokeWidth)?p.strokeWidth[i]:p.strokeWidth,pointStrokeColor:u.pointStrokeColor,pointFillColor:u.pointFillColor,shape:u.pointShape||(Array.isArray(p.shape)?p.shape[i]:p.shape),class:e,pointStrokeOpacity:Array.isArray(p.strokeOpacity)?p.strokeOpacity[i]:p.strokeOpacity,pointStrokeDashArray:Array.isArray(p.strokeDashArray)?p.strokeDashArray[i]:p.strokeDashArray,pointFillOpacity:Array.isArray(p.fillOpacity)?p.fillOpacity[i]:p.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new Mi(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),Ui=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(n.x))for(var c=0;cp.maxBubbleRadius&&(g=p.maxBubbleRadius)}var f=n.x[c],x=n.y[c];if(g=g||0,null!==x&&void 0!==a.globals.series[r][d]||(u=!1),u){var b=this.drawPoint(f,x,g,r,d,e);h.add(b)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r){var n=this.w,o=a,l=new y(this.ctx),h=new Li(this.ctx),c=new ji(this.ctx),d=new Vi(this.ctx),u=new Mi(this.ctx),g=d.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:o,dataPointIndex:s,radius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[a]&&\"bubble\"===n.config.series[a].type?i:null}),p=c.fillPath({seriesNumber:a,dataPointIndex:s,color:g.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[a][r]}),f=u.drawMarker(t,e,g);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(p=n.config.series[o].data[s].fillColor),f.attr({fill:p}),n.config.chart.dropShadow.enabled){var x=n.config.chart.dropShadow;h.dropShadow(f,x,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var b=n.config.chart.animations.speed;l.animateMarker(f,b,n.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(f)}),100)}))}return f.attr({rel:s,j:s,index:a,\"default-marker-size\":g.pSize}),h.setSelectionFilter(f,a,s),d.addEvents(f),f.node.classList.add(\"apexcharts-marker\"),f}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),qi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"dataLabelsCorrection\",value:function(t,e,i,a,s,r,n){var o=this.w,l=!1,h=new Mi(this.ctx).getTextRects(i,n),c=h.width,d=h.height;e<0&&(e=0),e>o.globals.gridHeight+d&&(e=o.globals.gridHeight+d/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var u=o.globals.dataLabelsRects[a].length-2,g=void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==o.globals.dataLabelsRects[a][u]){var p=o.globals.dataLabelsRects[a][g];(t>p.x+p.width||e>p.y+p.height||e+de.globals.gridWidth+b.textRects.width+30)&&(o=\"\");var m=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(m=e.globals.dataLabels.style.colors[n]),\"function\"==typeof m&&(m=m({series:e.globals.series,seriesIndex:r,dataPointIndex:n,w:e})),u&&(m=u);var v=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(v=0,y=0),e.globals.isSlopeChart&&(0!==n&&(v=-2*d.offsetX+5),0!==n&&n!==e.config.series[r].data.length-1&&(v=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+v,y:s+y,foreColor:m,textAnchor:l||d.textAnchor,text:o,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"})).attr({class:f||\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var w=d.dropShadow;new Li(this.ctx).dropShadow(x,w)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(n)}return x}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=e.width,o=e.height,l=new Mi(this.ctx).drawRect(e.x-s,e.y-r/2,n+2*s,o+r,a.borderRadius,\"transparent\"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:\"#fff\",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new Li(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=v.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"highlightSeries\",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(null==i?void 0:i.getAttribute(\"data:realIndex\"),10),s=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"),r=null,n=null,o=null;if(e.globals.axisCharts||\"radialBar\"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(a,\"']\")),n=e.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(a,\"']\"));var l=e.globals.seriesYAxisReverseMap[a];o=e.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(l,\"']\"))}else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"']\"));else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"'] path\"));for(var h=0;h=t.from&&(r0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},n=0;n0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0?t:[]}));return t}}]),t}(),$i=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pi(this.ctx)}return s(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(v.parseNumber(t[e].data[r][4])):this.twoDSeries.push(v.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var n=new Date(t[e].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var o=0;o-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new zi(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push(\"series-\"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var o=[],l=f(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);o[i]||(o[i]=[]),o[i].push(s.seriesNames[e])})),s.seriesGroups=o;for(var h=function(){for(var t=0;t0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return v.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new Ni(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),n=0;n0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),Ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"getSvgString\",value:function(){var t=this;return new Promise((function(e){var i=t.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=t.w.globals.dom.Paper.svg(),n=t.w.globals.dom.Paper.node.cloneNode(!0);1!==s&&t.scaleSvgNode(n,s),t.convertImagesToBase64(n).then((function(){r=(new XMLSerializer).serializeToString(n),e(r.replace(/ /g,\" \"))}))}))}},{key:\"convertImagesToBase64\",value:function(t){var e=this,i=t.getElementsByTagName(\"image\"),a=Array.from(i).map((function(t){var i=t.getAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\");return i&&!i.startsWith(\"data:\")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",e)})).catch((function(t){console.error(\"Error converting image to base64:\",t)})):Promise.resolve()}));return Promise.all(a)}},{key:\"getBase64FromUrl\",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin=\"Anonymous\",a.onload=function(){var t=document.createElement(\"canvas\");t.width=a.width,t.height=a.height,t.getContext(\"2d\").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){var t=this;return new Promise((function(e){t.cleanup(),t.getSvgString().then((function(t){var i=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});e(URL.createObjectURL(i))}))}))}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n=\"transparent\"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:\"#fff\",o=r.getContext(\"2d\");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s),e.getSvgString().then((function(t){var e=\"data:image/svg+xml,\"+encodeURIComponent(t),a=new Image;a.crossOrigin=\"anonymous\",a.onload=function(){if(o.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},a.src=e}))}))}},{key:\"exportToSVG\",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,\".svg\")}))}},{key:\"exportToPng\",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,n=t.lineDelimiter,o=void 0===n?\"\\n\":n,l=this.w;i||(i=l.config.series);var h=[],c=[],d=\"\",u=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),g=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):\"datetime\"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():v.isNumber(t)?t:t.split(r).join(\"\")},p=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},x=Math.max.apply(Math,f(i.map((function(t){return t.data?t.data.length:0})))),b=new $i(this.ctx),m=new Ri(this.ctx),y=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new Zi(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=m.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?\"nullvalue\":(Array.isArray(i)&&(i=i.join(\" \")),v.isNumber(i)?i:i.split(r).join(\"\"))},w=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||f(Array(x)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new Mi(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,u=l.xaxisFontSize||this.xaxisFontSize,g=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,m=a.length,v=\"category\"===d.config.xaxis.type?d.globals.dataPoints:m;if(0===v&&m>v&&(v=m),s){var y=v>1?v-1:v;n=d.globals.gridWidth/Math.min(y,m-1),b=b+r(0,n)/2+d.config.xaxis.labels.offsetX}else n=d.globals.gridWidth/v,b=b+r(0,n)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,n)/2+d.config.xaxis.labels.offsetX;0===s&&1===m&&n/2===b&&1===v&&(l=d.globals.gridWidth/2);var y=o.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,u,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(u)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(s,y,m):o.axesUtils.checkForOverflowingLabels(s,y,m,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:o.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:f,fontSize:u,fontFamily:g,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,o.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new Mi(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new Mi(this.ctx);t||(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){if(this.w.globals.axisCharts){var t=this.renderGrid();return this.drawGridArea(t.el),t}return null}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new Mi(this.ctx),a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,f(t.config.stroke.width)):t.config.stroke.width,s=function(t){var i=document.createElementNS(e.SVGNS,\"clipPath\");return i.setAttribute(\"id\",t),i};e.dom.elGridRectMask=s(\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectBarMask=s(\"gridRectBarMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=s(\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=s(\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=s(\"nonForecastMask\".concat(e.cuid));var r=0,n=0;([\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t.config.chart.type)||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(r=Math.max(t.config.grid.padding.left,e.barPadForNumericAxis),n=Math.max(t.config.grid.padding.right,e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(0,0,e.gridWidth,e.gridHeight,0,\"#fff\"),e.dom.elGridRectBar=i.drawRect(-a/2-r-2,-a/2-2,e.gridWidth+a+n+r+4,e.gridHeight+a+4,0,\"#fff\");var o=t.globals.markers.largestSize;e.dom.elGridRectMarker=i.drawRect(-o,-o,e.gridWidth+2*o,e.gridHeight+2*o,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectBarMask.appendChild(e.dom.elGridRectBar.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var l=e.dom.baseEl.querySelector(\"defs\");l.appendChild(e.dom.elGridRectMask),l.appendChild(e.dom.elGridRectBarMask),l.appendChild(e.dom.elGridRectMarkerMask),l.appendChild(e.dom.elForecastMask),l.appendChild(e.dom.elNonForecastMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,u=0;d0&&\"datetime\"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e){var i,a,s=this,r=this.w;if((null===(i=r.config.grid.row.colors)||void 0===i?void 0:i.length)>0&&function(t,i,a,n,o,l){for(var h=0,c=0;h=r.config.grid[t].colors.length&&(c=0),s._drawGridBandRect({c:c,x1:a,y1:n,x2:o,y2:l,type:t}),n+=r.globals.gridHeight/e}(\"row\",e,0,0,r.globals.gridWidth,r.globals.gridHeight/e),(null===(a=r.config.grid.column.colors)||void 0===a?void 0:a.length)>0){var n=r.globals.isBarHorizontal||\"on\"!==r.config.xaxis.tickPlacement||\"category\"!==r.config.xaxis.type&&!r.config.xaxis.convertedCatToNumeric?t:t-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var o=r.globals.padHorizontal,l=r.globals.padHorizontal+r.globals.gridWidth/n,h=r.globals.gridHeight,c=0,d=0;c=r.config.grid.column.colors.length&&(d=0),\"datetime\"===r.config.xaxis.type)o=this.xaxisLabels[c].position,l=((null===(u=this.xaxisLabels[c+1])||void 0===u?void 0:u.position)||r.globals.gridWidth)-this.xaxisLabels[c].position;this._drawGridBandRect({c:d,x1:o,y1:0,x2:l,y2:h,type:\"column\"}),o+=r.globals.gridWidth/n}}}}]),t}(),ta=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.coreUtils=new Pi(this.ctx)}return s(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[n],a=Math.max((h.svgHeight-100)/15,2)),v.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,u=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(u=h.multiAxisTickAmount,d=!0),u=\"dataPoints\"===u?h.dataPoints-1:Math.abs(Math.round(u)),(t===Number.MIN_VALUE&&0===e||!v.isNumber(t)&&!v.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=v.isNumber(i.min)?i.min:0,e=v.isNumber(i.max)?i.max:t+u,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var g=e;e=t,t=g}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];u<1&&(u=1);var f=u,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/f,m=b,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(b=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var C=x/f;if(d)if(c)if(0!=v.mod(x,b)){var S=v.getGCD(b,C);b=C/S<10?S:C}else 0==v.mod(b,C)?b=C:(C=b,d=!1);else b=C;else if(c)0==v.mod(x,b)?C=b:b=C;else if(0==v.mod(x,b))C=b;else{C=x/(f=Math.ceil(x/b));var L=v.getGCD(x,b);x/La&&(t=e-b*u,t+=b*Math.floor((M-t)/b))}else if(s)if(d)e=t+b*f;else{var P=e;e=b*Math.ceil(e/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(e=t+b*u,e+=b*Math.ceil((P-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*f;T0&&t16&&v.getPrimeFactors(f).length<2&&f++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&f>x&&(f=x,b=Math.round(x/f)),f>a&&(!d&&!c||i.forceNiceScale)){var z=v.getPrimeFactors(f),X=z.length-1,R=f;t:for(var E=0;EN);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),n=[];if(t===e)return{result:n=[t],niceMin:n[0],niceMax:n[n.length-1]};\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=t;i>=0;)n.push(o),o=v.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&v.isNumber(i)&&e!==Number.MAX_VALUE&&v.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(t,e,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:\"scaleMultipleYAxes\",value:function(){var t=this,e=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var a=i.seriesYAxisMap,s=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach((function(a,n){var o=[];a.forEach((function(t){var i=e.series[t].group;o.indexOf(i)<0&&o.push(i)})),a.length>0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,u=c,g=d;if(e.chart.stacked)!function(){var t=new Array(i.dataPoints).fill(0),s=[],r=[],p=[];o.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),p.push(t.map((function(){return Number.MIN_VALUE})))}));for(var f=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:\"axis-\".concat(n),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,o.forEach((function(t,a){if(e.series[c].group===t)for(var n=0;n=0?r[a][n]+=o:p[a][n]+=o,s[a][n]+=o,u=Math.min(u,o),g=Math.max(g,o)}}))),\"bar\"!==l&&\"column\"!==l||i.barGroups.push(h)},x=0;x1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var u,g=null===(u=r.brushSource)||void 0===u?void 0:u.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=g&&g.enabled&&null!=g&&g.autoScaleYaxis)&&(d=!0)}for(var p=t;px&&r.seriesX[p][b]>s.xaxis.max;b--);}for(var m=x;m<=b&&mh[p][m]&&h[p][m]<0&&(o=h[p][m])}else r.hasNullValues=!0}\"bar\"!==f&&\"column\"!==f||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(o=e),\"bar\"===s.chart.type&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if(\"dataPoints\"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=t.maxX-t.minX;s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],n=t.minX-1;n0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var n=0;n0?a[i][n]+=parseFloat(e.series[r][n])+1e-4:s[i][n]+=parseFloat(e.series[r][n]))}}))})),Object.entries(a).forEach((function(t){var i=p(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),ia=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=\"bottom\"===s.config.xaxis.position?s.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new Ri(e)}return s(t,[{key:\"drawYaxis\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.yaxis[t].labels.style,s=a.fontSize,r=a.fontFamily,n=a.fontWeight,o=i.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\".concat(e.globals.translateYAxisX[t],\", 0)\")});if(this.axesUtils.isYAxisHidden(t))return o;var l=i.group({class:\"apexcharts-yaxis-texts-g\"});o.add(l);var h=e.globals.yAxisScale[t].result.length-1,c=e.globals.gridHeight/h,d=e.globals.yLabelFormatters[t],u=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice());if(e.config.yaxis[t].labels.show){var g=e.globals.translateY+e.config.yaxis[t].labels.offsetY;e.globals.isBarHorizontal?g=0:\"heatmap\"===e.config.chart.type&&(g-=c/2),g+=parseInt(s,10)/3;for(var p=h;p>=0;p--){var f=d(u[p],p,e),x=e.config.yaxis[t].labels.padding;e.config.yaxis[t].opposite&&0!==e.config.yaxis.length&&(x*=-1);var b=this.getTextAnchor(e.config.yaxis[t].labels.align,e.config.yaxis[t].opposite),m=this.axesUtils.getYAxisForeColor(a.colors,t),y=Array.isArray(m)?m[p]:m,w=v.listToArray(e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-label tspan\"))).map((function(t){return t.textContent})),k=i.drawText({x:x,y:g,text:w.includes(f)&&!e.config.yaxis[t].labels.showDuplicates?\"\":f,textAnchor:b,fontSize:s,fontFamily:r,fontWeight:n,maxWidth:e.config.yaxis[t].labels.maxWidth,foreColor:y,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \".concat(a.cssClass)});l.add(k),this.addTooltip(k,f),0!==e.config.yaxis[t].labels.rotate&&this.rotateLabel(i,k,firstLabel,e.config.yaxis[t].labels.rotate),g+=c}}return this.addYAxisTitle(i,o,t),this.addAxisBorder(i,o,t,h,c),o}},{key:\"getTextAnchor\",value:function(t,e){return\"left\"===t?\"start\":\"center\"===t?\"middle\":\"right\"===t?\"end\":e?\"start\":\"end\"}},{key:\"addTooltip\",value:function(t,e){var i=document.createElementNS(this.w.globals.SVGNS,\"title\");i.textContent=Array.isArray(e)?e.join(\" \"):e,t.node.appendChild(i)}},{key:\"rotateLabel\",value:function(t,e,i,a){var s=t.rotateAroundCenter(i.node),r=t.rotateAroundCenter(e.node);e.node.setAttribute(\"transform\",\"rotate(\".concat(a,\" \").concat(s.x,\" \").concat(r.y,\")\"))}},{key:\"addYAxisTitle\",value:function(t,e,i){var a=this.w;if(void 0!==a.config.yaxis[i].title.text){var s=t.group({class:\"apexcharts-yaxis-title\"}),r=a.config.yaxis[i].opposite?a.globals.translateYAxisX[i]:0,n=t.drawText({x:r,y:a.globals.gridHeight/2+a.globals.translateY+a.config.yaxis[i].title.offsetY,text:a.config.yaxis[i].title.text,textAnchor:\"end\",foreColor:a.config.yaxis[i].title.style.color,fontSize:a.config.yaxis[i].title.style.fontSize,fontWeight:a.config.yaxis[i].title.style.fontWeight,fontFamily:a.config.yaxis[i].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \".concat(a.config.yaxis[i].title.style.cssClass)});s.add(n),e.add(s)}}},{key:\"addAxisBorder\",value:function(t,e,i,a,s){var r=this.w,n=r.config.yaxis[i].axisBorder,o=31+n.offsetX;if(r.config.yaxis[i].opposite&&(o=-31-n.offsetX),n.show){var l=t.drawLine(o,r.globals.translateY+n.offsetY-2,o,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);e.add(l)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(o,a,n,r.config.yaxis[i].axisTicks,i,s,e)}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/r+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice()),c=e.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),e.config.xaxis.labels.show)for(var d=c.length?0:r;c.length?d=0;c.length?d++:d--){var u=l(h[d],d,e),g=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,g,d,this.drawnLabels,this.xaxisFontSize);g=p.x,u=p.text,this.drawnLabels.push(p.text),0===d&&e.globals.skipFirstTimelinelabel&&(u=\"\"),d===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var f=i.drawText({x:g,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \".concat(e.config.xaxis.labels.style.cssClass)});s.add(f),f.tspan(u),this.addTooltip(f,u),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new Mi(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \".concat(e.config.xaxis.title.style.cssClass)});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\")),r=s?s.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\")),o=n?n.getBoundingClientRect():{width:0,height:0};if(n){var l=this.xPaddingForYAxisTitle(t,r,o,e);n.setAttribute(\"x\",l.xPos-(e?10:0));var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:r,padd:0}:(a?r=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2:(r=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,r=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:r,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach((function(o,l){var h=i.globals.ignoreYAxisIndexes.includes(l)||!o.show||o.floating||0===t[l].width,c=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,h||(n+=c+20),i.globals.translateYAxisX[l]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,h||(r+=c+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w;v.listToArray(t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\")).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=v.listToArray(t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"))),n=s.getBoundingClientRect();r.forEach((function(t){t.setAttribute(\"text-anchor\",a.labels.align)})),\"left\"!==a.labels.align||a.opposite?\"center\"===a.labels.align?s.setAttribute(\"transform\",\"translate(\".concat(n.width/2*(a.opposite?1:-1),\", 0)\")):\"right\"===a.labels.align&&a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(n.width,\", 0)\")):s.setAttribute(\"transform\",\"translate(-\".concat(n.width,\", 0)\"))}}))}}]),t}(),aa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=v.bind(this.documentEvent,this)}return s(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=v.extend(Hi,i);this.w.globals.locale=a.options}}]),t}(),ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new Qi(this.ctx,e),l=new ia(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),na=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Li(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,u=s.left,g=s.top,p=s.blur,f=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(b=e.drawGradient(\"vertical\",n,o,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine());var y=t.globals.gridHeight;(!v.isNumber(y)||y<0)&&(y=0);var w=t.config.xaxis.crosshairs.width;(!v.isNumber(w)||w<0)&&(w=0),m.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:y,width:w,height:y,fill:b,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:u,top:g,blur:p,color:f,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new Mi(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),oa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Wi({}),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,n=window.innerWidth>0?window.innerWidth:screen.width;if(n>a){var o=v.clone(i.globals.initialConfig);o.series=v.clone(i.config.series);var l=Pi.extendArrayProps(r,o,i);t=v.extend(l,t),t=v.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h0&&\"function\"==typeof t[0]?(this.isColorFn=!0,i.config.series.map((function(a,s){var r=t[s]||t[0];return\"function\"==typeof r?r({value:i.globals.axisCharts?i.globals.series[s][0]||0:i.globals.series[s],seriesIndex:s,dataPointIndex:s,w:e.w}):r}))):t:this.predefined()}},{key:\"applySeriesColors\",value:function(t,e){t.forEach((function(t,i){t&&(e[i]=t)}))}},{key:\"getMonochromeColors\",value:function(t,e,i){var a=t.color,s=t.shadeIntensity,r=t.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?e[0].length*e.length:e.length,o=1/(n/s),l=0;return Array.from({length:n},(function(){var t=\"dark\"===r?i.shadeColor(-1*l,a):i.shadeColor(l,a);return l+=o,t}))}},{key:\"applyColorTypes\",value:function(t,e){var i=this,a=this.w;t.forEach((function(t){a.globals[t].colors=void 0===a.config[t].colors?i.isColorFn?a.config.colors:e:a.config[t].colors.slice(),i.pushExtraColors(a.globals[t].colors)}))}},{key:\"applyDataLabelsColors\",value:function(t){var e=this.w;e.globals.dataLabels.style.colors=void 0===e.config.dataLabels.style.colors?t:e.config.dataLabels.style.colors.slice(),this.pushExtraColors(e.globals.dataLabels.style.colors,50)}},{key:\"applyRadarPolygonsColors\",value:function(){var t=this.w;t.globals.radarPolygons.fill.colors=void 0===t.config.plotOptions.radar.polygons.fill.colors?[\"dark\"===t.config.theme.mode?\"#424242\":\"none\"]:t.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(t.globals.radarPolygons.fill.colors,20)}},{key:\"applyMarkersColors\",value:function(t){var e=this.w;e.globals.markers.colors=void 0===e.config.markers.colors?t:e.config.markers.colors.slice(),this.pushExtraColors(e.globals.markers.colors)}},{key:\"pushExtraColors\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getDatalabelsRect\",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,n){var o;o=e.globals.series[r][n],a=e.config.dataLabels.formatter(o,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:n,w:e}),i.push(a)}))}));var a=v.getLargestStringFromArr(i),s=new Mi(this.dCtx.ctx),r=e.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,f(a));i=e[a.indexOf(s)]}return i}}]),t}(),da=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=v.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(n=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var o=new Xi(this.dCtx.ctx),l=r;r=o.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),n=o.xLabelFormat(s,n,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(n=r=\"1\");var h=new Mi(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==n&&(d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var u=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=u(r),r!==n&&(d=u(n)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=v.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new Mi(this.dCtx.ctx),l=o.getTextRects(r,a),h=l;return r!==n&&(h=o.getTextRects(n,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new Mi(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new Mi(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,o){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(o)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var o=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+n/1.75-e.dCtx.yAxisWidthRight,h=o.position-n/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,o)))||void 0===a?void 0:a.length)?t:e}),d),g=u=c(u,o);if(void 0!==u&&0!==u.length||(u=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();u=v.getLargestStringFromArr(p),u=c(u,{seriesIndex:n,dataPointIndex:-1,w:e}),g=t.dCtx.dimHelpers.getLargestStringFromMultiArr(u,p)}var f=new Mi(t.dCtx.ctx),x=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),b=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=b;u!==g&&(m=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>b.width?h:m.width>b.width?m.width:b.width)+a,height:m.height>b.height?m.height:b.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new Mi(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),n=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:n.width,height:n.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new Ri(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,h=0;n.width>0&&!l?(h=n.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(h=h-n.width-s)):h=l||r.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),ga=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return[\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t)},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(o-=1)})),i.chart.stacked&&(o=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&0!==h){h<=3&&(h=a.dataPoints);var c=h/t,d=a.minXDiff&&a.minXDiff/c>0?a.minXDiff/c:0;d>t/2&&(d/=2),(n=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!i.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(s){void 0!==e.config[s].text?a+=e.config[s].margin:a+=t.dCtx.isSparkline||!i.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||i.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight-=s.height+r.height+a,i.translateY+=s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new Ri(this.dCtx.ctx);i.config.yaxis.forEach((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX-=e[r].width+t[r].width+parseInt(s.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),pa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new ca(this),this.dimYAxis=new ua(this),this.dimXAxis=new da(this),this.dimGrid=new ga(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,f(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=p(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||\"treemap\"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case\"right\":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new ia(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight;var o=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(o,e.gridHeight),e.translateY=r,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*n+s*o+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),fa=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-flip-y {\\n transform: scaleY(-1) translateY(-100%);\\n transform-origin: top;\\n transform-box: fill-box;\\n }\\n .apexcharts-flip-x {\\n transform: scaleX(-1);\\n transform-origin: center;\\n transform-box: fill-box;\\n }\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n margin-right: 1px;\\n }\\n\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\\n\\n \");return a.appendChild(r),a}},{key:\"getLegendDimensions\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.findOne(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),o=a.config.chart.type;if(\"pie\"===o||\"polarArea\"===o||\"donut\"===o){var l=a.config.plotOptions.pie.donut.labels;new Mi(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,l)}n.fire(\"click\")}}},{key:\"getSeriesAfterCollapsing\",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=v.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],n={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(e);var o=a.risingSeries.indexOf(e);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:\"hideSeries\",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,n=0;n0){for(var r=0;r1;if(this.legendHelpers.appendToForeignObject(),(a||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"createLegendMarker\",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement(\"span\");s.classList.add(\"apexcharts-legend-marker\");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[e]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),d=s.style;if(d.height=2*(o+c)+\"px\",d.width=2*(o+c)+\"px\",d.left=l+\"px\",d.top=h+\"px\",a.config.legend.markers.customHTML)d.background=\"transparent\",d.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var g=new Vi(this.ctx).getMarkerConfig({cssClass:\"apexcharts-legend-marker apexcharts-marker apexcharts-marker-\".concat(n),seriesIndex:e,strokeWidth:c,size:o}),p=window.SVG().addTo(s).size(\"100%\",\"100%\"),f=new Mi(this.ctx).drawMarker(0,0,u(u({},g),{},{pointFillColor:Array.isArray(i)?i[e]:g.pointFillColor,shape:n}));a.globals.dom.Paper.find(\".apexcharts-legend-marker.apexcharts-marker\").forEach((function(t){t.node.classList.contains(\"apexcharts-marker-triangle\")?t.node.style.transform=\"translate(50%, 45%)\":t.node.style.transform=\"translate(50%, 50%)\"})),p.add(f)}return s}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.config.legend.markers.fillColors?e.config.legend.markers.fillColors.slice():e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var n=e.globals.legendFormatter,o=e.config.legend.inverseOrder,l=o?a.length-1:0;o?l>=0:l<=a.length-1;o?l--:l++){var h,c=n(a[l],{seriesIndex:l,w:e}),d=!1,u=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var p=0;p0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=n+\"px\",\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=new pa(this.ctx),i=e.dimHelpers.getTitleSubtitleCoords(\"title\"),a=e.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),s=0;\"top\"===t.config.legend.position&&(s=i.height+a.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,s)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new Zi(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new Zi(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ba=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),n(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var o=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};o(\"zoom\"),o(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),n(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;lthis.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:\"executeMouseWheelZoom\",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,n,o=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+o*c;r=d-(s=.5*c)/2,n=d+s/2}else r=l-(s=1.5*c)/2,n=h+s/2;if(!i.globals.isRangeBar){r=Math.max(r,i.globals.initialMinX),n=Math.min(n,i.globals.initialMaxX);var u=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(n-r0&&t.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(t,e,i,a,s){return\"l\"===s||\"r\"===s?t.circle(8).css({\"stroke-width\":1,stroke:\"#333\",fill:\"#fff\"}):t.circle(0)},updateHandle:function(t,e){return t.center(e[0],e[1])}}).resize().on(\"resizing\",this.selectionDragging.bind(this,\"resizing\")))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(u(u({},t.globals.selection),{},{translateX:t.globals.translateX,translateY:t.globals.translateY}));else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:t.globals.translateX,translateY:t.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,n=void 0===r?0:r,o=t.translateY,l=void 0===o?0:o,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var u={transform:\"translate(\"+n+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),Mi.setAttrs(c.node,u)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),Mi.setAttrs(d.node,u))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),n=s.startX-1,o=s.startY,l=!1,h=!1,c=s.clientX-r.left-n,d=s.clientY-r.top-o,g={translateX:a.globals.translateX,translateY:a.globals.translateY};return Math.abs(c+n)>a.globals.gridWidth?c=a.globals.gridWidth-n:s.clientX-r.left<0&&(c=n),n>s.clientX-r.left&&(l=!0,c=Math.abs(c)),o>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=u(u({},g=\"x\"===i?{x:l?n-c:n,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?o-d:o,width:a.globals.gridWidth,height:d}:{x:l?n-c:n,y:h?o-d:o,width:c,height:d}),{},{translateX:a.globals.translateX,translateY:a.globals.translateY}),s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w;if(e){e.preventDefault();var s=e.detail,r=s.handler,n=s.box,o=n.x,l=n.y;othis.constraints.x2&&(o=this.constraints.x2-n.w),n.y2>this.constraints.y2&&(l=this.constraints.y2-n.h),r.move(o,l);var h=this.xyRatios,c=this.selectionRect,d=0;\"resizing\"===t&&(d=30);var u=function(t){return parseFloat(c.node.getAttribute(t))},g={x:u(\"x\"),y:u(\"y\"),width:u(\"width\"),height:u(\"height\")};a.globals.selection=g,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,s,r,n=i.gridRect.getBoundingClientRect(),o=c.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(o.left-n.left)*h.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(o.right-n.left)*h.invertedYRatio,s=0,r=1):(t=a.globals.xAxisScale.niceMin+(o.left-n.left)*h.xRatio,e=a.globals.xAxisScale.niceMin+(o.right-n.left)*h.xRatio,s=a.globals.yAxisScale[0].niceMin+(n.bottom-o.bottom)*h.yRatio[0],r=a.globals.yAxisScale[0].niceMax-(o.top-n.top)*h.yRatio[0]);var l={xaxis:{min:t,max:e},yaxis:{min:s,max:r}};a.config.chart.events.selection(i.ctx,l),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,l)}),d))}}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,n=this.ctx.toolbar;if(s.startX>s.endX){var o=s.startX;s.startX=s.endX,s.endX=o}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],u=[];if(a.config.yaxis.forEach((function(t,e){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),u.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var g=v.clone(a.globals.initialConfig.yaxis),p=v.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(p={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||g.forEach((function(t,e){g[e].min=u[e],g[e].max=d[e]})),n){var f=n.getBeforeZoomRange(p,g);f&&(p=f.xaxis?f.xaxis:p,g=f.yaxis?f.yaxis:g)}var x={xaxis:p};a.config.chart.group||(x.yaxis=g),s.ctx.updateHelpers._updateOptions(x,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&n.zoomCallback(p,g)}else if(a.globals.selectionEnabled){var b,m=null;b={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(m=v.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=u[e],m[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:b,yaxis:m})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.isRangeBar?i.globals.minY:i.globals.minX,o=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(n,o)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=v.clone(i.globals.initialConfig.yaxis),r=a.xRatio,n=i.globals.minX,o=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,n=i.globals.minY,o=i.globals.maxY),\"left\"===this.moveDirection?(t=n+i.globals.gridWidth/15*r,e=o+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=n-i.globals.gridWidth/15*r,e=o-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=n,e=o);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),a}(ba),va=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,l=n.height,h=o/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=o/r.globals.dataPoints);var u=a-n.left-r.globals.barPadForNumericAxis,g=s-n.top;u<0||g<0||u>o||g>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var p=Math.round(u/h),f=Math.floor(g/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(u/h),p-=1);var x=null,b=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=u*(w.width/o),A=g*(w.height/l);x=(b=this.closestInMultiArray(k,A,m,y)).index,p=b.j,null!==x&&(m=r.globals.seriesXvalues[x],p=(b=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:x,j:r.globals.isBarHorizontal?f:p,hoverX:u,hoverY:g}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,n=null,o=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,o=i)}))})),-1!==o){var c=a[r][o],d=Math.abs(e-c);n=r,a.forEach((function(t,i){var a=Math.abs(e-t[o]);a<=d&&(d=a,n=i)}))}return{index:n,j:o}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=f(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getPathFromPoint\",value:function(t,e){var i=Number(t.getAttribute(\"cx\")),a=Number(t.getAttribute(\"cy\")),s=t.getAttribute(\"shape\");return new Mi(this.ctx).getMarkerPath(i,a,s,e)}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),m.innerHTML=t+\"
\",v.innerHTML=e+\"\"};n?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(m.innerHTML=\"\",v.innerHTML=\"\"):y()}else m.innerHTML=\"\",v.innerHTML=\"\";null!==p&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==p?p:\"\");if(n&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?f[0].parentNode.style.display=\"none\":f[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(f[0].parentNode.style.display=\"none\")}},{key:\"toggleActiveInactiveSeries\",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var a=i.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group-\".concat(e));a&&(a.classList.add(\"apexcharts-active\"),a.style.display=i.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",n=\"\",o=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=new $i(this.ctx).isFormatXY()?void 0!==a.config.series[e].data[i]?a.config.series[e].data[i].x:\"\":void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new Xi(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(o=c(a.globals.seriesZ[e][i],a)),n=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(n)?n.join(\" \"):n,zVal:o}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),wa=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/n*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&Mi.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&Mi.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new Mi(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,n=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(n-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=n+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,h=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-10),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0){var g=u.getAttribute(\"shape\"),p=l.getMarkerPath(s,r,g,1.5*c);u.setAttribute(\"d\",p)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Zi(this.ctx),l=new Mi(this.ctx);e=o.getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var h=i.tooltipUtil.getHoverMarkerSize(e);n[e]&&(s=n[e][t][0],r=n[e][t][1]);var c=i.tooltipUtil.getAllMarkers();if(null!==c)for(var d=0;d0){var b=l.getMarkerPath(s,g,f,h);c[d].setAttribute(\"d\",b)}else c[d].setAttribute(\"d\",\"\")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Zi(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var n=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));n||\"number\"!=typeof e||(n=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var o=n?parseFloat(n.getAttribute(\"cx\")):0,l=n?parseFloat(n.getAttribute(\"cy\")):0,h=n?parseFloat(n.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=n&&(n.classList.contains(\"apexcharts-candlestick-area\")||n.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(n&&!d&&(o-=s%2!=0?h/2:0),n&&d&&i.globals.comboCharts&&(o-=h/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,l||i.globals.gridHeight)}}]),t}(),ka=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new wa(e)}return s(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Vi(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=f(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),n=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),n=e.config.markers.hover.size,o=0;o0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute(\"d\",a)}else t[e].setAttribute(\"d\",\"M0,0\")}}}]),t}(),Aa=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&\"rangeBar\"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,n=this.ttCtx,o=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),u=this.getAttr(e,\"width\"),g=this.getAttr(e,\"height\");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),o.globals.capturedSeriesIndex=l,o.globals.capturedDataPointIndex=h,a=c+n.tooltipRect.ttWidth/2+u,s=d+n.tooltipRect.ttHeight/2-g/2,n.tooltipPosition.moveXCrosshairs(c+u/2),a>o.globals.gridWidth/2&&(a=c-n.tooltipRect.ttWidth/2+u),n.w.config.tooltip.followCursor){var p=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-p.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-p.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,n=t.y,o=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var u=v.findAncestor(s.paths,\"apexcharts-series\");u&&(e=parseInt(u.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&o.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),o.globals.capturedSeriesIndex=e,o.globals.capturedDataPointIndex=i,r=h,n=c+o.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var g=l.getElGrid().getBoundingClientRect();n=l.e.clientY+o.globals.translateY-g.top}d<0&&(n=c),l.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});if(null!==d.j||0!==d.barHeight||0!==d.barWidth){e=d.i;var u=d.j;if(r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10),h+n.tooltipRect.ttWidth>r.globals.gridWidth?h-=n.tooltipRect.ttWidth:h<0&&(h=0),n.w.config.tooltip.followCursor){var g=n.getElGrid().getBoundingClientRect();c=n.e.clientY-g.top}null===n.tooltip&&(n.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=h+r.globals.translateX+\"px\",o.style.top=c+\"px\")}}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,n=this.ttCtx,o=0,l=0,h=0,c=0,d=0,u=i.target.classList;if(u.contains(\"apexcharts-bar-area\")||u.contains(\"apexcharts-candlestick-area\")||u.contains(\"apexcharts-boxPlot-area\")||u.contains(\"apexcharts-rangebar-area\")){var g=i.target,p=g.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,m=parseInt(g.getAttribute(\"cx\"),10),v=parseInt(g.getAttribute(\"cy\"),10);c=parseFloat(g.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(g.getAttribute(\"j\"),10),o=parseInt(g.parentNode.getAttribute(\"rel\"),10)-1;var w=g.getAttribute(\"data-range-y1\"),k=g.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?m-b/2:e.isVerticalGroupedRangeBar?m+b/2:m-n.dataPointsDividedWidth+b/2},C=function(){return v-n.dataPointsDividedHeight+x/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=C()):(l=A(),h=i.clientY-f.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=m)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&n.length>0){var o=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=n[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],u=r.maxYArr[h]-r.minYArr[h],g=r.minYArr[h]+(u-d);s.config.yaxis[t].reversed&&(g=r.maxYArr[h]-(u-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=o(g),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),Sa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new va(this),this.tooltipLabels=new ya(this),this.tooltipPosition=new wa(this),this.marker=new ka(this),this.intersect=new Aa(this),this.axesTooltip=new Ca(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Qi(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var n=document.createElement(\"div\");n.classList.add(\"apexcharts-tooltip-series-group\",\"apexcharts-tooltip-series-group-\".concat(r)),n.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var o=document.createElement(\"span\");o.classList.add(\"apexcharts-tooltip-marker\"),o.style.backgroundColor=i.globals.colors[r],n.appendChild(o);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),n.appendChild(l),s.appendChild(n),a.push(n)},n=0;n0&&this.addPathsEventListeners(g,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),o.indexOf(\"bottom\")>-1&&(n=n+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=n+\"px\",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=20?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),20-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,n=this.getElTooltip(e);if(n){if(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new Zi(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,ln.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),u=[];r.config.chart.group&&(u=this.ctx.getSyncedCharts());var g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var p=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&p.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect||u.length>1)this.handleStickyTooltip(a,o,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;xl.width)this.handleMouseOut(a);else if(null!==o)this.handleStickyCapturedSeries(t,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,n,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new Mi(this.ctx),i=t.globals.dom.Paper.find(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,A=this.w,C=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===k&&(k=this.tConfig.shared);var S=this.tooltipUtil.hasMarkers(i),L=this.tooltipUtil.getElBars();if(A.config.legend.tooltipHoverFormatter){var M=A.config.legend.tooltipHoverFormatter,P=Array.from(this.legendLabels);P.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var I=0;I0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(L),this.barSeriesHeight>0)){var Y=new Mi(this.ctx),H=A.globals.dom.Paper.find(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var O=0;O0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=h*k)),w){u=u+d.height/2-b/2-2}var C=e.globals.series[i][a]<0,S=o;switch(this.barCtx.isReversed&&(S=o+(C?c:-c)),f.position){case\"center\":g=w?C?S-c/2+v:S+c/2-v:C?S-c/2+d.height/2+v:S+c/2+d.height/2-v;break;case\"bottom\":g=w?C?S-c+v:S+c-v:C?S-c+d.height+b+v:S+c-d.height/2+b-v;break;case\"top\":g=w?C?S+v:S-v:C?S-d.height/2-v:S+d.height+v}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var L=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),p.fontSize);r=C?S-L.height/2-v-x.offsetY+18:S+L.height+v+x.offsetY-18;var M=A;n=y+(e.globals.isXNumeric?-h*e.globals.barGroups.length/2:e.globals.barGroups.length*h/2-(e.globals.barGroups.length-1)*h-M)+x.offsetX}return e.config.chart.stacked||(g<0?g=0+b:g+d.height/3>e.globals.gridHeight&&(g=e.globals.gridHeight-b)),{bcx:l,bcy:o,dataLabelsX:u,dataLabelsY:g,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,n=t.bcy,o=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,u=t.dataLabelsConfig,g=t.barDataLabelsConfig,p=t.barTotalDataLabelsConfig,f=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var m,v,y=n-(this.barCtx.isRangeBar?0:b)+o/2+h.height/2+x-3,w=\"start\",k=e.globals.series[a][s]<0,A=i;switch(this.barCtx.isReversed&&(A=i+(k?-l:l),w=k?\"start\":\"end\"),g.position){case\"center\":c=k?A+l/2-f:Math.max(h.width/2,A-l/2)+f;break;case\"bottom\":c=k?A+l-d-f:A-l+d+f;break;case\"top\":c=k?A-d-f:A-d+f}if(this.barCtx.lastActiveBarSerieIndex===r&&p.enabled){var C=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);k?(m=A-d-f-p.offsetX,w=\"end\"):m=A+f+p.offsetX+(this.barCtx.isReversed?-(l+d):d),v=y-h.height/2+C.height/2+p.offsetY+d}return e.config.chart.stacked||(\"start\"===u.textAnchor?c-h.width<0?c=k?h.width+d:d:c+h.width>e.globals.gridWidth&&(c=k?e.globals.gridWidth-d:e.globals.gridWidth-h.width-d):\"middle\"===u.textAnchor?c-h.width/2<0?c=h.width/2+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width/2-d):\"end\"===u.textAnchor&&(c<1?c=h.width+d:c+1>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d))),{bcx:i,bcy:n,dataLabelsX:c,dataLabelsY:y,totalDataLabelsX:m,totalDataLabelsY:v,totalDataLabelsAnchor:w}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,n=t.textRects,o=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,d=\"rotate(0)\";\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(d=\"rotate(-90, \".concat(e,\", \").concat(i,\")\"));var g=new qi(this.barCtx.ctx),p=new Mi(this.barCtx.ctx),f=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=p.group({class:\"apexcharts-data-labels\",transform:d});var m=\"\";void 0!==a&&(m=f(a,u(u({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(m=\"\");var v=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===y&&(h.textAnchor=v?\"end\":\"start\"),\"center\"===y&&(h.textAnchor=\"middle\"),\"bottom\"===y&&(h.textAnchor=v?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)lMath.abs(l)&&(m=\"\"):n.height/1.6>Math.abs(o)&&(m=\"\"));var w=u({},h);this.barCtx.isHorizontal&&a<0&&(\"start\"===h.textAnchor?w.textAnchor=\"end\":\"end\"===h.textAnchor&&(w.textAnchor=\"start\")),g.plotDataLabelsText({x:e,y:i,text:m,i:s,j:r,parent:x,dataLabelsConfig:w,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,n=t.barTotalDataLabelsConfig;this.w;var o,l=new Mi(this.barCtx.ctx);return n.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(o=l.drawText({x:e,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),t}(),Ma=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:\"initializeStackedPrevVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:\"initializeStackedXYVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,n,o,l=this.w,h=this.barCtx.ctx.fill,c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(n=r.fill)&&void 0!==n&&n.type?null===(o=l.config.series[e].data[i])||void 0===o?void 0:o.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[a]:l.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"createBorderRadiusArr\",value:function(t){var e,i=this.w,a=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,s=t.length,n=0|(null===(e=t[0])||void 0===e?void 0:e.length),o=Array.from({length:s},(function(){return Array(n).fill(a?\"top\":\"none\")}));if(a)return o;for(var l=0;l0?(h.push(u),d++):g<0&&(c.push(u),d++)}if(h.length>0&&0===c.length)if(1===h.length)o[h[0]][l]=\"both\";else{var p,f=h[0],x=h[h.length-1],b=r(h);try{for(b.s();!(p=b.n()).done;){var m=p.value;o[m][l]=m===f?\"bottom\":m===x?\"top\":\"none\"}}catch(t){b.e(t)}finally{b.f()}}else if(c.length>0&&0===h.length)if(1===c.length)o[c[0]][l]=\"both\";else{var v,y=Math.max.apply(Math,c),w=Math.min.apply(Math,c),k=r(c);try{for(k.s();!(v=k.n()).done;){var A=v.value;o[A][l]=A===y?\"bottom\":A===w?\"top\":\"none\"}}catch(t){k.e(t)}finally{k.f()}}else if(h.length>0&&c.length>0){var C,S=h[h.length-1],L=r(h);try{for(L.s();!(C=L.n()).done;){var M=C.value;o[M][l]=M===S?\"top\":\"none\"}}catch(t){L.e(t)}finally{L.f()}var P,I=Math.max.apply(Math,c),T=r(c);try{for(T.s();!(P=T.n()).done;){var z=P.value;o[z][l]=z===I?\"bottom\":\"none\"}}catch(t){T.e(t)}finally{T.f()}}else if(1===d){o[h[0]||c[0]][l]=\"both\"}}return o}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,n=t.y2,o=t.elSeries,l=this.w,h=new Mi(this.barCtx.ctx),c=new Zi(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],u=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(u),u.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.columnWidthOffset&&(x=a-g.config.series[c].data[u].columnWidthOffset/2,f=i+g.config.series[c].data[u].columnWidthOffset);var b=n/2,m=x+b,v=x+f-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001-b*y,r+=.001+b*y;var w=p.move(m,s),k=p.move(m,s),A=p.line(v,s);if(g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1)),w=w+p.line(m,r)+p.line(v,r)+A+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),k=k+p.line(m,s)+A+A+A+A+A+p.line(m,s)+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).yArrj.push(r-b*y),C.yArrjF.push(Math.abs(s-r+n*y)),C.yArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.barHeightOffset&&(f=i-g.config.series[c].data[u].barHeightOffset/2,x=a+g.config.series[c].data[u].barHeightOffset);var b=n/2,m=f+b,v=f+x-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001+b*y,r+=.001-b*y;var w=p.move(s,m),k=p.move(s,m);g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1));var A=p.line(s,v);if(w=w+p.line(r,m)+p.line(r,v)+A+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),k=k+p.line(s,m)+A+A+A+A+A+p.line(s,m)+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).xArrj.push(r+b*y),C.xArrjF.push(Math.abs(s-r-n*y)),C.xArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s,r){var n=this,l=this.w,h=[],c=function(a,s){var l;h.push((o(l={},t,\"x\"===t?n.getXForValue(a,e,!1):n.getYForValue(a,i,r,!1)),o(l,\"attrs\",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:\"x\"===t?0:l.globals.markers.size[a],strokeWidth:\"x\"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(l.globals.seriesRangeStart[a][s],g),c(l.globals.seriesRangeEnd[a][s],u(u({},g),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,n=t.barHeight,o=new Mi(this.barCtx.ctx),l=o.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=o.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:n/2,a=i+e+n/2;h=o.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=o.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=o.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,n=e.x1,o=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=o+i.barHeight,u=new Mi(this.barCtx.ctx),g=new v,p=u.move(n,d)+u.line(r,d)+u.line(l,c)+u.line(h,c)+u.line(n,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[realIndex][j]?\" Z\":\" z\");return u.drawPath({d:p,fill:g.shadeColor(.5,v.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadow apexcharts-decoration-element\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),Pa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new Zi(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]),this.columnGroupIndices=[];var n=r.getBarSeriesIndices(),o=new Pi(this.ctx);this.stackedSeriesTotals=o.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===n.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new Ma(this)}return s(t,[{key:\"draw\",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=new Pi(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var n=0,o=0;n0&&(this.visibleI=this.visibleI+1);var w=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var A=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var C=this.barHelpers.initialPositions();p=C.y,w=C.barHeight,h=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,l=C.xDivision,c=C.zeroH,this.isHorizontal||x.push(g+k/2);var S=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b});i.globals.delayedElements.push({el:S.node}),S.node.classList.add(\"apexcharts-element-hidden\");var L=a.group({class:\"apexcharts-bar-goals-markers\"}),M=a.group({class:\"apexcharts-bar-shadows\"});i.globals.delayedElements.push({el:M.node}),M.node.classList.add(\"apexcharts-element-hidden\");for(var P=0;P0){var R=this.barHelpers.drawBarShadow({color:\"string\"==typeof X&&-1===(null==X?void 0:X.indexOf(\"url\"))?X:v.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});if(M.add(R),i.config.chart.dropShadow.enabled)new Li(this.ctx).dropShadow(R,i.config.chart.dropShadow,b)}this.pathArr.push(T);var E=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:w,barWidth:k});E&&L.add(E),p=T.y,g=T.x,P>0&&x.push(g+k/2),f.push(p),this.renderSeries({realIndex:b,pathFill:X,j:P,i:n,columnGroupIndex:m,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:y,x:g,y:p,series:t,barHeight:Math.abs(T.barHeight?T.barHeight:w),barWidth:Math.abs(T.barWidth?T.barWidth:k),elDataLabelsWrap:S,elGoalsMarkers:L,elBarShadows:M,visibleSeries:this.visibleI,type:\"bar\"})}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=f,r.add(y)}return r}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,n=t.columnGroupIndex,o=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,u=t.y,g=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,m=t.barXPosition,v=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.elBarShadows,A=t.visibleSeries,C=t.type,S=t.classes,L=this.w,M=new Mi(this.ctx);if(!a){var P=\"function\"==typeof L.globals.stroke.colors[e]?function(t){var e,i=L.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=\"\"),\"function\"==typeof e)?e({value:L.globals.series[t][s],dataPointIndex:s,w:L}):e}(e):L.globals.stroke.colors[e];a=this.barOptions.distributed?L.globals.stroke.colors[s]:P}L.config.series[r].data[s]&&L.config.series[r].data[s].strokeColor&&(a=L.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var I=s/L.config.chart.animations.animateGradually.delay*(L.config.chart.animations.speed/L.globals.dataPoints)/2.4,T=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:L.config.stroke.lineCap,fill:i,animationDelay:I,initialSpeed:L.config.chart.animations.speed,dataChangeSpeed:L.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(C,\"-area \").concat(S),chartType:C});T.attr(\"clip-path\",\"url(#gridRectBarMask\".concat(L.globals.cuid,\")\"));var z=L.config.forecastDataPoints;z.count>0&&s>=L.globals.dataPoints-z.count&&(T.node.setAttribute(\"stroke-dasharray\",z.dashArray),T.node.setAttribute(\"stroke-width\",z.strokeWidth),T.node.setAttribute(\"fill-opacity\",z.fillOpacity)),void 0!==g&&void 0!==p&&(T.attr(\"data-range-y1\",g),T.attr(\"data-range-y2\",p)),new Li(this.ctx).setSelectionFilter(T,e,s),c.add(T);var X=new La(this).handleBarDataLabels({x:d,y:u,y1:g,y2:p,i:r,j:s,series:f,realIndex:e,columnGroupIndex:n,barHeight:x,barWidth:b,barXPosition:m,barYPosition:v,renderedPath:T,visibleSeries:A});return null!==X.dataLabels&&y.add(X.dataLabels),X.totalDataLabels&&y.add(X.totalDataLabels),c.add(y),w&&c.add(w),k&&c.add(k),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,u=i.j;if(c.globals.isXNumeric)e=(o=(c.globals.seriesX[d][u]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var g=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[u]&&g++,e0&&(a=this.seriesLen*a/g),e=o+a*this.visibleI,e-=a*p}else e=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][u],r)-r)/2),n=this.barHelpers.getXForValue(this.series[d][u],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:d,j:u,w:c});return c.globals.isXNumeric||(o+=l),this.barHelpers.barBackground({j:u,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,u),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,n=t.barWidth,o=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,u=i.translationsIndex,g=i.i,p=i.j,f=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:p,realIndex:d,barWidth:n});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:g,j:p}),m=b.nonZeroColumns,v=b.zeroEncounters;m>0&&(n=this.seriesLen*n/m),e=a+n*this.visibleI,e-=n*v}else e=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][p],o,u);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:n,y1:o,y2:s,strokeWidth:l,isReversed:this.isReversed,series:this.series,realIndex:d,i:g,j:p,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:f,j:p,i:g,x1:e-l/2-n*this.visibleI,x2:n*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,o,g,p,u),barXPosition:e,barWidth:n}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),v.isNumber(r.globals.seriesX[n][s])&&(e=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),Ia=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this,a=this.w;this.graphics=new Mi(this.ctx),this.bar=new Pa(this.ctx,this.xyRatios);var s=new Pi(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),n=0,o=0,l=function(s,l){var h=void 0,c=void 0,d=void 0,g=void 0,p=a.globals.comboCharts?e[s]:s,f=i.barHelpers.getGroupIndex(p),x=f.groupIndex,b=f.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var m=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[p][0],w=p),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:\"apexcharts-series\",seriesName:v.escapeString(a.globals.seriesNames[p]),rel:s+1,\"data:realIndex\":p});i.ctx.series.addCollapsedClassToSeries(k,p);var A=i.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":p}),C=i.graphics.group({class:\"apexcharts-bar-goals-markers\"}),S=0,L=0,M=i.initialPositions(n,o,h,c,d,g,w);o=M.y,S=M.barHeight,c=M.yDivision,g=M.zeroW,n=M.x,L=M.barWidth,h=M.xDivision,d=M.zeroH,a.globals.barHeight=S,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return d})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var P=0;P0||\"top\"===i.barHelpers.arrBorderRadius[p][P]&&a.globals.series[p][P]<0)&&(E=Y),k=i.renderSeries({realIndex:p,pathFill:R,j:P,i:s,columnGroupIndex:b,pathFrom:z.pathFrom,pathTo:z.pathTo,strokeWidth:I,elSeries:k,x:n,y:o,series:t,barHeight:S,barWidth:L,elDataLabelsWrap:A,elGoalsMarkers:C,type:\"bar\",visibleSeries:b,classes:E})}a.globals.seriesXvalues[p]=m,a.globals.seriesYvalues[p]=y,i.groupCtx.prevY.push(i.groupCtx.yArrj),i.groupCtx.prevYF.push(i.groupCtx.yArrjF),i.groupCtx.prevYVal.push(i.groupCtx.yArrjVal),i.groupCtx.prevX.push(i.groupCtx.xArrj),i.groupCtx.prevXF.push(i.groupCtx.xArrjF),i.groupCtx.prevXVal.push(i.groupCtx.xArrjVal),r.add(k)},h=0,c=0;h1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf(\"%\")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[n]:h.globals.gridHeight-this.baseLineY[n],t=h.globals.padHorizontal+(i-l)/2}var u=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o/u,barWidth:l/u,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,u=this.w,g=o+l*a,p=i.i,f=i.j,x=i.realIndex,b=i.translationsIndex,m=0,v=0;v0){var w=r;this.groupCtx.prevXVal[y-1][f]<0?w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]+m-2*(this.isReversed?m:0):this.groupCtx.prevX[y-1][f]:this.groupCtx.prevXVal[y-1][f]>=0&&(w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]:this.groupCtx.prevX[y-1][f]-m+2*(this.isReversed?m:0)),e=w}else e=r;n=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:g,barHeight:a,x1:e,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:u});return this.barHelpers.barBackground({j:f,i:p,y1:g,y2:a,elSeries:d}),o+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,p,f,b),barXPosition:e,barYPosition:g,x:n,y:o}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,u=e.j,g=e.bc,p=e.realIndex,f=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[p][u];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,m=i+o*r,v=0,y=0;y0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[p-1][u]===c.globals.seriesX[p][u]){var k,A,C,S=Math.min(this.yRatio.length+1,p+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L=0?C-v+2*(this.isReversed?v:0):C;break}if((null===(T=this.groupCtx.prevYVal[w-P])||void 0===T?void 0:T[u])>=0){A=this.series[d][u]>=0?C:C+v-2*(this.isReversed?v:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?n:A}else b=n;a=this.series[d][u]?b-this.series[d][u]/this.yRatio[f]+2*(this.isReversed?this.series[d][u]/this.yRatio[f]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:m,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[f],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:u,w:c});return this.barHelpers.barBackground({bc:g,j:u,i:d,x1:m,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,n,d,u),barXPosition:m,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(Pa),Ta=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e,i){var a=this,s=this.w,r=new Mi(this.ctx),n=s.globals.comboCharts?e:s.config.chart.type,o=new ji(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var l=new Pi(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),c=function(e){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[e].type;var n,l,c,d,g=void 0,p=void 0,f=[],x=[],b=s.globals.comboCharts?i[e]:e,m=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:\"apexcharts-series\",seriesName:v.escapeString(s.globals.seriesNames[b]),rel:e+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var C=a.barHelpers.initialPositions();p=C.y,w=C.barHeight,l=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,n=C.xDivision,c=C.zeroH,x.push(g+k/2);for(var S=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),L=r.group({class:\"apexcharts-bar-goals-markers\"}),M=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,v={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:g,y:p,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(u(u({},v),{},{yDivision:l,barHeight:w,zeroW:d})):a.drawVerticalBoxPaths(u(u({},v),{},{xDivision:n,barWidth:k,zeroH:c})),p=h.y,g=h.x;var C=a.barHelpers.drawGoalLine({barXPosition:h.barXPosition,barYPosition:h.barYPosition,goalX:h.goalX,goalY:h.goalY,barHeight:w,barWidth:k});C&&L.add(C),i>0&&x.push(g+k/2),f.push(p),h.pathTo.forEach((function(n,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=o.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:n,strokeWidth:r,elSeries:y,x:g,y:p,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:S,elGoalsMarkers:L,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;Pb.c&&(d=!1);var y=Math.min(b.o,b.c),w=Math.max(b.o,b.c),k=b.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[x][c]-o.globals.minX)/this.xRatio-s/2);var A=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(y=r,w=r):(y=r-y/f,w=r-w/f,m=r-b.h/f,v=r-b.l/f,k=r-b.m/f);var C=l.move(A,r),S=l.move(A+s/2,y);return o.globals.previousPaths.length>0&&(S=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(A,y)+l.line(A+s/2,y)+l.line(A+s/2,m)+l.line(A+s/4,m)+l.line(A+s-s/4,m)+l.line(A+s/2,m)+l.line(A+s/2,y)+l.line(A+s,y)+l.line(A+s,k)+l.line(A,k)+l.line(A,y+n/2),l.move(A,k)+l.line(A+s,k)+l.line(A+s,w)+l.line(A+s/2,w)+l.line(A+s/2,v)+l.line(A+s-s/4,v)+l.line(A+s/4,v)+l.line(A+s/2,v)+l.line(A+s/2,w)+l.line(A,w)+l.line(A,k)+\"z\"]:[l.move(A,w)+l.line(A+s/2,w)+l.line(A+s/2,m)+l.line(A+s/2,w)+l.line(A+s,w)+l.line(A+s,y)+l.line(A+s/2,y)+l.line(A+s/2,v)+l.line(A+s/2,y)+l.line(A,y)+l.line(A,w-n/2)],S+=l.move(A,y),o.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:S,x:i,y:w,goalY:this.barHelpers.getGoalValues(\"y\",null,r,h,c,e.translationsIndex),barXPosition:A,color:this.isBoxPlot?p:d?[u]:[g]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,n=t.strokeWidth,o=this.w,l=new Mi(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var u=this.invertedYRatio,g=e.realIndex,p=this.getOHLCValue(g,c),f=r,x=r,b=Math.min(p.o,p.c),m=Math.max(p.o,p.c),v=p.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][c]-o.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,m=r):(b=r+b/u,m=r+m/u,f=r+p.h/u,x=r+p.l/u,v=r+p.m/u);var w=l.move(r,y),k=l.move(b,y+s/2);return o.globals.previousPaths.length>0&&(k=this.getPreviousPath(g,c,!0)),w=[l.move(b,y)+l.line(b,y+s/2)+l.line(f,y+s/2)+l.line(f,y+s/2-s/4)+l.line(f,y+s/2+s/4)+l.line(f,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(v,y+s)+l.line(v,y)+l.line(b+n/2,y),l.move(v,y)+l.line(v,y+s)+l.line(m,y+s)+l.line(m,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(m,y+s/2)+l.line(m,y)+l.line(v,y)+\"z\"],k+=l.move(b,y),o.globals.isXNumeric||(i+=a),{pathTo:w,pathFrom:k,x:m,y:i,goalX:this.barHelpers.getGoalValues(\"x\",r,null,h,c),barYPosition:y,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),a}(Pa),za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,n=s.config.plotOptions[t].shadeIntensity,o=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,\"treemap\"===t&&(r=(1-o.percent/100)*(1.25*n)));var l=o.color,h=new v;if(s.config.plotOptions[t].enableShades)if(\"dark\"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,o.color);l=v.hexToRgba(v.isColorHex(c)?c:v.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,o.color);l=v.hexToRgba(v.isColorHex(d)?d:v.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:o}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],n=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],l=null,h=Math.min.apply(Math,f(a.globals.series[e])),c=Math.max.apply(Math,f(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),u=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){o=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);u=100*s/(0===i?i-1e-6:i)}}));return{color:o,foreColor:l,percent:u}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,n=t.colorProps,o=t.fontSize,l=this.w.config.dataLabels,h=new Mi(this.ctx),c=new qi(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var u=l.offsetX,g=l.offsetY,p=i+u,f=a+parseFloat(l.style.fontSize)/3+g;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:n.foreColor,parent:d,fontSize:o,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new Mi(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),Xa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new za(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:\"draw\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(o=!0,l.reverse());for(var h=o?0:l.length-1;o?h=0;o?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:v.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new Li(this.ctx).dropShadow(c,d,h)}for(var u=0,g=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var w=m.x,k=m.y,A=100*g/this.fullAngle+\"%\";if(0!==g&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),u=i.centerY+r*Math.sin(l),g=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),b=s>180?1:0,m=[\"M\",d,u,\"A\",r,r,0,b,1,g,p];return e=\"donut\"===i.chartType?[].concat(m,[\"L\",f.x,f.y,\"A\",i.donutSize,i.donutSize,0,b,0,x.x,x.y,\"L\",d,u,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(m,[\"L\",i.centerX,i.centerY,\"L\",d,u]).join(\" \"):[].concat(m).join(\" \"),n.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new ta(this.ctx),a=new Mi(this.ctx),s=new Ra(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),l=o.result.reverse(),h=o.result.length;this.maxY=o.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),u=0;u1&&t.total.show&&(s=t.total.color);var n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=this.donutDataLabels.total.label?t.name.formatter(e,l,r):\"\",null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],n=360/i.globals.series.length,o=0;o0&&(f=e.getPreviousPath(n));for(var x=0;x=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(u=360-Math.abs(this.startAngle)-.1);var g=i.drawPath({d:\"\",stroke:c,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(g,p)}l.add(g),g.attr(\"id\",\"apexcharts-radialbarTrack-\"+o),this.animatePaths(g,{centerX:t.centerX,centerY:t.centerY,endAngle:u,startAngle:d,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=new ji(this.ctx),s=new Li(this.ctx),r=i.group(),n=this.getStrokeWidth(t);t.size=t.size-n/2;var o=e.config.plotOptions.radialBar.hollow.background,l=t.size-n*t.series.length-this.margin*t.series.length-n*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(t,r,l,o));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:o||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var u=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(u=0);var g=null;if(this.radialDataLabels.show){var p=e.globals.dom.Paper.findOne(\".apexcharts-datalabels-group\");g=this.renderInnerDataLabels(p,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:u})}\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),g&&r.add(g));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var x=f?t.series.length-1:0;f?x>=0:x100?100:t.series[x])/100,A=Math.round(this.totalAngle*k)+this.startAngle,C=void 0;e.globals.dataChanged&&(w=this.startAngle,C=Math.round(this.totalAngle*v.negToZero(e.globals.previousPaths[x])/100)+w),Math.abs(A)+Math.abs(y)>360&&(A-=.01),Math.abs(C)+Math.abs(w)>360&&(C-=.01);var S=A-y,L=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,M=i.drawPath({d:\"\",stroke:m,strokeWidth:n,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+x,strokeDashArray:L});if(Mi.setAttrs(M.node,{\"data:angle\":S,\"data:value\":t.series[x]}),e.config.chart.dropShadow.enabled){var P=e.config.chart.dropShadow;s.dropShadow(M,P,x)}if(s.setSelectionFilter(M,0,x),this.addListeners(M,this.radialDataLabels),b.add(M),M.attr({index:0,j:x}),this.barLabels.enabled){var I=v.polarToCartesian(t.centerX,t.centerY,t.size,y),T=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),z=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||z.push(\"apexcharts-no-click\");var X=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;X||(X=e.config.chart.foreColor);var R=I.x+this.barLabels.offsetX,E=I.y+this.barLabels.offsetY,Y=i.drawText({x:R,y:E,text:T,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:X,cssClass:z.join(\" \")});Y.on(\"click\",this.onBarLabelClick),Y.attr({rel:x+1}),0!==y&&Y.attr({\"transform-origin\":\"\".concat(R,\" \").concat(E),transform:\"rotate(\".concat(y,\" 0 0)\")}),b.add(Y)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(M,{centerX:t.centerX,centerY:t.centerY,endAngle:A,startAngle:y,prevEndAngle:C,prevStartAngle:w,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0})}return{g:r,elHollow:c,dataLabels:g}}},{key:\"drawHollow\",value:function(t){var e=new Mi(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new ji(this.ctx),n=v.randomId(),o=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:o,patternID:\"pattern\".concat(s.globals.cuid).concat(n)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(n,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),r}(Ea),Oa=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this.w,a=new Mi(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),r=0;r0&&(this.visibleI=this.visibleI+1);var x=0,b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[g][0],m=g);var y=this.barHelpers.initialPositions();d=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,n=y.xDivision,o=y.yDivision,l=y.zeroH;for(var w=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":g}),k=a.group({class:\"apexcharts-rangebar-goals-markers\"}),A=0;A0}));return this.isHorizontal?(a=u.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+o*this.visibleI+h*b,m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(a=(o=d.barHeight/g.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+o*(this.visibleI+g.indexOf(p))+h*b)):(b>-1&&!u.globals.timescaleLabels.length&&(s=u.config.plotOptions.bar.rangeBarGroupRows?n+c*b:n+l*this.visibleI+c*b),m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/g.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+g.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:o,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,n=t.zeroH,o=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,u=this.yRatio[d],g=this.getRangeValue(c,h),p=Math.min(g.start,g.end),f=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?p=n:(p=n-p/u,f=n-f/u);var x=Math.abs(f-p),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:p,y2:f,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:o});if(o.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=m.x,r=m.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:g.start<0&&g.end<0?p:f,goalY:this.barHelpers.getGoalValues(\"y\",null,n,l,h,d),barXPosition:r}}},{key:\"preventBarOverflow\",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,u=this.preventBarOverflow(l+a/this.invertedYRatio),g=this.preventBarOverflow(l+s/this.invertedYRatio),p=this.getRangeValue(c,d),f=Math.abs(g-u),x=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:u,x2:g,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:f,x:p.start<0&&p.end<0?u:g,goalX:this.barHelpers.getGoalValues(\"x\",l,null,c,d),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(Pa),Fa=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new Pi(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,n=t.j,o=t.prevY,l=this.w,h=[],c=[];if(0===n){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(v.isNumber(e[r][0])?o+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(a,10)&&(\"line\"===n.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===n.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a,s=t.i,r=t.realIndex,n=t.series,o=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=n[s])||void 0===a?void 0:a[0]))o=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===n[s][0])for(var u=s-1;u>=0;u--)if(null!==n[u][0]&&void 0!==n[u][0]){o=l=this.lineCtx.prevSeriesY[u][0];break}return{prevY:o,lineYPosition:l}}}]),t}(),Da=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Wa(i,a),r=1,n=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=n;h++)s=(t[Math.min(n,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),o.push([s||0,r[h]*s||0]);return o},_a=function(t){var e=Da(t),i=t[1],a=t[0],s=[],r=e[1],n=e[0];s.push(a,[a[0]+n[0],a[1]+n[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var o=2,l=e.length;o1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Wa(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ba=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new Ui(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Fa(this),this.markers=new Vi(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:\"draw\",value:function(t,e,i,a){var s,r=this.w,n=new Mi(this.ctx),o=r.globals.comboCharts?e:r.config.chart.type,l=n.group({class:\"apexcharts-\".concat(o,\"-series apexcharts-plot-series\")}),h=new Pi(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],d=0;d1?g:0;this._initSerieVariables(t,d,g);var f=[],x=[],b=[],m=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(m=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),b.push(m);var v,y=m,w=void 0,k=y,A=this.zeroY,C=this.zeroY;A=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:t,prevY:A,lineYPosition:0,translationsIndex:p}).prevY,\"monotoneCubic\"===r.config.stroke.curve&&null===t[d][0]?f.push(null):f.push(A),v=A;\"rangeArea\"===o&&(w=C=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:a,prevY:C,lineYPosition:0,translationsIndex:p}).prevY,x.push(null!==f[0]?C:null));var S=this._calculatePathsFrom({type:o,series:t,i:d,realIndex:g,translationsIndex:p,prevX:k,prevY:A,prevY2:C}),L=[f[0]],M=[x[0]],P={type:o,series:t,realIndex:g,translationsIndex:p,i:d,x:m,y:1,pX:y,pY:v,pathsFrom:S,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:f,y2Arrj:x,seriesRangeEnd:a},I=this._iterateOverDataPoints(u(u({},P),{},{iterations:\"rangeArea\"===o?t[d].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===o){for(var T=this._calculatePathsFrom({series:a,i:d,realIndex:g,prevX:k,prevY:C}),z=this._iterateOverDataPoints(u(u({},P),{},{series:a,xArrj:[m],yArrj:L,y2Arrj:M,pY:w,areaPaths:I.areaPaths,pathsFrom:T,iterations:a[d].length-1,isRangeStart:!1})),X=I.linePaths.length/2,R=0;R=0;E--)l.add(c[E]);else for(var Y=0;Y1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:v.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var n=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":n,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,n=t.series,o=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,u=t.prevY2,g=this.w,p=new Mi(this.ctx);if(null===n[o][0]){for(var f=0;f0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,n=new Mi(this.ctx),o=new ji(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&\"rangeArea\"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=n.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var d=n.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(e)};if(\"area\"===e)for(var p=o.fillPath({seriesNumber:i}),f=0;f0&&\"rangeArea\"!==e){var A=n.renderPaths(w);A.node.setAttribute(\"stroke-dasharray\",l.dashArray),l.strokeWidth&&A.node.setAttribute(\"stroke-width\",l.strokeWidth),this.elSeries.add(A),A.attr(\"clip-path\",\"url(#forecastMask\".concat(r.globals.cuid,\")\")),k.attr(\"clip-path\",\"url(#nonForecastMask\".concat(r.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i,a=this,s=t.type,r=t.series,n=t.iterations,o=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,u=t.pX,g=t.pY,p=t.pathsFrom,f=t.linePaths,x=t.areaPaths,b=t.seriesIndex,m=t.lineYPosition,y=t.xArrj,w=t.yArrj,k=t.y2Arrj,A=t.isRangeStart,C=t.seriesRangeEnd,S=this.w,L=new Mi(this.ctx),M=this.yRatio,P=p.prevY,I=p.linePath,T=p.areaPath,z=p.pathFromLine,X=p.pathFromArea,R=v.isNumber(S.globals.minYArr[o])?S.globals.minYArr[o]:S.globals.minY;n||(n=S.globals.dataPoints>1?S.globals.dataPoints-1:S.globals.dataPoints);var E=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},Y=d,H=S.config.chart.stacked&&!S.globals.comboCharts||S.config.chart.stacked&&S.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[o])||void 0===i?void 0:i.type)),O=S.config.stroke.curve;Array.isArray(O)&&(O=Array.isArray(b)?O[b[h]]:O[h]);for(var F,D=0,_=0;_0&&S.globals.collapsedSeries.length0;e--){if(!(S.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][_+1]}else m=this.zeroY;else m=this.zeroY;N?d=E(R,m):(d=E(r[h][_+1],m),\"rangeArea\"===s&&(Y=E(C[h][_+1],m))),y.push(c),!N||\"smooth\"!==S.config.stroke.curve&&\"monotoneCubic\"!==S.config.stroke.curve?(w.push(d),k.push(Y)):(w.push(null),k.push(null));var B=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:o,i:h,j:_,prevY:P}),G=this._createPaths({type:s,series:r,i:h,realIndex:o,j:_,x:c,y:d,y2:Y,xArrj:y,yArrj:w,y2Arrj:k,pX:u,pY:g,pathState:D,segmentStartX:F,linePath:I,areaPath:T,linePaths:f,areaPaths:x,curve:O,isRangeStart:A});x=G.areaPaths,f=G.linePaths,u=G.pX,g=G.pY,D=G.pathState,F=G.segmentStartX,T=G.areaPath,I=G.linePath,!this.appendPathFrom||S.globals.hasNullValues||\"monotoneCubic\"===O&&\"rangeArea\"===s||(z+=L.line(c,this.areaBottomY),X+=L.line(c,this.areaBottomY)),this.handleNullDataPoints(r,B,h,_,o),this._handleMarkersAndLabels({type:s,pointsPos:B,i:h,j:_,realIndex:o,isRangeStart:A})}return{yArrj:w,xArrj:y,pathFromArea:X,areaPaths:x,pathFromLine:z,linePaths:f,linePath:I,areaPath:T}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,n=t.realIndex,o=this.w,l=new qi(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,n,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:n,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s,r=t.j,n=t.x,o=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,u=t.pX,g=t.pY,p=t.pathState,f=t.segmentStartX,x=t.linePath,b=t.areaPath,m=t.linePaths,v=t.areaPaths,y=t.curve,w=t.isRangeStart,k=new Mi(this.ctx),A=this.areaBottomY,C=\"rangeArea\"===e,S=\"rangeArea\"===e&&w;switch(y){case\"monotoneCubic\":var L=w?h:d;switch(p){case 0:if(null===L[r+1])break;p=1;case 1:if(!(C?l.length===i[a].length:r===i[a].length-2))break;case 2:var M=w?l:l.slice().reverse(),P=w?L:L.slice().reverse(),I=(s=P,M.map((function(t,e){return[t,s[e]]})).filter((function(t){return null!==t[1]}))),T=I.length>1?_a(I):I,z=[];C&&(S?v=I:z=v.reverse());var X=0,R=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e}(t),i=R,a=(R+=t.length)-1;S?x=k.move(I[i][0],I[i][1])+e:C?x=k.move(z[i][0],z[i][1])+k.line(I[i][0],I[i][1])+e+k.line(z[a][0],z[a][1]):(x=k.move(I[i][0],I[i][1])+e,b=x+k.line(I[a][0],A)+k.line(I[i][0],A)+\"z\",v.push(b)),m.push(x)})),C&&X>1&&!S){var E=m.slice(X).reverse();m.splice(X),E.forEach((function(t){return m.push(t)}))}p=0}break;case\"smooth\":var Y=.35*(n-u);if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r=i[a].length-2&&(S&&(x+=k.curve(n,o,n,o,n,c)+k.move(n,c)),b+=k.curve(n,o,n,o,n,A)+k.line(f,A)+\"z\",m.push(x),v.push(b),p=-1)}}u=n,g=o;break;default:var F=function(t,e,i){var a=[];switch(t){case\"stepline\":a=k.line(e,null,\"H\")+k.line(null,i,\"V\");break;case\"linestep\":a=k.line(null,i,\"V\")+k.line(e,null,\"H\");break;case\"straight\":a=k.line(e,i)}return a};if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r=i[a].length-2&&(S&&(x+=k.line(n,c)),b+=k.line(n,A)+k.line(f,A)+\"z\",m.push(x),v.push(b),p=-1)}}u=n,g=o}return{linePaths:m,areaPaths:v,pX:u,pY:g,pathState:p,segmentStartX:f,linePath:x,areaPath:b}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers(e,s,a+1,n,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,n=r(t)/this.height,o=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,n=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,n)}return i}}function e(e,a,s,n,o){n=void 0===n?0:n,o=void 0===o?0:o;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=n}(e,l=t[0],o)?(e.push(l),i(t.slice(1),e,s,n)):(h=s.cutArea(r(e),n),n.push(s.getCoordinates(e)),i(t,[],h,n)),n;n.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=n-s){var h=o.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var n=new Mi(this.ctx),o=n.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=n.getTextBasedOnMaxWidth({text:t,maxWidth:o,fontSize:e});return t.length!==l.length&&o/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new y(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),ja=86400,Va=10/ja,Ua=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:\"calculateTimeScaleTicks\",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new zi(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(t,e,this.utc),o=a.globals.gridWidth/r,l=o/24,h=l/60,c=h/60,d=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*ja),f=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),m={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},v={firstVal:m,currentMillisecond:m.minMillisecond,currentSecond:m.minSecond,currentMinute:m.minMinute,currentHour:m.minHour,currentMonthDate:m.minDate,currentDate:m.minDate,currentMonth:m.minMonth,currentYear:m.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:d,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(v);break;case\"months\":case\"half_year\":this.generateMonthScale(v);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(v);break;case\"hours\":this.generateHourScale(v);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(v);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(v)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?u(u({},e),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?u(u({},e),{},{value:t.value}):\"minute\"===t.unit?u(u({},e),{},{value:t.value,minute:t.value}):\"second\"===t.unit?u(u({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var n=!1,o=!1;switch(i.tickInterval){case\"years\":\"year\"===t.unit&&(n=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(n=!0);break;case\"months\":e=1,\"year\"===t.unit&&(n=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(n=!0),30===r&&(o=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(n=!0),30===r&&(o=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(n=!0);break;case\"days\":e=1,\"month\"===t.unit&&(n=!0);break;case\"hours\":\"day\"===t.unit&&(n=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(o=!0);break;case\"seconds_tens\":r%10!=0&&(o=!0)}if(\"hours\"===i.tickInterval||\"minutes_fives\"===i.tickInterval||\"seconds_tens\"===i.tickInterval||\"seconds_fives\"===i.tickInterval){if(!o)return!0}else if((r%e==0||n)&&!o)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new pa(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,n=e.minYear,o=0,l=new zi(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);o=(l.determineDaysOfYear(e.minYear)-c+1)*s,n=e.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:h,year:n,month:v.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:o,value:n,unit:h,year:a,month:v.monthMod(i+1)});for(var d=n,u=o,g=0;g1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,o=v.monthMod(a+1);var u=s+d,g=v.monthMod(o),p=o;0===o&&(c=\"year\",p=u,g=1,u+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:u,month:g})}else this.timeScaleArray.push({position:l,value:o,unit:c,year:s,month:v.monthMod(a)});for(var f=o+1,x=l,b=0,m=1;bn.determineDaysOfMonths(e+1,i)?(h=1,o=\"month\",u=e+=1,e):e},d=(24-e.minHour)*s,u=l,g=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,u=v.monthMod(e.minMonth),o=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,u=l,g=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:u,unit:o,year:this._getYear(a,g,0),month:v.monthMod(g),day:h});for(var p=d,f=0;fo.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>o.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),u=d*r,g=e.minHour+1,p=g;60===d&&(u=0,p=g=e.minHour);var f=i;p>=24&&(p=0,l=\"day\",g=f+=1);var x=h(f,a).month;x=c(f,x),this.timeScaleArray.push({position:u,value:g,unit:l,day:f,hour:p,year:s,month:v.monthMod(x)}),p++;for(var b=u,m=0;m=24)p=0,l=\"day\",x=h(f+=1,x).month,x=c(f,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===p?f:p;this.timeScaleArray.push({position:b,value:w,unit:l,hour:p,day:f,year:y,month:v.monthMod(x)}),p++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,u=r,g=n,p=o,f=s,x=(60-i-e/1e3)*h,b=0;b=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:x,value:d,unit:\"minute\",hour:f,minute:d,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,u=r,g=n,p=o,f=s,x=(1e3-e)/1e3*l,b=0;b=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:x,value:c,unit:\"second\",hour:f,minute:d,second:c,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new zi(e.ctx),r=e.createRawDateString(t,a),n=s.getDate(s.parseDate(r));if(e.utc||(n=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var o=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(o=l.year),\"month\"===t.unit&&(o=l.month),\"day\"===t.unit&&(o=l.day),\"hour\"===t.unit&&(o=l.hour),\"minute\"===t.unit&&(o=l.minute),\"second\"===t.unit&&(o=l.second),a=s.formatDate(n,o)}else a=s.formatDate(n,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new Mi(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return n.position>h+l+10?(r=o,n):null}return n}));return n=n.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),qa=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:\"setupElements\",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.chart.type;e.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].includes(a),e.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].includes(a),e.isBarHorizontal=[\"bar\",\"rangeBar\",\"boxPlot\"].includes(a)&&i.plotOptions.bar.horizontal,e.chartClass=\".apexcharts\".concat(e.chartID),e.dom.baseEl=this.el,e.dom.elWrap=document.createElement(\"div\"),Mi.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:\"apexcharts-canvas \".concat(e.chartClass.substring(1))}),this.el.appendChild(e.dom.elWrap),e.dom.Paper=window.SVG().addTo(e.dom.elWrap),e.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(i.chart.offsetX,\", \").concat(i.chart.offsetY,\")\")}),e.dom.Paper.node.style.background=\"dark\"!==i.theme.mode||i.chart.background?\"light\"!==i.theme.mode||i.chart.background?i.chart.background:\"#fff\":\"#424242\",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,\"foreignObject\"),Mi.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement(\"div\"),e.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),e.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.dom.elLegendForeign.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=this.ctx,s=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},o=s.chart.type||\"line\",l=null,h=0;r.series.forEach((function(e,a){var s=t[a].type||o;n[s]?(\"rangeArea\"===s?(n[s].series.push(r.seriesRangeStart[a]),n[s].seriesRangeEnd.push(r.seriesRangeEnd[a])):n[s].series.push(e),n[s].i.push(a),\"column\"!==s&&\"bar\"!==s||(i.globals.columnSeries=n.column)):[\"heatmap\",\"treemap\",\"pie\",\"donut\",\"polarArea\",\"radialBar\",\"radar\"].includes(s)?l=s:\"bar\"===s?(n.column.series.push(e),n.column.i.push(a)):console.warn(\"You have specified an unrecognized series type (\".concat(s,\").\")),o!==s&&\"scatter\"!==s&&h++})),h>0&&(l&&console.warn(\"Chart or series type \".concat(l,\" cannot appear with other chart or series types.\")),n.column.series.length>0&&s.plotOptions.bar.horizontal&&(h-=n.column.series.length,n.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"))),r.comboCharts||(r.comboCharts=h>0);var c=new Ba(a,e),d=new Ta(a,e);a.pie=new Ea(a);var u=new Ha(a);a.rangeBar=new Oa(a,e);var g=new Ya(a),p=[];if(r.comboCharts){var x,b,m=new Pi(a);if(n.area.series.length>0)(x=p).push.apply(x,f(m.drawSeriesByGroup(n.area,r.areaGroups,\"area\",c)));if(n.column.series.length>0)if(s.chart.stacked){var v=new Ia(a,e);p.push(v.draw(n.column.series,n.column.i))}else a.bar=new Pa(a,e),p.push(a.bar.draw(n.column.series,n.column.i));if(n.rangeArea.series.length>0&&p.push(c.draw(n.rangeArea.series,\"rangeArea\",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0)(b=p).push.apply(b,f(m.drawSeriesByGroup(n.line,r.lineGroups,\"line\",c)));if(n.candlestick.series.length>0&&p.push(d.draw(n.candlestick.series,\"candlestick\",n.candlestick.i)),n.boxPlot.series.length>0&&p.push(d.draw(n.boxPlot.series,\"boxPlot\",n.boxPlot.i)),n.rangeBar.series.length>0&&p.push(a.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var y=new Ba(a,e,!0);p.push(y.draw(n.scatter.series,\"scatter\",n.scatter.i))}if(n.bubble.series.length>0){var w=new Ba(a,e,!0);p.push(w.draw(n.bubble.series,\"bubble\",n.bubble.i))}}else switch(s.chart.type){case\"line\":p=c.draw(r.series,\"line\");break;case\"area\":p=c.draw(r.series,\"area\");break;case\"bar\":if(s.chart.stacked)p=new Ia(a,e).draw(r.series);else a.bar=new Pa(a,e),p=a.bar.draw(r.series);break;case\"candlestick\":p=new Ta(a,e).draw(r.series,\"candlestick\");break;case\"boxPlot\":p=new Ta(a,e).draw(r.series,s.chart.type);break;case\"rangeBar\":p=a.rangeBar.draw(r.series);break;case\"rangeArea\":p=c.draw(r.seriesRangeStart,\"rangeArea\",void 0,r.seriesRangeEnd);break;case\"heatmap\":p=new Xa(a,e).draw(r.series);break;case\"treemap\":p=new Ga(a,e).draw(r.series);break;case\"pie\":case\"donut\":case\"polarArea\":p=a.pie.draw(r.series);break;case\"radialBar\":p=u.draw(r.series);break;case\"radar\":p=g.draw(r.series);break;default:p=c.draw(r.series)}return p}},{key:\"setSVGDimensions\",value:function(){var t=this.w,e=t.globals,i=t.config;i.chart.width=i.chart.width||\"100%\",i.chart.height=i.chart.height||\"auto\",e.svgWidth=i.chart.width,e.svgHeight=i.chart.height;var a=v.getDimensions(this.el),s=i.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===s?v.isNumber(a[0])&&(0===a[0].width&&(a=v.getDimensions(this.el.parentNode)),e.svgWidth=a[0]*parseInt(i.chart.width,10)/100):\"px\"!==s&&\"\"!==s||(e.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if(\"auto\"!==e.svgHeight&&\"\"!==e.svgHeight)if(\"%\"===r){var n=v.getDimensions(this.el.parentNode);e.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else e.svgHeight=parseInt(i.chart.height,10);else e.svgHeight=e.axisCharts?e.svgWidth/1.61:e.svgWidth/1.2;if(e.svgWidth=Math.max(e.svgWidth,0),e.svgHeight=Math.max(e.svgHeight,0),Mi.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),\"%\"!==r){var o=i.chart.sparkline.enabled?0:e.axisCharts?i.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(e.svgHeight+o,\"px\")}e.dom.elWrap.style.width=\"\".concat(e.svgWidth,\"px\"),e.dom.elWrap.style.height=\"\".concat(e.svgHeight,\"px\")}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i=t.translateX;Mi.setAttrs(t.dom.elGraphical.node,{transform:\"translate(\".concat(i,\", \").concat(e,\")\")})}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,[\"top\",\"bottom\"].includes(t.config.legend.position)&&t.config.legend.show&&!t.config.legend.floating&&(i=new xa(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var n=v.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*t.globals.radialSize,o)}var l=Math.ceil(r+e.translateY+i+a);e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).includes(\"%\")||(e.dom.elWrap.style.height=\"\".concat(l,\"px\"),Mi.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(l,\"px\"))}},{key:\"coreCalculations\",value:function(){new ea(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(){return[]}))},i=new Bi,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:\"xySettings\",value:function(){var t=this.w,e=null;if(t.globals.axisCharts){if(\"back\"===t.config.xaxis.crosshairs.position&&new na(this.ctx).drawXCrosshairs(),\"back\"===t.config.yaxis[0].crosshairs.position&&new na(this.ctx).drawYCrosshairs(),\"datetime\"===t.config.xaxis.type&&void 0===t.config.xaxis.labels.formatter){this.ctx.timeScale=new Ua(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new Pi(this.ctx).getCalculatedRatios()}return e}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){return t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){return t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"_updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var o=[e.ctx];s&&(o=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(o=[e.ctx],e.ctx.w.globals.isExecCalled=!1),o.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&\"object\"===b(t)&&(s.config=new Wi(t),t=Pi.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=v.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?v.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?v.clone(t.yaxis):[],h.globals.initialConfig=v.extend({},h.config),h.globals.initialSeries=v.clone(h.config.series),t.series))){for(var c=0;c2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,n=i.w;return n.globals.shouldAnimate=e,n.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),n.config.series=r):n.config.series=t.slice(),a&&(n.globals.initialConfig.series=v.clone(n.config.series),n.globals.initialSeries=v.clone(n.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,e){var i=this.w,a=i.config.series[e];return u(u({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.findOne(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")):void 0===e&&(a=i.globals.dom.Paper.findOne(\"\".concat(s,\" path[j='\").concat(t,\"']\")),\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new Mi(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new Ni(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();!function(){function t(){for(var t=arguments.length>0&&arguments[0]!==h?arguments[0]:[],s=arguments.length>1?arguments[1]:h,r=arguments.length>2?arguments[2]:h,n=arguments.length>3?arguments[3]:h,o=arguments.length>4?arguments[4]:h,l=arguments.length>5?arguments[5]:h,h=arguments.length>6?arguments[6]:h,c=t.slice(s,r||h),d=n.slice(o,l||h),u=0,g={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};;){if(c[u]=e.call(g,c[u]),d[u]=e.call(p,d[u]),c[u][0]!=d[u][0]||\"M\"==c[u][0]||\"A\"==c[u][0]&&(c[u][4]!=d[u][4]||c[u][5]!=d[u][5])?(Array.prototype.splice.apply(c,[u,1].concat(a.call(g,c[u]))),Array.prototype.splice.apply(d,[u,1].concat(a.call(p,d[u])))):(c[u]=i.call(g,c[u]),d[u]=i.call(p,d[u])),++u==c.length&&u==d.length)break;u==c.length&&c.push([\"C\",g.pos[0],g.pos[1],g.pos[0],g.pos[1],g.pos[0],g.pos[1]]),u==d.length&&d.push([\"C\",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]])}return{start:c,dest:d}}function e(t){switch(t[0]){case\"z\":case\"Z\":t[0]=\"L\",t[1]=this.start[0],t[2]=this.start[1];break;case\"H\":t[0]=\"L\",t[2]=this.pos[1];break;case\"V\":t[0]=\"L\",t[2]=t[1],t[1]=this.pos[0];break;case\"T\":t[0]=\"Q\",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case\"S\":t[0]=\"C\",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!=\"SCQT\".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case\"M\":return this.pos=this.start=[t[1],t[2]],e;case\"L\":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case\"Q\":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case\"A\":e=function(t,e){var i,a,s,r,n,o,l,h,c,d,u,g,p,f,x,b,m,v,y,w,k,A,C,S,L,M,P=Math.abs(e[1]),I=Math.abs(e[2]),T=e[3]%360,z=e[4],X=e[5],R=e[6],E=e[7],Y=new bt(t),H=new bt(R,E),O=[];if(0===P||0===I||Y.x===H.x&&Y.y===H.y)return[[\"C\",Y.x,Y.y,H.x,H.y,H.x,H.y]];i=new bt((Y.x-H.x)/2,(Y.y-H.y)/2).transform((new vt).rotate(T)),a=i.x*i.x/(P*P)+i.y*i.y/(I*I),a>1&&(P*=a=Math.sqrt(a),I*=a);s=(new vt).rotate(T).scale(1/P,1/I).rotate(-T),Y=Y.transform(s),H=H.transform(s),r=[H.x-Y.x,H.y-Y.y],o=r[0]*r[0]+r[1]*r[1],n=Math.sqrt(o),r[0]/=n,r[1]/=n,l=o<4?Math.sqrt(1-o/4):0,z===X&&(l*=-1);h=new bt((H.x+Y.x)/2+l*-r[1],(H.y+Y.y)/2+l*r[0]),c=new bt(Y.x-h.x,Y.y-h.y),d=new bt(H.x-h.x,H.y-h.y),u=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(u*=-1);g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1);X&&u>g&&(g+=2*Math.PI);!X&&u0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0;if(!1===e)return!1;for(var i=e,a=t.length;i(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY});class Ja{constructor(t){t.remember(\"_draggable\",this),this.el=t,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(t){t?(this.el.on(\"mousedown.drag\",this.startDrag),this.el.on(\"touchstart.drag\",this.startDrag,{passive:!1})):(this.el.off(\"mousedown.drag\"),this.el.off(\"touchstart.drag\"))}startDrag(t){const e=!t.type.indexOf(\"mouse\");if(e&&1!==t.which&&0!==t.buttons)return;if(this.el.dispatch(\"beforedrag\",{event:t,handler:this}).defaultPrevented)return;t.preventDefault(),t.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point($a(t));const i=(e?\"mouseup\":\"touchend\")+\".drag\";zt(window,(e?\"mousemove\":\"touchmove\")+\".drag\",this.drag,this,{passive:!1}),zt(window,i,this.endDrag,this,{passive:!1}),this.el.fire(\"dragstart\",{event:t,handler:this,box:this.box})}drag(t){const{box:e,lastClick:i}=this,a=this.el.point($a(t)),s=a.x-i.x,r=a.y-i.y;if(!s&&!r)return e;const n=e.x+s,o=e.y+r;this.box=new kt(n,o,e.w,e.h),this.lastClick=a,this.el.dispatch(\"dragmove\",{event:t,handler:this,box:this.box}).defaultPrevented||this.move(n,o)}move(t,e){\"svg\"===this.el.type?gi.prototype.move.call(this.el,t,e):this.el.move(t,e)}endDrag(t){this.drag(t),this.el.fire(\"dragend\",{event:t,handler:this,box:this.box}),Xt(window,\"mousemove.drag\"),Xt(window,\"touchmove.drag\"),Xt(window,\"mouseup.drag\"),Xt(window,\"touchend.drag\"),this.init(!0)}}\n/*!\n * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse\n * @version 4.0.1\n * https://github.com/svgdotjs/svg.select.js\n *\n * @copyright Ulrich-Matthias Schäfer\n * @license MIT\n *\n * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)\n */\nfunction Qa(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function Ka([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{draggable(t=!0){return(this.remember(\"_draggable\")||new Ja(this)).init(t),this}});let ts=class{constructor(t){this.el=t,t.remember(\"_selectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass(\"svg_select_shape\")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass(\"svg_select_handle svg_select_handle_\"+a).on(\"mousedown.selection touchstart.selection\",Qa(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint(\"t\");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass(\"svg_select_handle_rot\").on(\"mousedown.selection touchstart.selection\",Qa(\"rot\",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne(\"g.svg_select_handle_rot\");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>Ka(t,e))),this.rotationPoint=Ka(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const es=t=>function(e=!0,i={}){\"object\"==typeof e&&(i=e,e=!0);let a=this.remember(\"_\"+t.name);return a||(e.prototype instanceof ts?(a=new e(this),e=!0):a=new t(this),this.remember(\"_\"+t.name,a)),a.active(e,i),this};\n/*!\n * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected\n * @version 2.0.4\n * https://github.com/svgdotjs/svg.resize.js\n *\n * @copyright [object Object]\n * @license MIT\n *\n * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time)\n */\n/*!\n * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse\n * @version 4.0.1\n * https://github.com/svgdotjs/svg.select.js\n *\n * @copyright Ulrich-Matthias Schäfer\n * @license MIT\n *\n * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)\n */\nfunction is(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function as([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{select:es(ts)}),Q([Ge,je,xe],{pointSelect:es(class{constructor(t){this.el=t,t.remember(\"_pointSelectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass(\"svg_select_shape_pointSelect\")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass(\"svg_select_handle_point\").on(\"mousedown.selection touchstart.selection\",Qa(\"point\",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>Ka(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class ss{constructor(t){this.el=t,t.remember(\"_selectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass(\"svg_select_shape\")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass(\"svg_select_handle svg_select_handle_\"+a).on(\"mousedown.selection touchstart.selection\",is(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint(\"t\");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass(\"svg_select_handle_rot\").on(\"mousedown.selection touchstart.selection\",is(\"rot\",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne(\"g.svg_select_handle_rot\");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>as(t,e))),this.rotationPoint=as(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const rs=t=>function(e=!0,i={}){\"object\"==typeof e&&(i=e,e=!0);let a=this.remember(\"_\"+t.name);return a||(e.prototype instanceof ss?(a=new e(this),e=!0):a=new t(this),this.remember(\"_\"+t.name,a)),a.active(e,i),this};Q(Gt,{select:rs(ss)}),Q([Ge,je,xe],{pointSelect:rs(class{constructor(t){this.el=t,t.remember(\"_pointSelectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass(\"svg_select_shape_pointSelect\")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass(\"svg_select_handle_point\").on(\"mousedown.selection touchstart.selection\",is(\"point\",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>as(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const ns=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY}),os=t=>{let e=1/0,i=1/0,a=-1/0,s=-1/0;for(let r=0;r{const s=t-e[0],r=(a-e[1])*i;return[s*i+e[0],r+e[1]]}));return os(a)}(this.box,s,r)}this.el.dispatch(\"resize\",{box:new kt(l),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.size(l.width,l.height).move(l.x,l.y)}movePoint(t){this.lastEvent=t;const{x:e,y:i}=this.snapToGrid(this.el.point(ns(t))),a=this.el.array().slice();a[this.index]=[e,i],this.el.dispatch(\"resize\",{box:os(a),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.plot(a)}rotate(t){this.lastEvent=t;const e=this.startPoint,i=this.el.point(ns(t)),{cx:a,cy:s}=this.box,r=e.x-a,n=e.y-s,o=i.x-a,l=i.y-s,h=Math.sqrt(r*r+n*n)*Math.sqrt(o*o+l*l);if(0===h)return;let c=Math.acos((r*o+n*l)/h)/Math.PI*180;if(!c)return;i.xdiv {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_shape {\\n stroke-width: 1;\\n stroke-dasharray: 10 10;\\n stroke: black;\\n stroke-opacity: 0.1;\\n pointer-events: none;\\n fill: none;\\n}\\n\\n.svg_select_handle {\\n stroke-width: 3;\\n stroke: black;\\n fill: none;\\n}\\n\\n.svg_select_handle_r {\\n cursor: e-resize;\\n}\\n\\n.svg_select_handle_l {\\n cursor: w-resize;\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-toolbar-custom-icon,\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, .7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,\\n.apexcharts-datalabel.apexcharts-element-hidden,\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value,\\n.apexcharts-datalabels,\\n.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-gridline,\\n.apexcharts-line,\\n.apexcharts-point-annotation-label,\\n.apexcharts-radar-series path:not(.apexcharts-marker),\\n.apexcharts-radar-series polygon,\\n.apexcharts-toolbar svg,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-zoom-rect,\\n.no-pointer-events {\\n pointer-events: none\\n}\\n\\n.apexcharts-tooltip-active .apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,\\n.resize-triggers,\\n.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers {\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows {\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers {\\n pointer-events: none\\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&o.setAttribute(\"nonce\",h),r?s.prepend(o):n.head.appendChild(o)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this,a=this.w;new hs(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,!v.elementExists(this.el))return s.animationEnded=!0,this.destroy(),null;(this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new Ni(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(this.core.setupElements(),\"treemap\"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var n=Pi.checkComboSeries(r,a.config.chart.type);s.comboCharts=n.comboCharts,s.comboBarCount=n.comboBarCount;var o=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||o&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Vi(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),\"category\"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pi(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new qi(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Ki(i);var n,o,l=i.grid.drawGrid();(i.annotations=new Fi(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(n=l.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){window.removeEventListener(\"resize\",this.windowResizeHandler),function(t,e){var i=ds.get(e);i&&(i.disconnect(),ds.delete(e))}(this.el.parentNode,this.parentResizeHandler);var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===v.escapeString(t)&&Apex._chartInstances.splice(i,1)})),new cs(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return n.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new Ji(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Ji(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=v.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),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
}1R*E%SU7Qq@Dt8Rqm+~8*Kx}2a|AH=&vzGq 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 Kh_T@RW^4p!Si>n7U^N_LBoX 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�y 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Ð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 Jv%NCB6#(>XtttQj diff --git a/src/web/assets/dist/assets/vue-apexcharts-SftWG7rg.js b/src/web/assets/dist/assets/vue-apexcharts-SftWG7rg.js new file mode 100644 index 00000000..492ad00a --- /dev/null +++ b/src/web/assets/dist/assets/vue-apexcharts-SftWG7rg.js @@ -0,0 +1,856 @@ +import{c as er,g as Bn}from"./_plugin-vue2_normalizer-DeOsZA-U.js";function tr(b,y){return function(){return b.apply(y,arguments)}}const{toString:Wn}=Object.prototype,{getPrototypeOf:Ts}=Object,vi=(b=>y=>{const S=Wn.call(y);return b[S]||(b[S]=S.slice(8,-1).toLowerCase())})(Object.create(null)),tt=b=>(b=b.toLowerCase(),y=>vi(y)===b),yi=b=>y=>typeof y===b,{isArray:Ft}=Array,Kt=yi("undefined");function jn(b){return b!==null&&!Kt(b)&&b.constructor!==null&&!Kt(b.constructor)&&Ve(b.constructor.isBuffer)&&b.constructor.isBuffer(b)}const ir=tt("ArrayBuffer");function Gn(b){let y;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?y=ArrayBuffer.isView(b):y=b&&b.buffer&&ir(b.buffer),y}const Vn=yi("string"),Ve=yi("function"),sr=yi("number"),wi=b=>b!==null&&typeof b=="object",Un=b=>b===!0||b===!1,fi=b=>{if(vi(b)!=="object")return!1;const y=Ts(b);return(y===null||y===Object.prototype||Object.getPrototypeOf(y)===null)&&!(Symbol.toStringTag in b)&&!(Symbol.iterator in b)},qn=tt("Date"),Zn=tt("File"),$n=tt("Blob"),Jn=tt("FileList"),Kn=b=>wi(b)&&Ve(b.pipe),Qn=b=>{let y;return b&&(typeof FormData=="function"&&b instanceof FormData||Ve(b.append)&&((y=vi(b))==="formdata"||y==="object"&&Ve(b.toString)&&b.toString()==="[object FormData]"))},eo=tt("URLSearchParams"),[to,io,so,ao]=["ReadableStream","Request","Response","Headers"].map(tt),ro=b=>b.trim?b.trim():b.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Qt(b,y,{allOwnKeys:S=!1}={}){if(b===null||typeof b>"u")return;let L,P;if(typeof b!="object"&&(b=[b]),Ft(b))for(L=0,P=b.length;L0;)if(P=S[L],y===P.toLowerCase())return P;return null}const At=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,rr=b=>!Kt(b)&&b!==At;function As(){const{caseless:b}=rr(this)&&this||{},y={},S=(L,P)=>{const z=b&&ar(y,P)||P;fi(y[z])&&fi(L)?y[z]=As(y[z],L):fi(L)?y[z]=As({},L):Ft(L)?y[z]=L.slice():y[z]=L};for(let L=0,P=arguments.length;L(Qt(y,(P,z)=>{S&&Ve(P)?b[z]=tr(P,S):b[z]=P},{allOwnKeys:L}),b),oo=b=>(b.charCodeAt(0)===65279&&(b=b.slice(1)),b),lo=(b,y,S,L)=>{b.prototype=Object.create(y.prototype,L),b.prototype.constructor=b,Object.defineProperty(b,"super",{value:y.prototype}),S&&Object.assign(b.prototype,S)},ho=(b,y,S,L)=>{let P,z,E;const F={};if(y=y||{},b==null)return y;do{for(P=Object.getOwnPropertyNames(b),z=P.length;z-- >0;)E=P[z],(!L||L(E,b,y))&&!F[E]&&(y[E]=b[E],F[E]=!0);b=S!==!1&&Ts(b)}while(b&&(!S||S(b,y))&&b!==Object.prototype);return y},co=(b,y,S)=>{b=String(b),(S===void 0||S>b.length)&&(S=b.length),S-=y.length;const L=b.indexOf(y,S);return L!==-1&&L===S},uo=b=>{if(!b)return null;if(Ft(b))return b;let y=b.length;if(!sr(y))return null;const S=new Array(y);for(;y-- >0;)S[y]=b[y];return S},go=(b=>y=>b&&y instanceof b)(typeof Uint8Array<"u"&&Ts(Uint8Array)),fo=(b,y)=>{const L=(b&&b[Symbol.iterator]).call(b);let P;for(;(P=L.next())&&!P.done;){const z=P.value;y.call(b,z[0],z[1])}},po=(b,y)=>{let S;const L=[];for(;(S=b.exec(y))!==null;)L.push(S);return L},xo=tt("HTMLFormElement"),mo=b=>b.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(S,L,P){return L.toUpperCase()+P}),Da=(({hasOwnProperty:b})=>(y,S)=>b.call(y,S))(Object.prototype),bo=tt("RegExp"),nr=(b,y)=>{const S=Object.getOwnPropertyDescriptors(b),L={};Qt(S,(P,z)=>{let E;(E=y(P,z,b))!==!1&&(L[z]=E||P)}),Object.defineProperties(b,L)},vo=b=>{nr(b,(y,S)=>{if(Ve(b)&&["arguments","caller","callee"].indexOf(S)!==-1)return!1;const L=b[S];if(Ve(L)){if(y.enumerable=!1,"writable"in y){y.writable=!1;return}y.set||(y.set=()=>{throw Error("Can not rewrite read-only method '"+S+"'")})}})},yo=(b,y)=>{const S={},L=P=>{P.forEach(z=>{S[z]=!0})};return Ft(b)?L(b):L(String(b).split(y)),S},wo=()=>{},ko=(b,y)=>b!=null&&Number.isFinite(b=+b)?b:y,bs="abcdefghijklmnopqrstuvwxyz",Na="0123456789",or={DIGIT:Na,ALPHA:bs,ALPHA_DIGIT:bs+bs.toUpperCase()+Na},Ao=(b=16,y=or.ALPHA_DIGIT)=>{let S="";const{length:L}=y;for(;b--;)S+=y[Math.random()*L|0];return S};function So(b){return!!(b&&Ve(b.append)&&b[Symbol.toStringTag]==="FormData"&&b[Symbol.iterator])}const Co=b=>{const y=new Array(10),S=(L,P)=>{if(wi(L)){if(y.indexOf(L)>=0)return;if(!("toJSON"in L)){y[P]=L;const z=Ft(L)?[]:{};return Qt(L,(E,F)=>{const D=S(E,P+1);!Kt(D)&&(z[F]=D)}),y[P]=void 0,z}}return L};return S(b,0)},Lo=tt("AsyncFunction"),Mo=b=>b&&(wi(b)||Ve(b))&&Ve(b.then)&&Ve(b.catch),lr=((b,y)=>b?setImmediate:y?((S,L)=>(At.addEventListener("message",({source:P,data:z})=>{P===At&&z===S&&L.length&&L.shift()()},!1),P=>{L.push(P),At.postMessage(S,"*")}))(`axios@${Math.random()}`,[]):S=>setTimeout(S))(typeof setImmediate=="function",Ve(At.postMessage)),Po=typeof queueMicrotask<"u"?queueMicrotask.bind(At):typeof process<"u"&&process.nextTick||lr,_={isArray:Ft,isArrayBuffer:ir,isBuffer:jn,isFormData:Qn,isArrayBufferView:Gn,isString:Vn,isNumber:sr,isBoolean:Un,isObject:wi,isPlainObject:fi,isReadableStream:to,isRequest:io,isResponse:so,isHeaders:ao,isUndefined:Kt,isDate:qn,isFile:Zn,isBlob:$n,isRegExp:bo,isFunction:Ve,isStream:Kn,isURLSearchParams:eo,isTypedArray:go,isFileList:Jn,forEach:Qt,merge:As,extend:no,trim:ro,stripBOM:oo,inherits:lo,toFlatObject:ho,kindOf:vi,kindOfTest:tt,endsWith:co,toArray:uo,forEachEntry:fo,matchAll:po,isHTMLForm:xo,hasOwnProperty:Da,hasOwnProp:Da,reduceDescriptors:nr,freezeMethods:vo,toObjectSet:yo,toCamelCase:mo,noop:wo,toFiniteNumber:ko,findKey:ar,global:At,isContextDefined:rr,ALPHABET:or,generateString:Ao,isSpecCompliantForm:So,toJSONObject:Co,isAsyncFn:Lo,isThenable:Mo,setImmediate:lr,asap:Po};function le(b,y,S,L,P){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=b,this.name="AxiosError",y&&(this.code=y),S&&(this.config=S),L&&(this.request=L),P&&(this.response=P,this.status=P.status?P.status:null)}_.inherits(le,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:_.toJSONObject(this.config),code:this.code,status:this.status}}});const hr=le.prototype,cr={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(b=>{cr[b]={value:b}});Object.defineProperties(le,cr);Object.defineProperty(hr,"isAxiosError",{value:!0});le.from=(b,y,S,L,P,z)=>{const E=Object.create(hr);return _.toFlatObject(b,E,function(D){return D!==Error.prototype},F=>F!=="isAxiosError"),le.call(E,b.message,y,S,L,P),E.cause=b,E.name=b.name,z&&Object.assign(E,z),E};const To=null;function Ss(b){return _.isPlainObject(b)||_.isArray(b)}function dr(b){return _.endsWith(b,"[]")?b.slice(0,-2):b}function _a(b,y,S){return b?b.concat(y).map(function(P,z){return P=dr(P),!S&&z?"["+P+"]":P}).join(S?".":""):y}function Eo(b){return _.isArray(b)&&!b.some(Ss)}const Ro=_.toFlatObject(_,{},null,function(y){return/^is[A-Z]/.test(y)});function ki(b,y,S){if(!_.isObject(b))throw new TypeError("target must be an object");y=y||new FormData,S=_.toFlatObject(S,{metaTokens:!0,dots:!1,indexes:!1},!1,function(ee,J){return!_.isUndefined(J[ee])});const L=S.metaTokens,P=S.visitor||V,z=S.dots,E=S.indexes,D=(S.Blob||typeof Blob<"u"&&Blob)&&_.isSpecCompliantForm(y);if(!_.isFunction(P))throw new TypeError("visitor must be a function");function W(Y){if(Y===null)return"";if(_.isDate(Y))return Y.toISOString();if(!D&&_.isBlob(Y))throw new le("Blob is not supported. Use a Buffer instead.");return _.isArrayBuffer(Y)||_.isTypedArray(Y)?D&&typeof Blob=="function"?new Blob([Y]):Buffer.from(Y):Y}function V(Y,ee,J){let he=Y;if(Y&&!J&&typeof Y=="object"){if(_.endsWith(ee,"{}"))ee=L?ee:ee.slice(0,-2),Y=JSON.stringify(Y);else if(_.isArray(Y)&&Eo(Y)||(_.isFileList(Y)||_.endsWith(ee,"[]"))&&(he=_.toArray(Y)))return ee=dr(ee),he.forEach(function(Ae,We){!(_.isUndefined(Ae)||Ae===null)&&y.append(E===!0?_a([ee],We,z):E===null?ee:ee+"[]",W(Ae))}),!1}return Ss(Y)?!0:(y.append(_a(J,ee,z),W(Y)),!1)}const Z=[],oe=Object.assign(Ro,{defaultVisitor:V,convertValue:W,isVisitable:Ss});function ke(Y,ee){if(!_.isUndefined(Y)){if(Z.indexOf(Y)!==-1)throw Error("Circular reference detected in "+ee.join("."));Z.push(Y),_.forEach(Y,function(he,Le){(!(_.isUndefined(he)||he===null)&&P.call(y,he,_.isString(Le)?Le.trim():Le,ee,oe))===!0&&ke(he,ee?ee.concat(Le):[Le])}),Z.pop()}}if(!_.isObject(b))throw new TypeError("data must be an object");return ke(b),y}function Ba(b){const y={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(b).replace(/[!'()~]|%20|%00/g,function(L){return y[L]})}function Es(b,y){this._pairs=[],b&&ki(b,this,y)}const ur=Es.prototype;ur.append=function(y,S){this._pairs.push([y,S])};ur.toString=function(y){const S=y?function(L){return y.call(this,L,Ba)}:Ba;return this._pairs.map(function(P){return S(P[0])+"="+S(P[1])},"").join("&")};function Io(b){return encodeURIComponent(b).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function gr(b,y,S){if(!y)return b;const L=S&&S.encode||Io;_.isFunction(S)&&(S={serialize:S});const P=S&&S.serialize;let z;if(P?z=P(y,S):z=_.isURLSearchParams(y)?y.toString():new Es(y,S).toString(L),z){const E=b.indexOf("#");E!==-1&&(b=b.slice(0,E)),b+=(b.indexOf("?")===-1?"?":"&")+z}return b}class Wa{constructor(){this.handlers=[]}use(y,S,L){return this.handlers.push({fulfilled:y,rejected:S,synchronous:L?L.synchronous:!1,runWhen:L?L.runWhen:null}),this.handlers.length-1}eject(y){this.handlers[y]&&(this.handlers[y]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(y){_.forEach(this.handlers,function(L){L!==null&&y(L)})}}const fr={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Oo=typeof URLSearchParams<"u"?URLSearchParams:Es,zo=typeof FormData<"u"?FormData:null,Xo=typeof Blob<"u"?Blob:null,Fo={isBrowser:!0,classes:{URLSearchParams:Oo,FormData:zo,Blob:Xo},protocols:["http","https","file","blob","url","data"]},Rs=typeof window<"u"&&typeof document<"u",Cs=typeof navigator=="object"&&navigator||void 0,Ho=Rs&&(!Cs||["ReactNative","NativeScript","NS"].indexOf(Cs.product)<0),Yo=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Do=Rs&&window.location.href||"http://localhost",No=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Rs,hasStandardBrowserEnv:Ho,hasStandardBrowserWebWorkerEnv:Yo,navigator:Cs,origin:Do},Symbol.toStringTag,{value:"Module"})),Fe={...No,...Fo};function _o(b,y){return ki(b,new Fe.classes.URLSearchParams,Object.assign({visitor:function(S,L,P,z){return Fe.isNode&&_.isBuffer(S)?(this.append(L,S.toString("base64")),!1):z.defaultVisitor.apply(this,arguments)}},y))}function Bo(b){return _.matchAll(/\w+|\[(\w*)]/g,b).map(y=>y[0]==="[]"?"":y[1]||y[0])}function Wo(b){const y={},S=Object.keys(b);let L;const P=S.length;let z;for(L=0;L=S.length;return E=!E&&_.isArray(P)?P.length:E,D?(_.hasOwnProp(P,E)?P[E]=[P[E],L]:P[E]=L,!F):((!P[E]||!_.isObject(P[E]))&&(P[E]=[]),y(S,L,P[E],z)&&_.isArray(P[E])&&(P[E]=Wo(P[E])),!F)}if(_.isFormData(b)&&_.isFunction(b.entries)){const S={};return _.forEachEntry(b,(L,P)=>{y(Bo(L),P,S,0)}),S}return null}function jo(b,y,S){if(_.isString(b))try{return(y||JSON.parse)(b),_.trim(b)}catch(L){if(L.name!=="SyntaxError")throw L}return(0,JSON.stringify)(b)}const ei={transitional:fr,adapter:["xhr","http","fetch"],transformRequest:[function(y,S){const L=S.getContentType()||"",P=L.indexOf("application/json")>-1,z=_.isObject(y);if(z&&_.isHTMLForm(y)&&(y=new FormData(y)),_.isFormData(y))return P?JSON.stringify(pr(y)):y;if(_.isArrayBuffer(y)||_.isBuffer(y)||_.isStream(y)||_.isFile(y)||_.isBlob(y)||_.isReadableStream(y))return y;if(_.isArrayBufferView(y))return y.buffer;if(_.isURLSearchParams(y))return S.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),y.toString();let F;if(z){if(L.indexOf("application/x-www-form-urlencoded")>-1)return _o(y,this.formSerializer).toString();if((F=_.isFileList(y))||L.indexOf("multipart/form-data")>-1){const D=this.env&&this.env.FormData;return ki(F?{"files[]":y}:y,D&&new D,this.formSerializer)}}return z||P?(S.setContentType("application/json",!1),jo(y)):y}],transformResponse:[function(y){const S=this.transitional||ei.transitional,L=S&&S.forcedJSONParsing,P=this.responseType==="json";if(_.isResponse(y)||_.isReadableStream(y))return y;if(y&&_.isString(y)&&(L&&!this.responseType||P)){const E=!(S&&S.silentJSONParsing)&&P;try{return JSON.parse(y)}catch(F){if(E)throw F.name==="SyntaxError"?le.from(F,le.ERR_BAD_RESPONSE,this,null,this.response):F}}return y}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Fe.classes.FormData,Blob:Fe.classes.Blob},validateStatus:function(y){return y>=200&&y<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_.forEach(["delete","get","head","post","put","patch"],b=>{ei.headers[b]={}});const Go=_.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Vo=b=>{const y={};let S,L,P;return b&&b.split(` +`).forEach(function(E){P=E.indexOf(":"),S=E.substring(0,P).trim().toLowerCase(),L=E.substring(P+1).trim(),!(!S||y[S]&&Go[S])&&(S==="set-cookie"?y[S]?y[S].push(L):y[S]=[L]:y[S]=y[S]?y[S]+", "+L:L)}),y},ja=Symbol("internals");function Jt(b){return b&&String(b).trim().toLowerCase()}function pi(b){return b===!1||b==null?b:_.isArray(b)?b.map(pi):String(b)}function Uo(b){const y=Object.create(null),S=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let L;for(;L=S.exec(b);)y[L[1]]=L[2];return y}const qo=b=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(b.trim());function vs(b,y,S,L,P){if(_.isFunction(L))return L.call(this,y,S);if(P&&(y=S),!!_.isString(y)){if(_.isString(L))return y.indexOf(L)!==-1;if(_.isRegExp(L))return L.test(y)}}function Zo(b){return b.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(y,S,L)=>S.toUpperCase()+L)}function $o(b,y){const S=_.toCamelCase(" "+y);["get","set","has"].forEach(L=>{Object.defineProperty(b,L+S,{value:function(P,z,E){return this[L].call(this,y,P,z,E)},configurable:!0})})}class Be{constructor(y){y&&this.set(y)}set(y,S,L){const P=this;function z(F,D,W){const V=Jt(D);if(!V)throw new Error("header name must be a non-empty string");const Z=_.findKey(P,V);(!Z||P[Z]===void 0||W===!0||W===void 0&&P[Z]!==!1)&&(P[Z||D]=pi(F))}const E=(F,D)=>_.forEach(F,(W,V)=>z(W,V,D));if(_.isPlainObject(y)||y instanceof this.constructor)E(y,S);else if(_.isString(y)&&(y=y.trim())&&!qo(y))E(Vo(y),S);else if(_.isHeaders(y))for(const[F,D]of y.entries())z(D,F,L);else y!=null&&z(S,y,L);return this}get(y,S){if(y=Jt(y),y){const L=_.findKey(this,y);if(L){const P=this[L];if(!S)return P;if(S===!0)return Uo(P);if(_.isFunction(S))return S.call(this,P,L);if(_.isRegExp(S))return S.exec(P);throw new TypeError("parser must be boolean|regexp|function")}}}has(y,S){if(y=Jt(y),y){const L=_.findKey(this,y);return!!(L&&this[L]!==void 0&&(!S||vs(this,this[L],L,S)))}return!1}delete(y,S){const L=this;let P=!1;function z(E){if(E=Jt(E),E){const F=_.findKey(L,E);F&&(!S||vs(L,L[F],F,S))&&(delete L[F],P=!0)}}return _.isArray(y)?y.forEach(z):z(y),P}clear(y){const S=Object.keys(this);let L=S.length,P=!1;for(;L--;){const z=S[L];(!y||vs(this,this[z],z,y,!0))&&(delete this[z],P=!0)}return P}normalize(y){const S=this,L={};return _.forEach(this,(P,z)=>{const E=_.findKey(L,z);if(E){S[E]=pi(P),delete S[z];return}const F=y?Zo(z):String(z).trim();F!==z&&delete S[z],S[F]=pi(P),L[F]=!0}),this}concat(...y){return this.constructor.concat(this,...y)}toJSON(y){const S=Object.create(null);return _.forEach(this,(L,P)=>{L!=null&&L!==!1&&(S[P]=y&&_.isArray(L)?L.join(", "):L)}),S}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([y,S])=>y+": "+S).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(y){return y instanceof this?y:new this(y)}static concat(y,...S){const L=new this(y);return S.forEach(P=>L.set(P)),L}static accessor(y){const L=(this[ja]=this[ja]={accessors:{}}).accessors,P=this.prototype;function z(E){const F=Jt(E);L[F]||($o(P,E),L[F]=!0)}return _.isArray(y)?y.forEach(z):z(y),this}}Be.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);_.reduceDescriptors(Be.prototype,({value:b},y)=>{let S=y[0].toUpperCase()+y.slice(1);return{get:()=>b,set(L){this[S]=L}}});_.freezeMethods(Be);function ys(b,y){const S=this||ei,L=y||S,P=Be.from(L.headers);let z=L.data;return _.forEach(b,function(F){z=F.call(S,z,P.normalize(),y?y.status:void 0)}),P.normalize(),z}function xr(b){return!!(b&&b.__CANCEL__)}function Ht(b,y,S){le.call(this,b??"canceled",le.ERR_CANCELED,y,S),this.name="CanceledError"}_.inherits(Ht,le,{__CANCEL__:!0});function mr(b,y,S){const L=S.config.validateStatus;!S.status||!L||L(S.status)?b(S):y(new le("Request failed with status code "+S.status,[le.ERR_BAD_REQUEST,le.ERR_BAD_RESPONSE][Math.floor(S.status/100)-4],S.config,S.request,S))}function Jo(b){const y=/^([-+\w]{1,25})(:?\/\/|:)/.exec(b);return y&&y[1]||""}function Ko(b,y){b=b||10;const S=new Array(b),L=new Array(b);let P=0,z=0,E;return y=y!==void 0?y:1e3,function(D){const W=Date.now(),V=L[z];E||(E=W),S[P]=D,L[P]=W;let Z=z,oe=0;for(;Z!==P;)oe+=S[Z++],Z=Z%b;if(P=(P+1)%b,P===z&&(z=(z+1)%b),W-E{S=V,P=null,z&&(clearTimeout(z),z=null),b.apply(null,W)};return[(...W)=>{const V=Date.now(),Z=V-S;Z>=L?E(W,V):(P=W,z||(z=setTimeout(()=>{z=null,E(P)},L-Z)))},()=>P&&E(P)]}const mi=(b,y,S=3)=>{let L=0;const P=Ko(50,250);return Qo(z=>{const E=z.loaded,F=z.lengthComputable?z.total:void 0,D=E-L,W=P(D),V=E<=F;L=E;const Z={loaded:E,total:F,progress:F?E/F:void 0,bytes:D,rate:W||void 0,estimated:W&&F&&V?(F-E)/W:void 0,event:z,lengthComputable:F!=null,[y?"download":"upload"]:!0};b(Z)},S)},Ga=(b,y)=>{const S=b!=null;return[L=>y[0]({lengthComputable:S,total:b,loaded:L}),y[1]]},Va=b=>(...y)=>_.asap(()=>b(...y)),el=Fe.hasStandardBrowserEnv?((b,y)=>S=>(S=new URL(S,Fe.origin),b.protocol===S.protocol&&b.host===S.host&&(y||b.port===S.port)))(new URL(Fe.origin),Fe.navigator&&/(msie|trident)/i.test(Fe.navigator.userAgent)):()=>!0,tl=Fe.hasStandardBrowserEnv?{write(b,y,S,L,P,z){const E=[b+"="+encodeURIComponent(y)];_.isNumber(S)&&E.push("expires="+new Date(S).toGMTString()),_.isString(L)&&E.push("path="+L),_.isString(P)&&E.push("domain="+P),z===!0&&E.push("secure"),document.cookie=E.join("; ")},read(b){const y=document.cookie.match(new RegExp("(^|;\\s*)("+b+")=([^;]*)"));return y?decodeURIComponent(y[3]):null},remove(b){this.write(b,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function il(b){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(b)}function sl(b,y){return y?b.replace(/\/?\/$/,"")+"/"+y.replace(/^\/+/,""):b}function br(b,y){return b&&!il(y)?sl(b,y):y}const Ua=b=>b instanceof Be?{...b}:b;function Ct(b,y){y=y||{};const S={};function L(W,V,Z,oe){return _.isPlainObject(W)&&_.isPlainObject(V)?_.merge.call({caseless:oe},W,V):_.isPlainObject(V)?_.merge({},V):_.isArray(V)?V.slice():V}function P(W,V,Z,oe){if(_.isUndefined(V)){if(!_.isUndefined(W))return L(void 0,W,Z,oe)}else return L(W,V,Z,oe)}function z(W,V){if(!_.isUndefined(V))return L(void 0,V)}function E(W,V){if(_.isUndefined(V)){if(!_.isUndefined(W))return L(void 0,W)}else return L(void 0,V)}function F(W,V,Z){if(Z in y)return L(W,V);if(Z in b)return L(void 0,W)}const D={url:z,method:z,data:z,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:F,headers:(W,V,Z)=>P(Ua(W),Ua(V),Z,!0)};return _.forEach(Object.keys(Object.assign({},b,y)),function(V){const Z=D[V]||P,oe=Z(b[V],y[V],V);_.isUndefined(oe)&&Z!==F||(S[V]=oe)}),S}const vr=b=>{const y=Ct({},b);let{data:S,withXSRFToken:L,xsrfHeaderName:P,xsrfCookieName:z,headers:E,auth:F}=y;y.headers=E=Be.from(E),y.url=gr(br(y.baseURL,y.url),b.params,b.paramsSerializer),F&&E.set("Authorization","Basic "+btoa((F.username||"")+":"+(F.password?unescape(encodeURIComponent(F.password)):"")));let D;if(_.isFormData(S)){if(Fe.hasStandardBrowserEnv||Fe.hasStandardBrowserWebWorkerEnv)E.setContentType(void 0);else if((D=E.getContentType())!==!1){const[W,...V]=D?D.split(";").map(Z=>Z.trim()).filter(Boolean):[];E.setContentType([W||"multipart/form-data",...V].join("; "))}}if(Fe.hasStandardBrowserEnv&&(L&&_.isFunction(L)&&(L=L(y)),L||L!==!1&&el(y.url))){const W=P&&z&&tl.read(z);W&&E.set(P,W)}return y},al=typeof XMLHttpRequest<"u",rl=al&&function(b){return new Promise(function(S,L){const P=vr(b);let z=P.data;const E=Be.from(P.headers).normalize();let{responseType:F,onUploadProgress:D,onDownloadProgress:W}=P,V,Z,oe,ke,Y;function ee(){ke&&ke(),Y&&Y(),P.cancelToken&&P.cancelToken.unsubscribe(V),P.signal&&P.signal.removeEventListener("abort",V)}let J=new XMLHttpRequest;J.open(P.method.toUpperCase(),P.url,!0),J.timeout=P.timeout;function he(){if(!J)return;const Ae=Be.from("getAllResponseHeaders"in J&&J.getAllResponseHeaders()),R={data:!F||F==="text"||F==="json"?J.responseText:J.response,status:J.status,statusText:J.statusText,headers:Ae,config:b,request:J};mr(function(Je){S(Je),ee()},function(Je){L(Je),ee()},R),J=null}"onloadend"in J?J.onloadend=he:J.onreadystatechange=function(){!J||J.readyState!==4||J.status===0&&!(J.responseURL&&J.responseURL.indexOf("file:")===0)||setTimeout(he)},J.onabort=function(){J&&(L(new le("Request aborted",le.ECONNABORTED,b,J)),J=null)},J.onerror=function(){L(new le("Network Error",le.ERR_NETWORK,b,J)),J=null},J.ontimeout=function(){let We=P.timeout?"timeout of "+P.timeout+"ms exceeded":"timeout exceeded";const R=P.transitional||fr;P.timeoutErrorMessage&&(We=P.timeoutErrorMessage),L(new le(We,R.clarifyTimeoutError?le.ETIMEDOUT:le.ECONNABORTED,b,J)),J=null},z===void 0&&E.setContentType(null),"setRequestHeader"in J&&_.forEach(E.toJSON(),function(We,R){J.setRequestHeader(R,We)}),_.isUndefined(P.withCredentials)||(J.withCredentials=!!P.withCredentials),F&&F!=="json"&&(J.responseType=P.responseType),W&&([oe,Y]=mi(W,!0),J.addEventListener("progress",oe)),D&&J.upload&&([Z,ke]=mi(D),J.upload.addEventListener("progress",Z),J.upload.addEventListener("loadend",ke)),(P.cancelToken||P.signal)&&(V=Ae=>{J&&(L(!Ae||Ae.type?new Ht(null,b,J):Ae),J.abort(),J=null)},P.cancelToken&&P.cancelToken.subscribe(V),P.signal&&(P.signal.aborted?V():P.signal.addEventListener("abort",V)));const Le=Jo(P.url);if(Le&&Fe.protocols.indexOf(Le)===-1){L(new le("Unsupported protocol "+Le+":",le.ERR_BAD_REQUEST,b));return}J.send(z||null)})},nl=(b,y)=>{const{length:S}=b=b?b.filter(Boolean):[];if(y||S){let L=new AbortController,P;const z=function(W){if(!P){P=!0,F();const V=W instanceof Error?W:this.reason;L.abort(V instanceof le?V:new Ht(V instanceof Error?V.message:V))}};let E=y&&setTimeout(()=>{E=null,z(new le(`timeout ${y} of ms exceeded`,le.ETIMEDOUT))},y);const F=()=>{b&&(E&&clearTimeout(E),E=null,b.forEach(W=>{W.unsubscribe?W.unsubscribe(z):W.removeEventListener("abort",z)}),b=null)};b.forEach(W=>W.addEventListener("abort",z));const{signal:D}=L;return D.unsubscribe=()=>_.asap(F),D}},ol=function*(b,y){let S=b.byteLength;if(S{const P=ll(b,y);let z=0,E,F=D=>{E||(E=!0,L&&L(D))};return new ReadableStream({async pull(D){try{const{done:W,value:V}=await P.next();if(W){F(),D.close();return}let Z=V.byteLength;if(S){let oe=z+=Z;S(oe)}D.enqueue(new Uint8Array(V))}catch(W){throw F(W),W}},cancel(D){return F(D),P.return()}},{highWaterMark:2})},Ai=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",yr=Ai&&typeof ReadableStream=="function",cl=Ai&&(typeof TextEncoder=="function"?(b=>y=>b.encode(y))(new TextEncoder):async b=>new Uint8Array(await new Response(b).arrayBuffer())),wr=(b,...y)=>{try{return!!b(...y)}catch{return!1}},dl=yr&&wr(()=>{let b=!1;const y=new Request(Fe.origin,{body:new ReadableStream,method:"POST",get duplex(){return b=!0,"half"}}).headers.has("Content-Type");return b&&!y}),Za=64*1024,Ls=yr&&wr(()=>_.isReadableStream(new Response("").body)),bi={stream:Ls&&(b=>b.body)};Ai&&(b=>{["text","arrayBuffer","blob","formData","stream"].forEach(y=>{!bi[y]&&(bi[y]=_.isFunction(b[y])?S=>S[y]():(S,L)=>{throw new le(`Response type '${y}' is not supported`,le.ERR_NOT_SUPPORT,L)})})})(new Response);const ul=async b=>{if(b==null)return 0;if(_.isBlob(b))return b.size;if(_.isSpecCompliantForm(b))return(await new Request(Fe.origin,{method:"POST",body:b}).arrayBuffer()).byteLength;if(_.isArrayBufferView(b)||_.isArrayBuffer(b))return b.byteLength;if(_.isURLSearchParams(b)&&(b=b+""),_.isString(b))return(await cl(b)).byteLength},gl=async(b,y)=>{const S=_.toFiniteNumber(b.getContentLength());return S??ul(y)},fl=Ai&&(async b=>{let{url:y,method:S,data:L,signal:P,cancelToken:z,timeout:E,onDownloadProgress:F,onUploadProgress:D,responseType:W,headers:V,withCredentials:Z="same-origin",fetchOptions:oe}=vr(b);W=W?(W+"").toLowerCase():"text";let ke=nl([P,z&&z.toAbortSignal()],E),Y;const ee=ke&&ke.unsubscribe&&(()=>{ke.unsubscribe()});let J;try{if(D&&dl&&S!=="get"&&S!=="head"&&(J=await gl(V,L))!==0){let R=new Request(y,{method:"POST",body:L,duplex:"half"}),He;if(_.isFormData(L)&&(He=R.headers.get("content-type"))&&V.setContentType(He),R.body){const[Je,ut]=Ga(J,mi(Va(D)));L=qa(R.body,Za,Je,ut)}}_.isString(Z)||(Z=Z?"include":"omit");const he="credentials"in Request.prototype;Y=new Request(y,{...oe,signal:ke,method:S.toUpperCase(),headers:V.normalize().toJSON(),body:L,duplex:"half",credentials:he?Z:void 0});let Le=await fetch(Y);const Ae=Ls&&(W==="stream"||W==="response");if(Ls&&(F||Ae&&ee)){const R={};["status","statusText","headers"].forEach(re=>{R[re]=Le[re]});const He=_.toFiniteNumber(Le.headers.get("content-length")),[Je,ut]=F&&Ga(He,mi(Va(F),!0))||[];Le=new Response(qa(Le.body,Za,Je,()=>{ut&&ut(),ee&&ee()}),R)}W=W||"text";let We=await bi[_.findKey(bi,W)||"text"](Le,b);return!Ae&&ee&&ee(),await new Promise((R,He)=>{mr(R,He,{data:We,headers:Be.from(Le.headers),status:Le.status,statusText:Le.statusText,config:b,request:Y})})}catch(he){throw ee&&ee(),he&&he.name==="TypeError"&&/fetch/i.test(he.message)?Object.assign(new le("Network Error",le.ERR_NETWORK,b,Y),{cause:he.cause||he}):le.from(he,he&&he.code,b,Y)}}),Ms={http:To,xhr:rl,fetch:fl};_.forEach(Ms,(b,y)=>{if(b){try{Object.defineProperty(b,"name",{value:y})}catch{}Object.defineProperty(b,"adapterName",{value:y})}});const $a=b=>`- ${b}`,pl=b=>_.isFunction(b)||b===null||b===!1,kr={getAdapter:b=>{b=_.isArray(b)?b:[b];const{length:y}=b;let S,L;const P={};for(let z=0;z`adapter ${F} `+(D===!1?"is not supported by the environment":"is not available in the build"));let E=y?z.length>1?`since : +`+z.map($a).join(` +`):" "+$a(z[0]):"as no adapter specified";throw new le("There is no suitable adapter to dispatch the request "+E,"ERR_NOT_SUPPORT")}return L},adapters:Ms};function ws(b){if(b.cancelToken&&b.cancelToken.throwIfRequested(),b.signal&&b.signal.aborted)throw new Ht(null,b)}function Ja(b){return ws(b),b.headers=Be.from(b.headers),b.data=ys.call(b,b.transformRequest),["post","put","patch"].indexOf(b.method)!==-1&&b.headers.setContentType("application/x-www-form-urlencoded",!1),kr.getAdapter(b.adapter||ei.adapter)(b).then(function(L){return ws(b),L.data=ys.call(b,b.transformResponse,L),L.headers=Be.from(L.headers),L},function(L){return xr(L)||(ws(b),L&&L.response&&(L.response.data=ys.call(b,b.transformResponse,L.response),L.response.headers=Be.from(L.response.headers))),Promise.reject(L)})}const Ar="1.7.9",Si={};["object","boolean","number","function","string","symbol"].forEach((b,y)=>{Si[b]=function(L){return typeof L===b||"a"+(y<1?"n ":" ")+b}});const Ka={};Si.transitional=function(y,S,L){function P(z,E){return"[Axios v"+Ar+"] Transitional option '"+z+"'"+E+(L?". "+L:"")}return(z,E,F)=>{if(y===!1)throw new le(P(E," has been removed"+(S?" in "+S:"")),le.ERR_DEPRECATED);return S&&!Ka[E]&&(Ka[E]=!0,console.warn(P(E," has been deprecated since v"+S+" and will be removed in the near future"))),y?y(z,E,F):!0}};Si.spelling=function(y){return(S,L)=>(console.warn(`${L} is likely a misspelling of ${y}`),!0)};function xl(b,y,S){if(typeof b!="object")throw new le("options must be an object",le.ERR_BAD_OPTION_VALUE);const L=Object.keys(b);let P=L.length;for(;P-- >0;){const z=L[P],E=y[z];if(E){const F=b[z],D=F===void 0||E(F,z,b);if(D!==!0)throw new le("option "+z+" must be "+D,le.ERR_BAD_OPTION_VALUE);continue}if(S!==!0)throw new le("Unknown option "+z,le.ERR_BAD_OPTION)}}const xi={assertOptions:xl,validators:Si},st=xi.validators;class St{constructor(y){this.defaults=y,this.interceptors={request:new Wa,response:new Wa}}async request(y,S){try{return await this._request(y,S)}catch(L){if(L instanceof Error){let P={};Error.captureStackTrace?Error.captureStackTrace(P):P=new Error;const z=P.stack?P.stack.replace(/^.+\n/,""):"";try{L.stack?z&&!String(L.stack).endsWith(z.replace(/^.+\n.+\n/,""))&&(L.stack+=` +`+z):L.stack=z}catch{}}throw L}}_request(y,S){typeof y=="string"?(S=S||{},S.url=y):S=y||{},S=Ct(this.defaults,S);const{transitional:L,paramsSerializer:P,headers:z}=S;L!==void 0&&xi.assertOptions(L,{silentJSONParsing:st.transitional(st.boolean),forcedJSONParsing:st.transitional(st.boolean),clarifyTimeoutError:st.transitional(st.boolean)},!1),P!=null&&(_.isFunction(P)?S.paramsSerializer={serialize:P}:xi.assertOptions(P,{encode:st.function,serialize:st.function},!0)),xi.assertOptions(S,{baseUrl:st.spelling("baseURL"),withXsrfToken:st.spelling("withXSRFToken")},!0),S.method=(S.method||this.defaults.method||"get").toLowerCase();let E=z&&_.merge(z.common,z[S.method]);z&&_.forEach(["delete","get","head","post","put","patch","common"],Y=>{delete z[Y]}),S.headers=Be.concat(E,z);const F=[];let D=!0;this.interceptors.request.forEach(function(ee){typeof ee.runWhen=="function"&&ee.runWhen(S)===!1||(D=D&&ee.synchronous,F.unshift(ee.fulfilled,ee.rejected))});const W=[];this.interceptors.response.forEach(function(ee){W.push(ee.fulfilled,ee.rejected)});let V,Z=0,oe;if(!D){const Y=[Ja.bind(this),void 0];for(Y.unshift.apply(Y,F),Y.push.apply(Y,W),oe=Y.length,V=Promise.resolve(S);Z{if(!L._listeners)return;let z=L._listeners.length;for(;z-- >0;)L._listeners[z](P);L._listeners=null}),this.promise.then=P=>{let z;const E=new Promise(F=>{L.subscribe(F),z=F}).then(P);return E.cancel=function(){L.unsubscribe(z)},E},y(function(z,E,F){L.reason||(L.reason=new Ht(z,E,F),S(L.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(y){if(this.reason){y(this.reason);return}this._listeners?this._listeners.push(y):this._listeners=[y]}unsubscribe(y){if(!this._listeners)return;const S=this._listeners.indexOf(y);S!==-1&&this._listeners.splice(S,1)}toAbortSignal(){const y=new AbortController,S=L=>{y.abort(L)};return this.subscribe(S),y.signal.unsubscribe=()=>this.unsubscribe(S),y.signal}static source(){let y;return{token:new Is(function(P){y=P}),cancel:y}}}function ml(b){return function(S){return b.apply(null,S)}}function bl(b){return _.isObject(b)&&b.isAxiosError===!0}const Ps={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ps).forEach(([b,y])=>{Ps[y]=b});function Sr(b){const y=new St(b),S=tr(St.prototype.request,y);return _.extend(S,St.prototype,y,{allOwnKeys:!0}),_.extend(S,y,null,{allOwnKeys:!0}),S.create=function(P){return Sr(Ct(b,P))},S}const Te=Sr(ei);Te.Axios=St;Te.CanceledError=Ht;Te.CancelToken=Is;Te.isCancel=xr;Te.VERSION=Ar;Te.toFormData=ki;Te.AxiosError=le;Te.Cancel=Te.CanceledError;Te.all=function(y){return Promise.all(y)};Te.spread=ml;Te.isAxiosError=bl;Te.mergeConfig=Ct;Te.AxiosHeaders=Be;Te.formToJSON=b=>pr(_.isHTMLForm(b)?new FormData(b):b);Te.getAdapter=kr.getAdapter;Te.HttpStatusCode=Ps;Te.default=Te;var Cr={exports:{}},ks={exports:{}};/*! + * ApexCharts v4.2.0 + * (c) 2018-2024 ApexCharts + * Released under the MIT License. + */var Qa;function vl(){return Qa||(Qa=1,function(b,y){(function(S,L){b.exports=L()})(er,function(){function S(o,e){(e==null||e>o.length)&&(e=o.length);for(var t=0,i=Array(e);t=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(l){throw l},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,r=!0,n=!1;return{s:function(){t=t.call(o)},n:function(){var l=t.next();return r=l.done,l},e:function(l){n=!0,a=l},f:function(){try{r||t.return==null||t.return()}finally{if(n)throw a}}}}function D(o){var e=oe();return function(){var t,i=V(o);if(e){var s=V(this).constructor;t=Reflect.construct(i,arguments,s)}else t=i.apply(this,arguments);return function(a,r){if(r&&(typeof r=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return L(a)}(this,t)}}function W(o,e,t){return(e=Le(e))in o?Object.defineProperty(o,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[e]=t,o}function V(o){return V=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},V(o)}function Z(o,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),Object.defineProperty(o,"prototype",{writable:!1}),e&&ee(o,e)}function oe(){try{var o=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(oe=function(){return!!o})()}function ke(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable})),t.push.apply(t,i)}return t}function Y(o){for(var e=1;e>16,n=i>>8&255,l=255&i;return"#"+(16777216+65536*(Math.round((s-r)*a)+r)+256*(Math.round((s-n)*a)+n)+(Math.round((s-l)*a)+l)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,t){return o.isColorHex(t)?this.shadeHexColor(e,t):this.shadeRGBColor(e,t)}}],[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&Ae(e)==="object"&&!Array.isArray(e)&&e!=null}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,i=[];for(t=0;t1&&arguments[1]!==void 0?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(t.length===1)return t[0];var i="",s=e<0?"-":"",a=t[0].replace(".",""),r=Number(t[1])+1;if(r<0){for(i=s+"0.";r++;)i+="0";return i+a.replace(/^-/,"")}for(r-=a.length;r--;)i+="0";return a+i}},{key:"elementExists",value:function(e){return!(!e||!e.isConnected)}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),i=e.clientHeight,s=e.clientWidth;return i-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[s-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce(function(t,i){return Array.isArray(i)&&(i=i.reduce(function(s,a){return s.length>a.length?s:a})),t.length>i.length?t:i},0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"#999999",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.6;e.substring(0,1)!=="#"&&(e="#999999");var i=e.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var s=0;s1&&arguments[1]!==void 0?arguments[1]:"x",i=e.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,i){if(i>=e.length)for(var s=i-e.length+1;s--;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e.style.key=t[i])}},{key:"preciseAddition",value:function(e,t){var i=(String(e).split(".")[1]||"").length,s=(String(t).split(".")[1]||"").length,a=Math.pow(10,Math.max(i,s));return(Math.round(e*a)+Math.round(t*a))/a}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isMsEdge",value:function(){var e=window.navigator.userAgent,t=e.indexOf("Edge/");return t>0&&parseInt(e.substring(t+5,e.indexOf(".",t)),10)}},{key:"getGCD",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,s=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*s),t=Math.round(Math.abs(t)*s);t;){var a=t;t=e%t,e=a}return e/s}},{key:"getPrimeFactors",value:function(e){for(var t=[],i=2;e>=2;)e%i==0?(t.push(i),e/=i):i++;return t}},{key:"mod",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:7,s=Math.pow(10,i-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*s))%(t=Math.round(Math.abs(t)*s))/s}}]),o}(),He=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"animateLine",value:function(e,t,i,s){e.attr(t).animate(s).attr(i)}},{key:"animateMarker",value:function(e,t,i,s){e.attr({opacity:0}).animate(t).attr({opacity:1}).after(function(){s()})}},{key:"animateRect",value:function(e,t,i,s,a){e.attr(t).animate(s).attr(i).after(function(){return a()})}},{key:"animatePathsGradually",value:function(e){var t=e.el,i=e.realIndex,s=e.j,a=e.fill,r=e.pathFrom,n=e.pathTo,l=e.speed,h=e.delay,d=this.w,c=0;d.config.chart.animations.animateGradually.enabled&&(c=d.config.chart.animations.animateGradually.delay),d.config.chart.animations.dynamicAnimation.enabled&&d.globals.dataChanged&&d.config.chart.type!=="bar"&&(c=0),this.morphSVG(t,i,s,d.config.chart.type!=="line"||d.globals.comboCharts?a:"stroke",r,n,l,h*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(e){var t=e.el;t.classList.remove("apexcharts-element-hidden"),t.classList.add("apexcharts-hidden-element-shown")})}},{key:"animationCompleted",value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),typeof t.config.chart.events.animationEnd=="function"&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:"morphSVG",value:function(e,t,i,s,a,r,n,l){var h=this,d=this.w;a||(a=e.attr("pathFrom")),r||(r=e.attr("pathTo"));var c=function(u){return d.config.chart.type==="radar"&&(n=1),"M 0 ".concat(d.globals.gridHeight)};(!a||a.indexOf("undefined")>-1||a.indexOf("NaN")>-1)&&(a=c()),(!r.trim()||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),d.globals.shouldAnimate||(n=1),e.plot(a).animate(1,l).plot(a).animate(n,l).plot(r).after(function(){R.isNumber(i)?i===d.globals.series[d.globals.maxValsInArrayIndex].length-2&&d.globals.shouldAnimate&&h.animationCompleted(e):s!=="none"&&d.globals.shouldAnimate&&(!d.globals.comboCharts&&t===d.globals.series.length-1||d.globals.comboCharts)&&h.animationCompleted(e),h.showDelayedElements()})}}]),o}();const Je={},ut=[];function re(o,e){if(Array.isArray(o))for(const t of o)re(t,e);else if(typeof o!="object")Os(Object.getOwnPropertyNames(e)),Je[o]=Object.assign(Je[o]||{},e);else for(const t in o)re(t,o[t])}function _e(o){return Je[o]||{}}function Os(o){ut.push(...o)}function Ci(o,e){let t;const i=o.length,s=[];for(t=0;tLr.has(o.nodeName),zs=(o,e,t={})=>{const i={...e};for(const s in i)i[s].valueOf()===t[s]&&delete i[s];Object.keys(i).length?o.node.setAttribute("data-svgjs",JSON.stringify(i)):(o.node.removeAttribute("data-svgjs"),o.node.removeAttribute("svgjs:data"))},Ti="http://www.w3.org/2000/svg",Ei="http://www.w3.org/2000/xmlns/",Pt="http://www.w3.org/1999/xlink",ce={window:typeof window>"u"?null:window,document:typeof document>"u"?null:document};function Yt(){return ce.window}let Ri=class{};const gt={},Ii="___SYMBOL___ROOT___";function Dt(o,e=Ti){return ce.document.createElementNS(e,o)}function Ye(o,e=!1){if(o instanceof Ri)return o;if(typeof o=="object")return Oi(o);if(o==null)return new gt[Ii];if(typeof o=="string"&&o.charAt(0)!=="<")return Oi(ce.document.querySelector(o));const t=e?ce.document.createElement("div"):Dt("svg");return t.innerHTML=o,o=Oi(t.firstChild),t.removeChild(t.firstChild),o}function be(o,e){return e&&(e instanceof ce.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:Dt(o)}function Ue(o){if(!o)return null;if(o.instance instanceof Ri)return o.instance;if(o.nodeName==="#document-fragment")return new gt.Fragment(o);let e=Lt(o.nodeName||"Dom");return e==="LinearGradient"||e==="RadialGradient"?e="Gradient":gt[e]||(e="Dom"),new gt[e](o)}let Oi=Ue;function de(o,e=o.name,t=!1){return gt[e]=o,t&&(gt[Ii]=o),Os(Object.getOwnPropertyNames(o.prototype)),o}let Mr=1e3;function Xs(o){return"Svgjs"+Lt(o)+Mr++}function Fs(o){for(let e=o.children.length-1;e>=0;e--)Fs(o.children[e]);return o.id&&(o.id=Xs(o.nodeName)),o}function Q(o,e){let t,i;for(i=(o=Array.isArray(o)?o:[o]).length-1;i>=0;i--)for(t in e)o[i].prototype[t]=e[t]}function ve(o){return function(...e){const t=e[e.length-1];return!t||t.constructor!==Object||t instanceof Array?o.apply(this,e):o.apply(this,e.slice(0,-1)).attr(t)}}re("Dom",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const o=this.position();return this.parent().add(this.remove(),o+1),this},backward:function(){const o=this.position();return this.parent().add(this.remove(),o?o-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(o){(o=Ye(o)).remove();const e=this.position();return this.parent().add(o,e),this},after:function(o){(o=Ye(o)).remove();const e=this.position();return this.parent().add(o,e+1),this},insertBefore:function(o){return(o=Ye(o)).before(this),this},insertAfter:function(o){return(o=Ye(o)).after(this),this}});const Hs=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,Pr=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Tr=/rgb\((\d+),(\d+),(\d+)\)/,Er=/(#[a-z_][a-z0-9\-_]*)/i,Rr=/\)\s*,?\s*/,Ir=/\s/g,Ys=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,Ds=/^rgb\(/,Ns=/^(\s+)?$/,_s=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Or=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,at=/[\s,]+/,zi=/[MLHVCSQTAZ]/i;function zr(o){const e=Math.round(o),t=Math.max(0,Math.min(255,e)).toString(16);return t.length===1?"0"+t:t}function Tt(o,e){for(let t=e.length;t--;)if(o[e[t]]==null)return!1;return!0}function Xi(o,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?o+6*(e-o)*t:t<.5?e:t<2/3?o+(e-o)*(2/3-t)*6:o}re("Dom",{classes:function(){const o=this.attr("class");return o==null?[]:o.trim().split(at)},hasClass:function(o){return this.classes().indexOf(o)!==-1},addClass:function(o){if(!this.hasClass(o)){const e=this.classes();e.push(o),this.attr("class",e.join(" "))}return this},removeClass:function(o){return this.hasClass(o)&&this.attr("class",this.classes().filter(function(e){return e!==o}).join(" ")),this},toggleClass:function(o){return this.hasClass(o)?this.removeClass(o):this.addClass(o)}}),re("Dom",{css:function(o,e){const t={};if(arguments.length===0)return this.node.style.cssText.split(/\s*;\s*/).filter(function(i){return!!i.length}).forEach(function(i){const s=i.split(/\s*:\s*/);t[s[0]]=s[1]}),t;if(arguments.length<2){if(Array.isArray(o)){for(const i of o){const s=i;t[i]=this.node.style.getPropertyValue(s)}return t}if(typeof o=="string")return this.node.style.getPropertyValue(o);if(typeof o=="object")for(const i in o)this.node.style.setProperty(i,o[i]==null||Ns.test(o[i])?"":o[i])}return arguments.length===2&&this.node.style.setProperty(o,e==null||Ns.test(e)?"":e),this},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},visible:function(){return this.css("display")!=="none"}}),re("Dom",{data:function(o,e,t){if(o==null)return this.data(Ci(function(i,s){let a;const r=i.length,n=[];for(a=0;ai.nodeName.indexOf("data-")===0),i=>i.nodeName.slice(5)));if(o instanceof Array){const i={};for(const s of o)i[s]=this.data(s);return i}if(typeof o=="object")for(e in o)this.data(e,o[e]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+o))}catch{return this.attr("data-"+o)}else this.attr("data-"+o,e===null?null:t===!0||typeof e=="string"||typeof e=="number"?e:JSON.stringify(e));return this}}),re("Dom",{remember:function(o,e){if(typeof arguments[0]=="object")for(const t in o)this.remember(t,o[t]);else{if(arguments.length===1)return this.memory()[o];this.memory()[o]=e}return this},forget:function(){if(arguments.length===0)this._memory={};else for(let o=arguments.length-1;o>=0;o--)delete this.memory()[arguments[o]];return this},memory:function(){return this._memory=this._memory||{}}});class xe{constructor(...e){this.init(...e)}static isColor(e){return e&&(e instanceof xe||this.isRgb(e)||this.test(e))}static isRgb(e){return e&&typeof e.r=="number"&&typeof e.g=="number"&&typeof e.b=="number"}static random(e="vibrant",t){const{random:i,round:s,sin:a,PI:r}=Math;if(e==="vibrant"){const n=24*i()+57,l=38*i()+45,h=360*i();return new xe(n,l,h,"lch")}if(e==="sine"){const n=s(80*a(2*r*(t=t??i())/.5+.01)+150),l=s(50*a(2*r*t/.5+4.6)+200),h=s(100*a(2*r*t/.5+2.3)+150);return new xe(n,l,h)}if(e==="pastel"){const n=8*i()+86,l=17*i()+9,h=360*i();return new xe(n,l,h,"lch")}if(e==="dark"){const n=10+10*i(),l=50*i()+86,h=360*i();return new xe(n,l,h,"lch")}if(e==="rgb"){const n=255*i(),l=255*i(),h=255*i();return new xe(n,l,h)}if(e==="lab"){const n=100*i(),l=256*i()-128,h=256*i()-128;return new xe(n,l,h,"lab")}if(e==="grey"){const n=255*i();return new xe(n,n,n)}throw new Error("Unsupported random color mode")}static test(e){return typeof e=="string"&&(Ys.test(e)||Ds.test(e))}cmyk(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(l=>l/255),n=Math.min(1-s,1-a,1-r);return n===1?new xe(0,0,0,1,"cmyk"):new xe((1-s-n)/(1-n),(1-a-n)/(1-n),(1-r-n)/(1-n),n,"cmyk")}hsl(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(u=>u/255),n=Math.max(s,a,r),l=Math.min(s,a,r),h=(n+l)/2,d=n===l,c=n-l;return new xe(360*(d?0:n===s?((a-r)/c+(a.5?c/(2-n-l):c/(n+l)),100*h,"hsl")}init(e=0,t=0,i=0,s=0,a="rgb"){if(e=e||0,this.space)for(const c in this.space)delete this[this.space[c]];if(typeof e=="number")a=typeof s=="string"?s:a,s=typeof s=="string"?0:s,Object.assign(this,{_a:e,_b:t,_c:i,_d:s,space:a});else if(e instanceof Array)this.space=t||(typeof e[3]=="string"?e[3]:e[4])||"rgb",Object.assign(this,{_a:e[0],_b:e[1],_c:e[2],_d:e[3]||0});else if(e instanceof Object){const c=function(u,g){const p=Tt(u,"rgb")?{_a:u.r,_b:u.g,_c:u.b,_d:0,space:"rgb"}:Tt(u,"xyz")?{_a:u.x,_b:u.y,_c:u.z,_d:0,space:"xyz"}:Tt(u,"hsl")?{_a:u.h,_b:u.s,_c:u.l,_d:0,space:"hsl"}:Tt(u,"lab")?{_a:u.l,_b:u.a,_c:u.b,_d:0,space:"lab"}:Tt(u,"lch")?{_a:u.l,_b:u.c,_c:u.h,_d:0,space:"lch"}:Tt(u,"cmyk")?{_a:u.c,_b:u.m,_c:u.y,_d:u.k,space:"cmyk"}:{_a:0,_b:0,_c:0,space:"rgb"};return p.space=g||p.space,p}(e,t);Object.assign(this,c)}else if(typeof e=="string")if(Ds.test(e)){const c=e.replace(Ir,""),[u,g,p]=Tr.exec(c).slice(1,4).map(f=>parseInt(f));Object.assign(this,{_a:u,_b:g,_c:p,_d:0,space:"rgb"})}else{if(!Ys.test(e))throw Error("Unsupported string format, can't construct Color");{const c=f=>parseInt(f,16),[,u,g,p]=Pr.exec(function(f){return f.length===4?["#",f.substring(1,2),f.substring(1,2),f.substring(2,3),f.substring(2,3),f.substring(3,4),f.substring(3,4)].join(""):f}(e)).map(c);Object.assign(this,{_a:u,_b:g,_c:p,_d:0,space:"rgb"})}}const{_a:r,_b:n,_c:l,_d:h}=this,d=this.space==="rgb"?{r,g:n,b:l}:this.space==="xyz"?{x:r,y:n,z:l}:this.space==="hsl"?{h:r,s:n,l}:this.space==="lab"?{l:r,a:n,b:l}:this.space==="lch"?{l:r,c:n,h:l}:this.space==="cmyk"?{c:r,m:n,y:l,k:h}:{};Object.assign(this,d)}lab(){const{x:e,y:t,z:i}=this.xyz();return new xe(116*t-16,500*(e-t),200*(t-i),"lab")}lch(){const{l:e,a:t,b:i}=this.lab(),s=Math.sqrt(t**2+i**2);let a=180*Math.atan2(i,t)/Math.PI;return a<0&&(a*=-1,a=360-a),new xe(e,s,a,"lch")}rgb(){if(this.space==="rgb")return this;if((e=this.space)==="lab"||e==="xyz"||e==="lch"){let{x:t,y:i,z:s}=this;if(this.space==="lab"||this.space==="lch"){let{l:g,a:p,b:f}=this;if(this.space==="lch"){const{c:T,h:A}=this,M=Math.PI/180;p=T*Math.cos(M*A),f=T*Math.sin(M*A)}const x=(g+16)/116,m=p/500+x,v=x-f/200,w=16/116,C=.008856,k=7.787;t=.95047*(m**3>C?m**3:(m-w)/k),i=1*(x**3>C?x**3:(x-w)/k),s=1.08883*(v**3>C?v**3:(v-w)/k)}const a=3.2406*t+-1.5372*i+-.4986*s,r=-.9689*t+1.8758*i+.0415*s,n=.0557*t+-.204*i+1.057*s,l=Math.pow,h=.0031308,d=a>h?1.055*l(a,1/2.4)-.055:12.92*a,c=r>h?1.055*l(r,1/2.4)-.055:12.92*r,u=n>h?1.055*l(n,1/2.4)-.055:12.92*n;return new xe(255*d,255*c,255*u)}if(this.space==="hsl"){let{h:t,s:i,l:s}=this;if(t/=360,i/=100,s/=100,i===0)return s*=255,new xe(s,s,s);const a=s<.5?s*(1+i):s+i-s*i,r=2*s-a,n=255*Xi(r,a,t+1/3),l=255*Xi(r,a,t),h=255*Xi(r,a,t-1/3);return new xe(n,l,h)}if(this.space==="cmyk"){const{c:t,m:i,y:s,k:a}=this,r=255*(1-Math.min(1,t*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a)),l=255*(1-Math.min(1,s*(1-a)+a));return new xe(r,n,l)}return this;var e}toArray(){const{_a:e,_b:t,_c:i,_d:s,space:a}=this;return[e,t,i,s,a]}toHex(){const[e,t,i]=this._clamped().map(zr);return`#${e}${t}${i}`}toRgb(){const[e,t,i]=this._clamped();return`rgb(${e},${t},${i})`}toString(){return this.toHex()}xyz(){const{_a:e,_b:t,_c:i}=this.rgb(),[s,a,r]=[e,t,i].map(x=>x/255),n=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,h=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,d=(.4124*n+.3576*l+.1805*h)/.95047,c=(.2126*n+.7152*l+.0722*h)/1,u=(.0193*n+.1192*l+.9505*h)/1.08883,g=d>.008856?Math.pow(d,1/3):7.787*d+16/116,p=c>.008856?Math.pow(c,1/3):7.787*c+16/116,f=u>.008856?Math.pow(u,1/3):7.787*u+16/116;return new xe(g,p,f,"xyz")}_clamped(){const{_a:e,_b:t,_c:i}=this.rgb(),{max:s,min:a,round:r}=Math;return[e,t,i].map(n=>s(0,a(r(n),255)))}}class fe{constructor(...e){this.init(...e)}clone(){return new fe(this)}init(e,t){const a=Array.isArray(e)?{x:e[0],y:e[1]}:typeof e=="object"?{x:e.x,y:e.y}:{x:e,y:t};return this.x=a.x==null?0:a.x,this.y=a.y==null?0:a.y,this}toArray(){return[this.x,this.y]}transform(e){return this.clone().transformO(e)}transformO(e){K.isMatrixLike(e)||(e=new K(e));const{x:t,y:i}=this;return this.x=e.a*t+e.c*i+e.e,this.y=e.b*t+e.d*i+e.f,this}}function Et(o,e,t){return Math.abs(e-o)<1e-6}class K{constructor(...e){this.init(...e)}static formatTransforms(e){const t=e.flip==="both"||e.flip===!0,i=e.flip&&(t||e.flip==="x")?-1:1,s=e.flip&&(t||e.flip==="y")?-1:1,a=e.skew&&e.skew.length?e.skew[0]:isFinite(e.skew)?e.skew:isFinite(e.skewX)?e.skewX:0,r=e.skew&&e.skew.length?e.skew[1]:isFinite(e.skew)?e.skew:isFinite(e.skewY)?e.skewY:0,n=e.scale&&e.scale.length?e.scale[0]*i:isFinite(e.scale)?e.scale*i:isFinite(e.scaleX)?e.scaleX*i:i,l=e.scale&&e.scale.length?e.scale[1]*s:isFinite(e.scale)?e.scale*s:isFinite(e.scaleY)?e.scaleY*s:s,h=e.shear||0,d=e.rotate||e.theta||0,c=new fe(e.origin||e.around||e.ox||e.originX,e.oy||e.originY),u=c.x,g=c.y,p=new fe(e.position||e.px||e.positionX||NaN,e.py||e.positionY||NaN),f=p.x,x=p.y,m=new fe(e.translate||e.tx||e.translateX,e.ty||e.translateY),v=m.x,w=m.y,C=new fe(e.relative||e.rx||e.relativeX,e.ry||e.relativeY);return{scaleX:n,scaleY:l,skewX:a,skewY:r,shear:h,theta:d,rx:C.x,ry:C.y,tx:v,ty:w,ox:u,oy:g,px:f,py:x}}static fromArray(e){return{a:e[0],b:e[1],c:e[2],d:e[3],e:e[4],f:e[5]}}static isMatrixLike(e){return e.a!=null||e.b!=null||e.c!=null||e.d!=null||e.e!=null||e.f!=null}static matrixMultiply(e,t,i){const s=e.a*t.a+e.c*t.b,a=e.b*t.a+e.d*t.b,r=e.a*t.c+e.c*t.d,n=e.b*t.c+e.d*t.d,l=e.e+e.a*t.e+e.c*t.f,h=e.f+e.b*t.e+e.d*t.f;return i.a=s,i.b=a,i.c=r,i.d=n,i.e=l,i.f=h,i}around(e,t,i){return this.clone().aroundO(e,t,i)}aroundO(e,t,i){const s=e||0,a=t||0;return this.translateO(-s,-a).lmultiplyO(i).translateO(s,a)}clone(){return new K(this)}decompose(e=0,t=0){const i=this.a,s=this.b,a=this.c,r=this.d,n=this.e,l=this.f,h=i*r-s*a,d=h>0?1:-1,c=d*Math.sqrt(i*i+s*s),u=Math.atan2(d*s,d*i),g=180/Math.PI*u,p=Math.cos(u),f=Math.sin(u),x=(i*a+s*r)/h,m=a*c/(x*i-s)||r*c/(x*s+i);return{scaleX:c,scaleY:m,shear:x,rotate:g,translateX:n-e+e*p*c+t*(x*p*c-f*m),translateY:l-t+e*f*c+t*(x*f*c+p*m),originX:e,originY:t,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(e){if(e===this)return!0;const t=new K(e);return Et(this.a,t.a)&&Et(this.b,t.b)&&Et(this.c,t.c)&&Et(this.d,t.d)&&Et(this.e,t.e)&&Et(this.f,t.f)}flip(e,t){return this.clone().flipO(e,t)}flipO(e,t){return e==="x"?this.scaleO(-1,1,t,0):e==="y"?this.scaleO(1,-1,0,t):this.scaleO(-1,-1,e,t||e)}init(e){const t=K.fromArray([1,0,0,1,0,0]);return e=e instanceof Ee?e.matrixify():typeof e=="string"?K.fromArray(e.split(at).map(parseFloat)):Array.isArray(e)?K.fromArray(e):typeof e=="object"&&K.isMatrixLike(e)?e:typeof e=="object"?new K().transform(e):arguments.length===6?K.fromArray([].slice.call(arguments)):t,this.a=e.a!=null?e.a:t.a,this.b=e.b!=null?e.b:t.b,this.c=e.c!=null?e.c:t.c,this.d=e.d!=null?e.d:t.d,this.e=e.e!=null?e.e:t.e,this.f=e.f!=null?e.f:t.f,this}inverse(){return this.clone().inverseO()}inverseO(){const e=this.a,t=this.b,i=this.c,s=this.d,a=this.e,r=this.f,n=e*s-t*i;if(!n)throw new Error("Cannot invert "+this);const l=s/n,h=-t/n,d=-i/n,c=e/n,u=-(l*a+d*r),g=-(h*a+c*r);return this.a=l,this.b=h,this.c=d,this.d=c,this.e=u,this.f=g,this}lmultiply(e){return this.clone().lmultiplyO(e)}lmultiplyO(e){const t=e instanceof K?e:new K(e);return K.matrixMultiply(t,this,this)}multiply(e){return this.clone().multiplyO(e)}multiplyO(e){const t=e instanceof K?e:new K(e);return K.matrixMultiply(this,t,this)}rotate(e,t,i){return this.clone().rotateO(e,t,i)}rotateO(e,t=0,i=0){e=Li(e);const s=Math.cos(e),a=Math.sin(e),{a:r,b:n,c:l,d:h,e:d,f:c}=this;return this.a=r*s-n*a,this.b=n*s+r*a,this.c=l*s-h*a,this.d=h*s+l*a,this.e=d*s-c*a+i*a-t*s+t,this.f=c*s+d*a-t*a-i*s+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(e,t=e,i=0,s=0){arguments.length===3&&(s=i,i=t,t=e);const{a,b:r,c:n,d:l,e:h,f:d}=this;return this.a=a*e,this.b=r*t,this.c=n*e,this.d=l*t,this.e=h*e-i*e+i,this.f=d*t-s*t+s,this}shear(e,t,i){return this.clone().shearO(e,t,i)}shearO(e,t=0,i=0){const{a:s,b:a,c:r,d:n,e:l,f:h}=this;return this.a=s+a*e,this.c=r+n*e,this.e=l+h*e-i*e,this}skew(){return this.clone().skewO(...arguments)}skewO(e,t=e,i=0,s=0){arguments.length===3&&(s=i,i=t,t=e),e=Li(e),t=Li(t);const a=Math.tan(e),r=Math.tan(t),{a:n,b:l,c:h,d,e:c,f:u}=this;return this.a=n+l*a,this.b=l+n*r,this.c=h+d*a,this.d=d+h*r,this.e=c+u*a-s*a,this.f=u+c*r-i*r,this}skewX(e,t,i){return this.skew(e,0,t,i)}skewY(e,t,i){return this.skew(0,e,t,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}transform(e){if(K.isMatrixLike(e))return new K(e).multiplyO(this);const t=K.formatTransforms(e),{x:i,y:s}=new fe(t.ox,t.oy).transform(this),a=new K().translateO(t.rx,t.ry).lmultiplyO(this).translateO(-i,-s).scaleO(t.scaleX,t.scaleY).skewO(t.skewX,t.skewY).shearO(t.shear).rotateO(t.theta).translateO(i,s);if(isFinite(t.px)||isFinite(t.py)){const r=new fe(i,s).transform(a),n=isFinite(t.px)?t.px-r.x:0,l=isFinite(t.py)?t.py-r.y:0;a.translateO(n,l)}return a.translateO(t.tx,t.ty),a}translate(e,t){return this.clone().translateO(e,t)}translateO(e,t){return this.e+=e||0,this.f+=t||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function ot(){if(!ot.nodes){const o=Ye().size(2,0);o.node.style.cssText=["opacity: 0","position: absolute","left: -100%","top: -100%","overflow: hidden"].join(";"),o.attr("focusable","false"),o.attr("aria-hidden","true");const e=o.path().node;ot.nodes={svg:o,path:e}}if(!ot.nodes.svg.node.parentNode){const o=ce.document.body||ce.document.documentElement;ot.nodes.svg.addTo(o)}return ot.nodes}function Bs(o){return!(o.width||o.height||o.x||o.y)}de(K,"Matrix");class Me{constructor(...e){this.init(...e)}addOffset(){return this.x+=ce.window.pageXOffset,this.y+=ce.window.pageYOffset,new Me(this)}init(e){return e=typeof e=="string"?e.split(at).map(parseFloat):Array.isArray(e)?e:typeof e=="object"?[e.left!=null?e.left:e.x,e.top!=null?e.top:e.y,e.width,e.height]:arguments.length===4?[].slice.call(arguments):[0,0,0,0],this.x=e[0]||0,this.y=e[1]||0,this.width=this.w=e[2]||0,this.height=this.h=e[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return Bs(this)}merge(e){const t=Math.min(this.x,e.x),i=Math.min(this.y,e.y),s=Math.max(this.x+this.width,e.x+e.width)-t,a=Math.max(this.y+this.height,e.y+e.height)-i;return new Me(t,i,s,a)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+" "+this.y+" "+this.width+" "+this.height}transform(e){e instanceof K||(e=new K(e));let t=1/0,i=-1/0,s=1/0,a=-1/0;return[new fe(this.x,this.y),new fe(this.x2,this.y),new fe(this.x,this.y2),new fe(this.x2,this.y2)].forEach(function(r){r=r.transform(e),t=Math.min(t,r.x),i=Math.max(i,r.x),s=Math.min(s,r.y),a=Math.max(a,r.y)}),new Me(t,s,i-t,a-s)}}function Ws(o,e,t){let i;try{if(i=e(o.node),Bs(i)&&(s=o.node)!==ce.document&&!(ce.document.documentElement.contains||function(a){for(;a.parentNode;)a=a.parentNode;return a===ce.document}).call(ce.document.documentElement,s))throw new Error("Element not in the dom")}catch{i=t(o)}var s;return i}re({viewbox:{viewbox(o,e,t,i){return o==null?new Me(this.attr("viewBox")):this.attr("viewBox",new Me(o,e,t,i))},zoom(o,e){let{width:t,height:i}=this.attr(["width","height"]);if((t||i)&&typeof t!="string"&&typeof i!="string"||(t=this.node.clientWidth,i=this.node.clientHeight),!t||!i)throw new Error("Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element");const s=this.viewbox(),a=t/s.width,r=i/s.height,n=Math.min(a,r);if(o==null)return n;let l=n/o;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new fe(t/2/a+s.x,i/2/r+s.y);const h=new Me(s).transform(new K({scale:l,origin:e}));return this.viewbox(h)}}}),de(Me,"Box");class ft extends Array{constructor(e=[],...t){if(super(e,...t),typeof e=="number")return this;this.length=0,this.push(...e)}}Q([ft],{each(o,...e){return typeof o=="function"?this.map((t,i,s)=>o.call(t,t,i,s)):this.map(t=>t[o](...e))},toArray(){return Array.prototype.concat.apply([],this)}});const Xr=["toArray","constructor","each"];function pt(o,e){return new ft(Ci((e||ce.document).querySelectorAll(o),function(t){return Ue(t)}))}ft.extend=function(o){o=o.reduce((e,t)=>(Xr.includes(t)||t[0]==="_"||(t in Array.prototype&&(e["$"+t]=Array.prototype[t]),e[t]=function(...i){return this.each(t,...i)}),e),{}),Q([ft],o)};let Fr=0;const js={};function Gs(o){let e=o.getEventHolder();return e===ce.window&&(e=js),e.events||(e.events={}),e.events}function Fi(o){return o.getEventTarget()}function rt(o,e,t,i,s){const a=t.bind(i||o),r=Ye(o),n=Gs(r),l=Fi(r);e=Array.isArray(e)?e:e.split(at),t._svgjsListenerId||(t._svgjsListenerId=++Fr),e.forEach(function(h){const d=h.split(".")[0],c=h.split(".")[1]||"*";n[d]=n[d]||{},n[d][c]=n[d][c]||{},n[d][c][t._svgjsListenerId]=a,l.addEventListener(d,a,s||!1)})}function qe(o,e,t,i){const s=Ye(o),a=Gs(s),r=Fi(s);(typeof t!="function"||(t=t._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||"").split(at)).forEach(function(n){const l=n&&n.split(".")[0],h=n&&n.split(".")[1];let d,c;if(t)a[l]&&a[l][h||"*"]&&(r.removeEventListener(l,a[l][h||"*"][t],i||!1),delete a[l][h||"*"][t]);else if(l&&h){if(a[l]&&a[l][h]){for(c in a[l][h])qe(r,[l,h].join("."),c);delete a[l][h]}}else if(h)for(n in a)for(d in a[n])h===d&&qe(r,[n,h].join("."));else if(l){if(a[l]){for(d in a[l])qe(r,[l,d].join("."));delete a[l]}}else{for(n in a)qe(r,n);(function(u){let g=u.getEventHolder();g===ce.window&&(g=js),g.events&&(g.events={})})(s)}})}class Nt extends Ri{addEventListener(){}dispatch(e,t,i){return function(s,a,r,n){const l=Fi(s);return a instanceof ce.window.Event||(a=new ce.window.CustomEvent(a,{detail:r,cancelable:!0,...n})),l.dispatchEvent(a),a}(this,e,t,i)}dispatchEvent(e){const t=this.getEventHolder().events;if(!t)return!0;const i=t[e.type];for(const s in i)for(const a in i[s])i[s][a](e);return!e.defaultPrevented}fire(e,t,i){return this.dispatch(e,t,i),this}getEventHolder(){return this}getEventTarget(){return this}off(e,t,i){return qe(this,e,t,i),this}on(e,t,i,s){return rt(this,e,t,i,s),this}removeEventListener(){}}function Vs(){}de(Nt,"EventTarget");const Hi=400,Hr=">",Yr=0,Dr={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","text-anchor":"start"};class xt extends Array{constructor(...e){super(...e),this.init(...e)}clone(){return new this.constructor(this)}init(e){return typeof e=="number"||(this.length=0,this.push(...this.parse(e))),this}parse(e=[]){return e instanceof Array?e:e.trim().split(at).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(" ")}valueOf(){const e=[];return e.push(...this),e}}class ne{constructor(...e){this.init(...e)}convert(e){return new ne(this.value,e)}divide(e){return e=new ne(e),new ne(this/e,this.unit||e.unit)}init(e,t){return t=Array.isArray(e)?e[1]:t,e=Array.isArray(e)?e[0]:e,this.value=0,this.unit=t||"",typeof e=="number"?this.value=isNaN(e)?0:isFinite(e)?e:e<0?-34e37:34e37:typeof e=="string"?(t=e.match(Hs))&&(this.value=parseFloat(t[1]),t[5]==="%"?this.value/=100:t[5]==="s"&&(this.value*=1e3),this.unit=t[5]):e instanceof ne&&(this.value=e.valueOf(),this.unit=e.unit),this}minus(e){return e=new ne(e),new ne(this-e,this.unit||e.unit)}plus(e){return e=new ne(e),new ne(this+e,this.unit||e.unit)}times(e){return e=new ne(e),new ne(this*e,this.unit||e.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}toString(){return(this.unit==="%"?~~(1e8*this.value)/1e6:this.unit==="s"?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nr=new Set(["fill","stroke","color","bgcolor","stop-color","flood-color","lighting-color"]),Us=[];class lt extends Nt{constructor(e,t){super(),this.node=e,this.type=e.nodeName,t&&e!==t&&this.attr(t)}add(e,t){return(e=Ye(e)).removeNamespace&&this.node instanceof ce.window.SVGElement&&e.removeNamespace(),t==null?this.node.appendChild(e.node):e.node!==this.node.childNodes[t]&&this.node.insertBefore(e.node,this.node.childNodes[t]),this}addTo(e,t){return Ye(e).put(this,t)}children(){return new ft(Ci(this.node.children,function(e){return Ue(e)}))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(e=!0,t=!0){this.writeDataToDom();let i=this.node.cloneNode(e);return t&&(i=Fs(i)),new this.constructor(i)}each(e,t){const i=this.children();let s,a;for(s=0,a=i.length;s=0}html(e,t){return this.xml(e,t,"http://www.w3.org/1999/xhtml")}id(e){return e!==void 0||this.node.id||(this.node.id=Xs(this.type)),this.attr("id",e)}index(e){return[].slice.call(this.node.childNodes).indexOf(e.node)}last(){return Ue(this.node.lastChild)}matches(e){const t=this.node,i=t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector||null;return i&&i.call(t,e)}parent(e){let t=this;if(!t.node.parentNode)return null;if(t=Ue(t.node.parentNode),!e)return t;do if(typeof e=="string"?t.matches(e):t instanceof e)return t;while(t=Ue(t.node.parentNode));return t}put(e,t){return e=Ye(e),this.add(e,t),e}putIn(e,t){return Ye(e).add(this,t)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(e){return this.node.removeChild(e.node),this}replace(e){return e=Ye(e),this.node.parentNode&&this.node.parentNode.replaceChild(e.node,this.node),e}round(e=2,t=null){const i=10**e,s=this.attr(t);for(const a in s)typeof s[a]=="number"&&(s[a]=Math.round(s[a]*i)/i);return this.attr(s),this}svg(e,t){return this.xml(e,t,Ti)}toString(){return this.id()}words(e){return this.node.textContent=e,this}wrap(e){const t=this.parent();if(!t)return this.addTo(e);const i=t.index(this);return t.put(e,i).put(this)}writeDataToDom(){return this.each(function(){this.writeDataToDom()}),this}xml(e,t,i){if(typeof e=="boolean"&&(i=t,t=e,e=null),e==null||typeof e=="function"){t=t==null||t,this.writeDataToDom();let n=this;if(e!=null){if(n=Ue(n.node.cloneNode(!0)),t){const l=e(n);if(n=l||n,l===!1)return""}n.each(function(){const l=e(this),h=l||this;l===!1?this.remove():l&&this!==h&&this.replace(h)},!0)}return t?n.node.outerHTML:n.node.innerHTML}t=t!=null&&t;const s=Dt("wrapper",i),a=ce.document.createDocumentFragment();s.innerHTML=e;for(let n=s.children.length;n--;)a.appendChild(s.firstElementChild);const r=this.parent();return t?this.replace(a)&&r:this.add(a)}}Q(lt,{attr:function(o,e,t){if(o==null){o={},e=this.node.attributes;for(const i of e)o[i.nodeName]=_s.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return o}if(o instanceof Array)return o.reduce((i,s)=>(i[s]=this.attr(s),i),{});if(typeof o=="object"&&o.constructor===Object)for(e in o)this.attr(e,o[e]);else if(e===null)this.node.removeAttribute(o);else{if(e==null)return(e=this.node.getAttribute(o))==null?Dr[o]:_s.test(e)?parseFloat(e):e;typeof(e=Us.reduce((i,s)=>s(o,i,this),e))=="number"?e=new ne(e):Nr.has(o)&&xe.isColor(e)?e=new xe(e):e.constructor===Array&&(e=new xt(e)),o==="leading"?this.leading&&this.leading(e):typeof t=="string"?this.node.setAttributeNS(t,o,e.toString()):this.node.setAttribute(o,e.toString()),!this.rebuild||o!=="font-size"&&o!=="x"||this.rebuild()}return this},find:function(o){return pt(o,this.node)},findOne:function(o){return Ue(this.node.querySelector(o))}}),de(lt,"Dom");class Ee extends lt{constructor(e,t){super(e,t),this.dom={},this.node.instance=this,(e.hasAttribute("data-svgjs")||e.hasAttribute("svgjs:data"))&&this.setData(JSON.parse(e.getAttribute("data-svgjs"))??JSON.parse(e.getAttribute("svgjs:data"))??{})}center(e,t){return this.cx(e).cy(t)}cx(e){return e==null?this.x()+this.width()/2:this.x(e-this.width()/2)}cy(e){return e==null?this.y()+this.height()/2:this.y(e-this.height()/2)}defs(){const e=this.root();return e&&e.defs()}dmove(e,t){return this.dx(e).dy(t)}dx(e=0){return this.x(new ne(e).plus(this.x()))}dy(e=0){return this.y(new ne(e).plus(this.y()))}getEventHolder(){return this}height(e){return this.attr("height",e)}move(e,t){return this.x(e).y(t)}parents(e=this.root()){const t=typeof e=="string";t||(e=Ye(e));const i=new ft;let s=this;for(;(s=s.parent())&&s.node!==ce.document&&s.nodeName!=="#document-fragment"&&(i.push(s),t||s.node!==e.node)&&(!t||!s.matches(e));)if(s.node===this.root().node)return null;return i}reference(e){if(!(e=this.attr(e)))return null;const t=(e+"").match(Er);return t?Ye(t[1]):null}root(){const e=this.parent(function(t){return gt[t]}(Ii));return e&&e.root()}setData(e){return this.dom=e,this}size(e,t){const i=Mt(this,e,t);return this.width(new ne(i.width)).height(new ne(i.height))}width(e){return this.attr("width",e)}writeDataToDom(){return zs(this,this.dom),super.writeDataToDom()}x(e){return this.attr("x",e)}y(e){return this.attr("y",e)}}Q(Ee,{bbox:function(){const o=Ws(this,e=>e.getBBox(),e=>{try{const t=e.clone().addTo(ot().svg).show(),i=t.node.getBBox();return t.remove(),i}catch(t){throw new Error(`Getting bbox of element "${e.node.nodeName}" is not possible: ${t.toString()}`)}});return new Me(o)},rbox:function(o){const e=Ws(this,i=>i.getBoundingClientRect(),i=>{throw new Error(`Getting rbox of element "${i.node.nodeName}" is not possible`)}),t=new Me(e);return o?t.transform(o.screenCTM().inverseO()):t.addOffset()},inside:function(o,e){const t=this.bbox();return o>t.x&&e>t.y&&o=0;t--)i[_t[o][t]]!=null&&this.attr(_t.prefix(o,_t[o][t]),i[_t[o][t]]);return this},re(["Element","Runner"],e)}),re(["Element","Runner"],{matrix:function(o,e,t,i,s,a){return o==null?new K(this):this.attr("transform",new K(o,e,t,i,s,a))},rotate:function(o,e,t){return this.transform({rotate:o,ox:e,oy:t},!0)},skew:function(o,e,t,i){return arguments.length===1||arguments.length===3?this.transform({skew:o,ox:e,oy:t},!0):this.transform({skew:[o,e],ox:t,oy:i},!0)},shear:function(o,e,t){return this.transform({shear:o,ox:e,oy:t},!0)},scale:function(o,e,t,i){return arguments.length===1||arguments.length===3?this.transform({scale:o,ox:e,oy:t},!0):this.transform({scale:[o,e],ox:t,oy:i},!0)},translate:function(o,e){return this.transform({translate:[o,e]},!0)},relative:function(o,e){return this.transform({relative:[o,e]},!0)},flip:function(o="both",e="center"){return"xybothtrue".indexOf(o)===-1&&(e=o,o="both"),this.transform({flip:o,origin:e},!0)},opacity:function(o){return this.attr("opacity",o)}}),re("radius",{radius:function(o,e=o){return(this._element||this).type==="radialGradient"?this.attr("r",new ne(o)):this.rx(o).ry(e)}}),re("Path",{length:function(){return this.node.getTotalLength()},pointAt:function(o){return new fe(this.node.getPointAtLength(o))}}),re(["Element","Runner"],{font:function(o,e){if(typeof o=="object"){for(e in o)this.font(e,o[e]);return this}return o==="leading"?this.leading(e):o==="anchor"?this.attr("text-anchor",e):o==="size"||o==="family"||o==="weight"||o==="stretch"||o==="variant"||o==="style"?this.attr("font-"+o,e):this.attr(o,e)}}),re("Element",["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","touchstart","touchmove","touchleave","touchend","touchcancel","contextmenu","wheel","pointerdown","pointermove","pointerup","pointerleave","pointercancel"].reduce(function(o,e){return o[e]=function(t){return t===null?this.off(e):this.on(e,t),this},o},{})),re("Element",{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(Rr).slice(0,-1).map(function(e){const t=e.trim().split("(");return[t[0],t[1].split(at).map(function(i){return parseFloat(i)})]}).reverse().reduce(function(e,t){return t[0]==="matrix"?e.lmultiply(K.fromArray(t[1])):e[t[0]].apply(e,t[1])},new K)},toParent:function(o,e){if(this===o)return this;if(Pi(this.node))return this.addTo(o,e);const t=this.screenCTM(),i=o.screenCTM().inverse();return this.addTo(o,e).untransform().transform(i.multiply(t)),this},toRoot:function(o){return this.toParent(this.root(),o)},transform:function(o,e){if(o==null||typeof o=="string"){const i=new K(this).decompose();return o==null?i:i[o]}K.isMatrixLike(o)||(o={...o,origin:Mi(o,this)});const t=new K(e===!0?this:e||!1).transform(o);return this.attr("transform",t)}});class De extends Ee{flatten(){return this.each(function(){if(this instanceof De)return this.flatten().ungroup()}),this}ungroup(e=this.parent(),t=e.index(this)){return t=t===-1?e.children().length:t,this.each(function(i,s){return s[s.length-i-1].toParent(e,t)}),this.remove()}}de(De,"Container");class ti extends De{constructor(e,t=e){super(be("defs",e),t)}flatten(){return this}ungroup(){return this}}de(ti,"Defs");class je extends Ee{}function Yi(o){return this.attr("rx",o)}function Di(o){return this.attr("ry",o)}function qs(o){return o==null?this.cx()-this.rx():this.cx(o+this.rx())}function Zs(o){return o==null?this.cy()-this.ry():this.cy(o+this.ry())}function $s(o){return this.attr("cx",o)}function Js(o){return this.attr("cy",o)}function Ks(o){return o==null?2*this.rx():this.rx(new ne(o).divide(2))}function Qs(o){return o==null?2*this.ry():this.ry(new ne(o).divide(2))}de(je,"Shape");var _r=Object.freeze({__proto__:null,cx:$s,cy:Js,height:Qs,rx:Yi,ry:Di,width:Ks,x:qs,y:Zs});class ii extends je{constructor(e,t=e){super(be("ellipse",e),t)}size(e,t){const i=Mt(this,e,t);return this.rx(new ne(i.width).divide(2)).ry(new ne(i.height).divide(2))}}Q(ii,_r),re("Container",{ellipse:ve(function(o=0,e=o){return this.put(new ii).size(o,e).move(0,0)})}),de(ii,"Ellipse");class ea extends lt{constructor(e=ce.document.createDocumentFragment()){super(e)}xml(e,t,i){if(typeof e=="boolean"&&(i=t,t=e,e=null),e==null||typeof e=="function"){const s=new lt(Dt("wrapper",i));return s.add(this.node.cloneNode(!0)),s.xml(!1,i)}return super.xml(e,!1,i)}}function ta(o,e){return(this._element||this).type==="radialGradient"?this.attr({fx:new ne(o),fy:new ne(e)}):this.attr({x1:new ne(o),y1:new ne(e)})}function ia(o,e){return(this._element||this).type==="radialGradient"?this.attr({cx:new ne(o),cy:new ne(e)}):this.attr({x2:new ne(o),y2:new ne(e)})}de(ea,"Fragment");var Br=Object.freeze({__proto__:null,from:ta,to:ia});class Bt extends De{constructor(e,t){super(be(e+"Gradient",typeof e=="string"?null:e),t)}attr(e,t,i){return e==="transform"&&(e="gradientTransform"),super.attr(e,t,i)}bbox(){return new Me}targets(){return pt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(e){return this.clear(),typeof e=="function"&&e.call(this,this),this}url(){return"url(#"+this.id()+")"}}Q(Bt,Br),re({Container:{gradient(...o){return this.defs().gradient(...o)}},Defs:{gradient:ve(function(o,e){return this.put(new Bt(o)).update(e)})}}),de(Bt,"Gradient");class Wt extends De{constructor(e,t=e){super(be("pattern",e),t)}attr(e,t,i){return e==="transform"&&(e="patternTransform"),super.attr(e,t,i)}bbox(){return new Me}targets(){return pt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(e){return this.clear(),typeof e=="function"&&e.call(this,this),this}url(){return"url(#"+this.id()+")"}}re({Container:{pattern(...o){return this.defs().pattern(...o)}},Defs:{pattern:ve(function(o,e,t){return this.put(new Wt).update(t).attr({x:0,y:0,width:o,height:e,patternUnits:"userSpaceOnUse"})})}}),de(Wt,"Pattern");let si=class extends je{constructor(o,e=o){super(be("image",o),e)}load(o,e){if(!o)return this;const t=new ce.window.Image;return rt(t,"load",function(i){const s=this.parent(Wt);this.width()===0&&this.height()===0&&this.size(t.width,t.height),s instanceof Wt&&s.width()===0&&s.height()===0&&s.size(this.width(),this.height()),typeof e=="function"&&e.call(this,i)},this),rt(t,"load error",function(){qe(t)}),this.attr("href",t.src=o,Pt)}};var sa;sa=function(o,e,t){return o!=="fill"&&o!=="stroke"||Or.test(e)&&(e=t.root().defs().image(e)),e instanceof si&&(e=t.root().defs().pattern(0,0,i=>{i.add(e)})),e},Us.push(sa),re({Container:{image:ve(function(o,e){return this.put(new si).size(0,0).load(o,e)})}}),de(si,"Image");class ht extends xt{bbox(){let e=-1/0,t=-1/0,i=1/0,s=1/0;return this.forEach(function(a){e=Math.max(a[0],e),t=Math.max(a[1],t),i=Math.min(a[0],i),s=Math.min(a[1],s)}),new Me(i,s,e-i,t-s)}move(e,t){const i=this.bbox();if(e-=i.x,t-=i.y,!isNaN(e)&&!isNaN(t))for(let s=this.length-1;s>=0;s--)this[s]=[this[s][0]+e,this[s][1]+t];return this}parse(e=[0,0]){const t=[];(e=e instanceof Array?Array.prototype.concat.apply([],e):e.trim().split(at).map(parseFloat)).length%2!=0&&e.pop();for(let i=0,s=e.length;i=0;i--)s.width&&(this[i][0]=(this[i][0]-s.x)*e/s.width+s.x),s.height&&(this[i][1]=(this[i][1]-s.y)*t/s.height+s.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const e=[];for(let t=0,i=this.length;t":function(o){return-Math.cos(o*Math.PI)/2+.5},">":function(o){return Math.sin(o*Math.PI/2)},"<":function(o){return 1-Math.cos(o*Math.PI/2)},bezier:function(o,e,t,i){return function(s){return s<0?o>0?e/o*s:t>0?i/t*s:0:s>1?t<1?(1-i)/(1-t)*s+(i-t)/(1-t):o<1?(1-e)/(1-o)*s+(e-o)/(1-o):1:3*s*(1-s)**2*e+3*s**2*(1-s)*i+s**3}},steps:function(o,e="end"){e=e.split("-").reverse()[0];let t=o;return e==="none"?--t:e==="both"&&++t,(i,s=!1)=>{let a=Math.floor(i*o);const r=i*a%1==0;return e!=="start"&&e!=="both"||++a,s&&r&&--a,i>=0&&a<0&&(a=0),i<=1&&a>t&&(a=t),a/t}}};class _i{done(){return!1}}class Bi extends _i{constructor(e=Hr){super(),this.ease=Wr[e]||e}step(e,t,i){return typeof e!="number"?i<1?e:t:e+(t-e)*this.ease(i)}}class ri extends _i{constructor(e){super(),this.stepper=e}done(e){return e.done}step(e,t,i,s){return this.stepper(e,t,i,s)}}function aa(){const o=(this._duration||500)/1e3,e=this._overshoot||0,t=Math.PI,i=Math.log(e/100+1e-10),s=-i/Math.sqrt(t*t+i*i),a=3.9/(s*o);this.d=2*s*a,this.k=a*a}Q(class extends ri{constructor(o=500,e=0){super(),this.duration(o).overshoot(e)}step(o,e,t,i){if(typeof o=="string")return o;if(i.done=t===1/0,t===1/0)return e;if(t===0)return o;t>100&&(t=16),t/=1e3;const s=i.velocity||0,a=-this.d*s-this.k*(o-e),r=o+s*t+a*t*t/2;return i.velocity=s+a*t,i.done=Math.abs(e-r)+Math.abs(s)<.002,i.done?e:r}},{duration:Rt("_duration",aa),overshoot:Rt("_overshoot",aa)}),Q(class extends ri{constructor(o=.1,e=.01,t=0,i=1e3){super(),this.p(o).i(e).d(t).windup(i)}step(o,e,t,i){if(typeof o=="string")return o;if(i.done=t===1/0,t===1/0)return e;if(t===0)return o;const s=e-o;let a=(i.integral||0)+s*t;const r=(s-(i.error||0))/t,n=this._windup;return n!==!1&&(a=Math.max(-n,Math.min(a,n))),i.error=s,i.integral=a,i.done=Math.abs(s)<.001,i.done?e:o+(this.P*s+this.I*a+this.D*r)}},{windup:Rt("_windup"),p:Rt("P"),i:Rt("I"),d:Rt("D")});const jr={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Wi={M:function(o,e,t){return e.x=t.x=o[0],e.y=t.y=o[1],["M",e.x,e.y]},L:function(o,e){return e.x=o[0],e.y=o[1],["L",o[0],o[1]]},H:function(o,e){return e.x=o[0],["H",o[0]]},V:function(o,e){return e.y=o[0],["V",o[0]]},C:function(o,e){return e.x=o[4],e.y=o[5],["C",o[0],o[1],o[2],o[3],o[4],o[5]]},S:function(o,e){return e.x=o[2],e.y=o[3],["S",o[0],o[1],o[2],o[3]]},Q:function(o,e){return e.x=o[2],e.y=o[3],["Q",o[0],o[1],o[2],o[3]]},T:function(o,e){return e.x=o[0],e.y=o[1],["T",o[0],o[1]]},Z:function(o,e,t){return e.x=t.x,e.y=t.y,["Z"]},A:function(o,e){return e.x=o[5],e.y=o[6],["A",o[0],o[1],o[2],o[3],o[4],o[5],o[6]]}},ji="mlhvqtcsaz".split("");for(let o=0,e=ji.length;o=0;a--)s=this[a][0],s==="M"||s==="L"||s==="T"?(this[a][1]+=e,this[a][2]+=t):s==="H"?this[a][1]+=e:s==="V"?this[a][1]+=t:s==="C"||s==="S"||s==="Q"?(this[a][1]+=e,this[a][2]+=t,this[a][3]+=e,this[a][4]+=t,s==="C"&&(this[a][5]+=e,this[a][6]+=t)):s==="A"&&(this[a][6]+=e,this[a][7]+=t);return this}parse(e="M0 0"){return Array.isArray(e)&&(e=Array.prototype.concat.apply([],e).toString()),function(t,i=!0){let s=0,a="";const r={segment:[],inNumber:!1,number:"",lastToken:"",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:i,p0:new fe,p:new fe};for(;r.lastToken=a,a=t.charAt(s++);)if(r.inSegment||!Gr(r,a))if(a!==".")if(isNaN(parseInt(a)))if(qr.has(a))r.inNumber&&bt(r,!1);else if(a!=="-"&&a!=="+")if(a.toUpperCase()!=="E"){if(zi.test(a)){if(r.inNumber)bt(r,!1);else{if(!Gi(r))throw new Error("parser Error");Vi(r)}--s}}else r.number+=a,r.hasExponent=!0;else{if(r.inNumber&&!Ur(r)){bt(r,!1),--s;continue}r.number+=a,r.inNumber=!0}else{if(r.number==="0"||Vr(r)){r.inNumber=!0,r.number=a,bt(r,!0);continue}r.inNumber=!0,r.number+=a}else{if(r.pointSeen||r.hasExponent){bt(r,!1),--s;continue}r.inNumber=!0,r.pointSeen=!0,r.number+=a}return r.inNumber&&bt(r,!1),r.inSegment&&Gi(r)&&Vi(r),r.segments}(e)}size(e,t){const i=this.bbox();let s,a;for(i.width=i.width===0?1:i.width,i.height=i.height===0?1:i.height,s=this.length-1;s>=0;s--)a=this[s][0],a==="M"||a==="L"||a==="T"?(this[s][1]=(this[s][1]-i.x)*e/i.width+i.x,this[s][2]=(this[s][2]-i.y)*t/i.height+i.y):a==="H"?this[s][1]=(this[s][1]-i.x)*e/i.width+i.x:a==="V"?this[s][1]=(this[s][1]-i.y)*t/i.height+i.y:a==="C"||a==="S"||a==="Q"?(this[s][1]=(this[s][1]-i.x)*e/i.width+i.x,this[s][2]=(this[s][2]-i.y)*t/i.height+i.y,this[s][3]=(this[s][3]-i.x)*e/i.width+i.x,this[s][4]=(this[s][4]-i.y)*t/i.height+i.y,a==="C"&&(this[s][5]=(this[s][5]-i.x)*e/i.width+i.x,this[s][6]=(this[s][6]-i.y)*t/i.height+i.y)):a==="A"&&(this[s][1]=this[s][1]*e/i.width,this[s][2]=this[s][2]*t/i.height,this[s][6]=(this[s][6]-i.x)*e/i.width+i.x,this[s][7]=(this[s][7]-i.y)*t/i.height+i.y);return this}toString(){return function(e){let t="";for(let i=0,s=e.length;i{const e=typeof o;return e==="number"?ne:e==="string"?xe.isColor(o)?xe:at.test(o)?zi.test(o)?Ke:xt:Hs.test(o)?ne:Ui:qi.indexOf(o.constructor)>-1?o.constructor:Array.isArray(o)?xt:e==="object"?Gt:Ui};class vt{constructor(e){this._stepper=e||new Bi("-"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(e){return this._morphObj.morph(this._from,this._to,e,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce(function(e,t){return e&&t},!0)}from(e){return e==null?this._from:(this._from=this._set(e),this)}stepper(e){return e==null?this._stepper:(this._stepper=e,this)}to(e){return e==null?this._to:(this._to=this._set(e),this)}type(e){return e==null?this._type:(this._type=e,this)}_set(e){this._type||this.type(ra(e));let t=new this._type(e);return this._type===xe&&(t=this._to?t[this._to[4]]():this._from?t[this._from[4]]():t),this._type===Gt&&(t=this._to?t.align(this._to):this._from?t.align(this._from):t),t=t.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(t.length)).map(Object).map(function(i){return i.done=!0,i}),t}}class Ui{constructor(...e){this.init(...e)}init(e){return e=Array.isArray(e)?e[0]:e,this.value=e,this}toArray(){return[this.value]}valueOf(){return this.value}}class jt{constructor(...e){this.init(...e)}init(e){return Array.isArray(e)&&(e={scaleX:e[0],scaleY:e[1],shear:e[2],rotate:e[3],translateX:e[4],translateY:e[5],originX:e[6],originY:e[7]}),Object.assign(this,jt.defaults,e),this}toArray(){const e=this;return[e.scaleX,e.scaleY,e.shear,e.rotate,e.translateX,e.translateY,e.originX,e.originY]}}jt.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const Zr=(o,e)=>o[0]e[0]?1:0;class Gt{constructor(...e){this.init(...e)}align(e){const t=this.values;for(let i=0,s=t.length;ii.concat(s),[]),this}toArray(){return this.values}valueOf(){const e={},t=this.values;for(;t.length;){const i=t.shift(),s=t.shift(),a=t.shift(),r=t.splice(0,a);e[i]=new s(r)}return e}}const qi=[Ui,jt,Gt];class It extends je{constructor(e,t=e){super(be("path",e),t)}array(){return this._array||(this._array=new Ke(this.attr("d")))}clear(){return delete this._array,this}height(e){return e==null?this.bbox().height:this.size(this.bbox().width,e)}move(e,t){return this.attr("d",this.array().move(e,t))}plot(e){return e==null?this.array():this.clear().attr("d",typeof e=="string"?e:this._array=new Ke(e))}size(e,t){const i=Mt(this,e,t);return this.attr("d",this.array().size(i.width,i.height))}width(e){return e==null?this.bbox().width:this.size(e,this.bbox().height)}x(e){return e==null?this.bbox().x:this.move(e,this.bbox().y)}y(e){return e==null?this.bbox().y:this.move(this.bbox().x,e)}}It.prototype.MorphArray=Ke,re({Container:{path:ve(function(o){return this.put(new It).plot(o||new Ke)})}}),de(It,"Path");var na=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ht(this.attr("points")))},clear:function(){return delete this._array,this},move:function(o,e){return this.attr("points",this.array().move(o,e))},plot:function(o){return o==null?this.array():this.clear().attr("points",typeof o=="string"?o:this._array=new ht(o))},size:function(o,e){const t=Mt(this,o,e);return this.attr("points",this.array().size(t.width,t.height))}});class yt extends je{constructor(e,t=e){super(be("polygon",e),t)}}re({Container:{polygon:ve(function(o){return this.put(new yt).plot(o||new ht)})}}),Q(yt,Ni),Q(yt,na),de(yt,"Polygon");class wt extends je{constructor(e,t=e){super(be("polyline",e),t)}}re({Container:{polyline:ve(function(o){return this.put(new wt).plot(o||new ht)})}}),Q(wt,Ni),Q(wt,na),de(wt,"Polyline");class ni extends je{constructor(e,t=e){super(be("rect",e),t)}}Q(ni,{rx:Yi,ry:Di}),re({Container:{rect:ve(function(o,e){return this.put(new ni).size(o,e)})}}),de(ni,"Rect");class Zi{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(e){const t=e.next!==void 0?e:{value:e,next:null,prev:null};return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._last=t,this._first=t),t}remove(e){e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e===this._last&&(this._last=e.prev),e===this._first&&(this._first=e.next),e.prev=null,e.next=null}shift(){const e=this._first;return e?(this._first=e.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,e.value):null}}const pe={nextDraw:null,frames:new Zi,timeouts:new Zi,immediates:new Zi,timer:()=>ce.window.performance||ce.window.Date,transforms:[],frame(o){const e=pe.frames.push({run:o});return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),e},timeout(o,e){e=e||0;const t=pe.timer().now()+e,i=pe.timeouts.push({run:o,time:t});return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),i},immediate(o){const e=pe.immediates.push(o);return pe.nextDraw===null&&(pe.nextDraw=ce.window.requestAnimationFrame(pe._draw)),e},cancelFrame(o){o!=null&&pe.frames.remove(o)},clearTimeout(o){o!=null&&pe.timeouts.remove(o)},cancelImmediate(o){o!=null&&pe.immediates.remove(o)},_draw(o){let e=null;const t=pe.timeouts.last();for(;(e=pe.timeouts.shift())&&(o>=e.time?e.run():pe.timeouts.push(e),e!==t););let i=null;const s=pe.frames.last();for(;i!==s&&(i=pe.frames.shift());)i.run(o);let a=null;for(;a=pe.immediates.shift();)a();pe.nextDraw=pe.timeouts.first()||pe.frames.first()?ce.window.requestAnimationFrame(pe._draw):null}},$r=function(o){const e=o.start,t=o.runner.duration();return{start:e,duration:t,end:e+t,runner:o.runner}},Jr=function(){const o=ce.window;return(o.performance||o.Date).now()};class oa extends Nt{constructor(e=Jr){super(),this._timeSource=e,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const e=this.getLastRunnerInfo(),t=e?e.runner.duration():0;return(e?e.start:this._time)+t}getEndTimeOfTimeline(){const e=this._runners.map(t=>t.start+t.runner.duration());return Math.max(0,...e)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(e){return this._runners[this._runnerIds.indexOf(e)]||null}pause(){return this._paused=!0,this._continue()}persist(e){return e==null?this._persist:(this._persist=e,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(e){const t=this.speed();if(e==null)return this.speed(-t);const i=Math.abs(t);return this.speed(e?-i:i)}schedule(e,t,i){if(e==null)return this._runners.map($r);let s=0;const a=this.getEndTime();if(t=t||0,i==null||i==="last"||i==="after")s=a;else if(i==="absolute"||i==="start")s=t,t=0;else if(i==="now")s=this._time;else if(i==="relative"){const l=this.getRunnerInfoById(e.id);l&&(s=l.start+t,t=0)}else{if(i!=="with-last")throw new Error('Invalid value for the "when" parameter');{const l=this.getLastRunnerInfo();s=l?l.start:this._time}}e.unschedule(),e.timeline(this);const r=e.persist(),n={persist:r===null?this._persist:r,start:s+t,runner:e};return this._lastRunnerId=e.id,this._runners.push(n),this._runners.sort((l,h)=>l.start-h.start),this._runnerIds=this._runners.map(l=>l.runner.id),this.updateTime()._continue(),this}seek(e){return this.time(this._time+e)}source(e){return e==null?this._timeSource:(this._timeSource=e,this)}speed(e){return e==null?this._speed:(this._speed=e,this)}stop(){return this.time(0),this.pause()}time(e){return e==null?this._time:(this._time=e,this._continue(!0))}unschedule(e){const t=this._runnerIds.indexOf(e.id);return t<0||(this._runners.splice(t,1),this._runnerIds.splice(t,1),e.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(e=!1){return pe.cancelFrame(this._nextFrame),this._nextFrame=null,e?this._stepImmediate():(this._paused||(this._nextFrame=pe.frame(this._step)),this)}_stepFn(e=!1){const t=this._timeSource();let i=t-this._lastSourceTime;e&&(i=0);const s=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=t,e||(this._time+=s,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire("time",this._time);for(let r=this._runners.length;r--;){const n=this._runners[r],l=n.runner;this._time-n.start<=0&&l.reset()}let a=!1;for(let r=0,n=this._runners.length;r0?this._continue():(this.pause(),this.fire("finished")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}re({Element:{timeline:function(o){return o==null?(this._timeline=this._timeline||new oa,this._timeline):(this._timeline=o,this)}}});class Ge extends Nt{constructor(e){super(),this.id=Ge.id++,e=typeof(e=e??Hi)=="function"?new ri(e):e,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration=typeof e=="number"&&e,this._isDeclarative=e instanceof ri,this._stepper=this._isDeclarative?e:new Bi,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new K,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(e,t,i){let s=1,a=!1,r=0;return t=t??Yr,i=i||"last",typeof(e=e??Hi)!="object"||e instanceof _i||(t=e.delay??t,i=e.when??i,a=e.swing||a,s=e.times??s,r=e.wait??r,e=e.duration??Hi),{duration:e,delay:t,swing:a,times:s,wait:r,when:i}}active(e){return e==null?this.enabled:(this.enabled=e,this)}addTransform(e){return this.transforms.lmultiplyO(e),this}after(e){return this.on("finished",e)}animate(e,t,i){const s=Ge.sanitise(e,t,i),a=new Ge(s.duration);return this._timeline&&a.timeline(this._timeline),this._element&&a.element(this._element),a.loop(s).schedule(s.delay,s.when)}clearTransform(){return this.transforms=new K,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter(e=>!e.isTransform))}delay(e){return this.animate(0,e)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(e){return this.queue(null,e)}ease(e){return this._stepper=new Bi(e),this}element(e){return e==null?this._element:(this._element=e,e._prepareRunner(),this)}finish(){return this.step(1/0)}loop(e,t,i){return typeof e=="object"&&(t=e.swing,i=e.wait,e=e.times),this._times=e||1/0,this._swing=t||!1,this._wait=i||0,this._times===!0&&(this._times=1/0),this}loops(e){const t=this._duration+this._wait;if(e==null){const a=Math.floor(this._time/t),r=(this._time-a*t)/this._duration;return Math.min(a+r,this._times)}const i=e%1,s=t*Math.floor(e)+this._duration*i;return this.time(s)}persist(e){return e==null?this._persist:(this._persist=e,this)}position(e){const t=this._time,i=this._duration,s=this._wait,a=this._times,r=this._swing,n=this._reverse;let l;if(e==null){const c=function(g){const p=r*Math.floor(g%(2*(s+i))/(s+i)),f=p&&!n||!p&&n,x=Math.pow(-1,f)*(g%(s+i))/i+f;return Math.max(Math.min(x,1),0)},u=a*(s+i)-s;return l=t<=0?Math.round(c(1e-5)):t=0;this._lastPosition=t;const s=this.duration(),a=this._lastTime<=0&&this._time>0,r=this._lastTime=s;this._lastTime=this._time,a&&this.fire("start",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=s,this._reseted=!1;let l=!1;return(i||n)&&(this._initialise(i),this.transforms=new K,l=this._run(n?e:t),this.fire("step",this)),this.done=this.done||l&&n,r&&this.fire("finished",this),this}time(e){if(e==null)return this._time;const t=e-this._time;return this.step(t),this}timeline(e){return e===void 0?this._timeline:(this._timeline=e,this)}unschedule(){const e=this.timeline();return e&&e.unschedule(this),this}_initialise(e){if(e||this._isDeclarative)for(let t=0,i=this._queue.length;to.lmultiplyO(e),ha=o=>o.transforms;function Kr(){const o=this._transformationRunners.runners.map(ha).reduce(la,new K);this.transform(o),this._transformationRunners.merge(),this._transformationRunners.length()===1&&(this._frameId=null)}class Qr{constructor(){this.runners=[],this.ids=[]}add(e){if(this.runners.includes(e))return;const t=e.id+1;return this.runners.push(e),this.ids.push(t),this}clearBefore(e){const t=this.ids.indexOf(e+1)||1;return this.ids.splice(0,t,0),this.runners.splice(0,t,new oi).forEach(i=>i.clearTransformsFromQueue()),this}edit(e,t){const i=this.ids.indexOf(e+1);return this.ids.splice(i,1,e+1),this.runners.splice(i,1,t),this}getByID(e){return this.runners[this.ids.indexOf(e+1)]}length(){return this.ids.length}merge(){let e=null;for(let t=0;te.id<=o.id).map(ha).reduce(la,new K)},_addRunner(o){this._transformationRunners.add(o),pe.cancelImmediate(this._frameId),this._frameId=pe.immediate(Kr.bind(this))},_prepareRunner(){this._frameId==null&&(this._transformationRunners=new Qr().add(new oi(new K(this))))}}}),Q(Ge,{attr(o,e){return this.styleAttr("attr",o,e)},css(o,e){return this.styleAttr("css",o,e)},styleAttr(o,e,t){if(typeof e=="string")return this.styleAttr(o,{[e]:t});let i=e;if(this._tryRetarget(o,i))return this;let s=new vt(this._stepper).to(i),a=Object.keys(i);return this.queue(function(){s=s.from(this.element()[o](a))},function(r){return this.element()[o](s.at(r).valueOf()),s.done()},function(r){const n=Object.keys(r),l=(h=a,n.filter(c=>!h.includes(c)));var h;if(l.length){const c=this.element()[o](l),u=new Gt(s.from()).valueOf();Object.assign(u,c),s.from(u)}const d=new Gt(s.to()).valueOf();Object.assign(d,r),s.to(d),a=n,i=r}),this._rememberMorpher(o,s),this},zoom(o,e){if(this._tryRetarget("zoom",o,e))return this;let t=new vt(this._stepper).to(new ne(o));return this.queue(function(){t=t.from(this.element().zoom())},function(i){return this.element().zoom(t.at(i),e),t.done()},function(i,s){e=s,t.to(i)}),this._rememberMorpher("zoom",t),this},transform(o,e,t){if(e=o.relative||e,this._isDeclarative&&!e&&this._tryRetarget("transform",o))return this;const i=K.isMatrixLike(o);t=o.affine!=null?o.affine:t??!i;const s=new vt(this._stepper).type(t?jt:K);let a,r,n,l,h;return this.queue(function(){r=r||this.element(),a=a||Mi(o,r),h=new K(e?void 0:r),r._addRunner(this),e||r._clearTransformRunnersBefore(this)},function(d){e||this.clearTransform();const{x:c,y:u}=new fe(a).transform(r._currentTransform(this));let g=new K({...o,origin:[c,u]}),p=this._isDeclarative&&n?n:h;if(t){g=g.decompose(c,u),p=p.decompose(c,u);const x=g.rotate,m=p.rotate,v=[x-360,x,x+360],w=v.map(T=>Math.abs(T-m)),C=Math.min(...w),k=w.indexOf(C);g.rotate=v[k]}e&&(i||(g.rotate=o.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(d);return l=f.rotate,n=new K(f),this.addTransform(n),r._addRunner(this),s.done()},function(d){(d.origin||"center").toString()!==(o.origin||"center").toString()&&(a=Mi(d,r)),o={...d,origin:a}},!0),this._isDeclarative&&this._rememberMorpher("transform",s),this},x(o){return this._queueNumber("x",o)},y(o){return this._queueNumber("y",o)},ax(o){return this._queueNumber("ax",o)},ay(o){return this._queueNumber("ay",o)},dx(o=0){return this._queueNumberDelta("x",o)},dy(o=0){return this._queueNumberDelta("y",o)},dmove(o,e){return this.dx(o).dy(e)},_queueNumberDelta(o,e){if(e=new ne(e),this._tryRetarget(o,e))return this;const t=new vt(this._stepper).to(e);let i=null;return this.queue(function(){i=this.element()[o](),t.from(i),t.to(i+e)},function(s){return this.element()[o](t.at(s)),t.done()},function(s){t.to(i+new ne(s))}),this._rememberMorpher(o,t),this},_queueObject(o,e){if(this._tryRetarget(o,e))return this;const t=new vt(this._stepper).to(e);return this.queue(function(){t.from(this.element()[o]())},function(i){return this.element()[o](t.at(i)),t.done()}),this._rememberMorpher(o,t),this},_queueNumber(o,e){return this._queueObject(o,new ne(e))},cx(o){return this._queueNumber("cx",o)},cy(o){return this._queueNumber("cy",o)},move(o,e){return this.x(o).y(e)},amove(o,e){return this.ax(o).ay(e)},center(o,e){return this.cx(o).cy(e)},size(o,e){let t;return o&&e||(t=this._element.bbox()),o||(o=t.width/t.height*e),e||(e=t.height/t.width*o),this.width(o).height(e)},width(o){return this._queueNumber("width",o)},height(o){return this._queueNumber("height",o)},plot(o,e,t,i){if(arguments.length===4)return this.plot([o,e,t,i]);if(this._tryRetarget("plot",o))return this;const s=new vt(this._stepper).type(this._element.MorphArray).to(o);return this.queue(function(){s.from(this._element.array())},function(a){return this._element.plot(s.at(a)),s.done()}),this._rememberMorpher("plot",s),this},leading(o){return this._queueNumber("leading",o)},viewbox(o,e,t,i){return this._queueObject("viewbox",new Me(o,e,t,i))},update(o){return typeof o!="object"?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(o.opacity!=null&&this.attr("stop-opacity",o.opacity),o.color!=null&&this.attr("stop-color",o.color),o.offset!=null&&this.attr("offset",o.offset),this)}}),Q(Ge,{rx:Yi,ry:Di,from:ta,to:ia}),de(Ge,"Runner");class $i extends De{constructor(e,t=e){super(be("svg",e),t),this.namespace()}defs(){return this.isRoot()?Ue(this.node.querySelector("defs"))||this.put(new ti):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof ce.window.SVGElement)&&this.node.parentNode.nodeName!=="#document-fragment"}namespace(){return this.isRoot()?this.attr({xmlns:Ti,version:"1.1"}).attr("xmlns:xlink",Pt,Ei):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr("xmlns:xlink",null,Ei).attr("xmlns:svgjs",null,Ei)}root(){return this.isRoot()?this:super.root()}}re({Container:{nested:ve(function(){return this.put(new $i)})}}),de($i,"Svg",!0);let Ji=class extends De{constructor(o,e=o){super(be("symbol",o),e)}};re({Container:{symbol:ve(function(){return this.put(new Ji)})}}),de(Ji,"Symbol");var ca=Object.freeze({__proto__:null,amove:function(o,e){return this.ax(o).ay(e)},ax:function(o){return this.attr("x",o)},ay:function(o){return this.attr("y",o)},build:function(o){return this._build=!!o,this},center:function(o,e,t=this.bbox()){return this.cx(o,t).cy(e,t)},cx:function(o,e=this.bbox()){return o==null?e.cx:this.attr("x",this.attr("x")+o-e.cx)},cy:function(o,e=this.bbox()){return o==null?e.cy:this.attr("y",this.attr("y")+o-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(o,e,t=this.bbox()){return this.x(o,t).y(e,t)},plain:function(o){return this._build===!1&&this.clear(),this.node.appendChild(ce.document.createTextNode(o)),this},x:function(o,e=this.bbox()){return o==null?e.x:this.attr("x",this.attr("x")+o-e.x)},y:function(o,e=this.bbox()){return o==null?e.y:this.attr("y",this.attr("y")+o-e.y)}});class Qe extends je{constructor(e,t=e){super(be("text",e),t),this.dom.leading=this.dom.leading??new ne(1.3),this._rebuild=!0,this._build=!1}leading(e){return e==null?this.dom.leading:(this.dom.leading=new ne(e),this.rebuild())}rebuild(e){if(typeof e=="boolean"&&(this._rebuild=e),this._rebuild){const t=this;let i=0;const s=this.dom.leading;this.each(function(a){if(Pi(this.node))return;const r=ce.window.getComputedStyle(this.node).getPropertyValue("font-size"),n=s*new ne(r);this.dom.newLined&&(this.attr("x",t.attr("x")),this.text()===` +`?i+=n:(this.attr("dy",a?n+i:0),i=0))}),this.fire("rebuild")}return this}setData(e){return this.dom=e,this.dom.leading=new ne(e.leading||1.3),this}writeDataToDom(){return zs(this,this.dom,{leading:1.3}),this}text(e){if(e===void 0){const t=this.node.childNodes;let i=0;e="";for(let s=0,a=t.length;s{let i;try{i=t.node instanceof Yt().SVGSVGElement?new Me(t.attr(["x","y","width","height"])):t.bbox()}catch{return}const s=new K(t),a=s.translate(o,e).transform(s.inverse()),r=new fe(i.x,i.y).transform(a);t.move(r.x,r.y)}),this},dx:function(o){return this.dmove(o,0)},dy:function(o){return this.dmove(0,o)},height:function(o,e=this.bbox()){return o==null?e.height:this.size(e.width,o,e)},move:function(o=0,e=0,t=this.bbox()){const i=o-t.x,s=e-t.y;return this.dmove(i,s)},size:function(o,e,t=this.bbox()){const i=Mt(this,o,e,t),s=i.width/t.width,a=i.height/t.height;return this.children().forEach(r=>{const n=new fe(t).transform(new K(r).inverse());r.scale(s,a,n.x,n.y)}),this},width:function(o,e=this.bbox()){return o==null?e.width:this.size(o,e.height,e)},x:function(o,e=this.bbox()){return o==null?e.x:this.move(o,e.y,e)},y:function(o,e=this.bbox()){return o==null?e.y:this.move(e.x,o,e)}});class ct extends De{constructor(e,t=e){super(be("g",e),t)}}Q(ct,ua),re({Container:{group:ve(function(){return this.put(new ct)})}}),de(ct,"G");class hi extends De{constructor(e,t=e){super(be("a",e),t)}target(e){return this.attr("target",e)}to(e){return this.attr("href",e,Pt)}}Q(hi,ua),re({Container:{link:ve(function(o){return this.put(new hi).to(o)})},Element:{unlink(){const o=this.linker();if(!o)return this;const e=o.parent();if(!e)return this.remove();const t=e.index(o);return e.add(this,t),o.remove(),this},linkTo(o){let e=this.linker();return e||(e=new hi,this.wrap(e)),typeof o=="function"?o.call(e,e):e.to(o),this},linker(){const o=this.parent();return o&&o.node.nodeName.toLowerCase()==="a"?o:null}}}),de(hi,"A");class es extends De{constructor(e,t=e){super(be("mask",e),t)}remove(){return this.targets().forEach(function(e){e.unmask()}),super.remove()}targets(){return pt("svg [mask*="+this.id()+"]")}}re({Container:{mask:ve(function(){return this.defs().put(new es)})},Element:{masker(){return this.reference("mask")},maskWith(o){const e=o instanceof es?o:this.parent().mask().add(o);return this.attr("mask","url(#"+e.id()+")")},unmask(){return this.attr("mask",null)}}}),de(es,"Mask");class ga extends Ee{constructor(e,t=e){super(be("stop",e),t)}update(e){return(typeof e=="number"||e instanceof ne)&&(e={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),e.opacity!=null&&this.attr("stop-opacity",e.opacity),e.color!=null&&this.attr("stop-color",e.color),e.offset!=null&&this.attr("offset",new ne(e.offset)),this}}re({Gradient:{stop:function(o,e,t){return this.put(new ga).update(o,e,t)}}}),de(ga,"Stop");class ts extends Ee{constructor(e,t=e){super(be("style",e),t)}addText(e=""){return this.node.textContent+=e,this}font(e,t,i={}){return this.rule("@font-face",{fontFamily:e,src:t,...i})}rule(e,t){return this.addText(function(i,s){if(!i)return"";if(!s)return i;let a=i+"{";for(const r in s)a+=r.replace(/([A-Z])/g,function(n,l){return"-"+l.toLowerCase()})+":"+s[r]+";";return a+="}",a}(e,t))}}re("Dom",{style(o,e){return this.put(new ts).rule(o,e)},fontface(o,e,t){return this.put(new ts).font(o,e,t)}}),de(ts,"Style");class is extends Qe{constructor(e,t=e){super(be("textPath",e),t)}array(){const e=this.track();return e?e.array():null}plot(e){const t=this.track();let i=null;return t&&(i=t.plot(e)),e==null?i:this}track(){return this.reference("href")}}re({Container:{textPath:ve(function(o,e){return o instanceof Qe||(o=this.text(o)),o.path(e)})},Text:{path:ve(function(o,e=!0){const t=new is;let i;if(o instanceof It||(o=this.defs().path(o)),t.attr("href","#"+o,Pt),e)for(;i=this.node.firstChild;)t.node.appendChild(i);return this.put(t)}),textPath(){return this.findOne("textPath")}},Path:{text:ve(function(o){return o instanceof Qe||(o=new Qe().addTo(this.parent()).text(o)),o.path(this)}),targets(){return pt("svg textPath").filter(o=>(o.attr("href")||"").includes(this.id()))}}}),is.prototype.MorphArray=Ke,de(is,"TextPath");class fa extends je{constructor(e,t=e){super(be("use",e),t)}use(e,t){return this.attr("href",(t||"")+"#"+e,Pt)}}re({Container:{use:ve(function(o,e){return this.put(new fa).use(o,e)})}}),de(fa,"Use");const en=Ye;Q([$i,Ji,si,Wt,ai],_e("viewbox")),Q([mt,wt,yt,It],_e("marker")),Q(Qe,_e("Text")),Q(It,_e("Path")),Q(ti,_e("Defs")),Q([Qe,li],_e("Tspan")),Q([ni,ii,Bt,Ge],_e("radius")),Q(Nt,_e("EventTarget")),Q(lt,_e("Dom")),Q(Ee,_e("Element")),Q(je,_e("Shape")),Q([De,ea],_e("Container")),Q(Bt,_e("Gradient")),Q(Ge,_e("Runner")),ft.extend([...new Set(ut)]),function(o=[]){qi.push(...[].concat(o))}([ne,xe,Me,K,xt,ht,Ke,fe]),Q(qi,{to(o){return new vt().type(this.constructor).from(this.toArray()).to(o)},fromArray(o){return this.init(o),this},toConsumable(){return this.toArray()},morph(o,e,t,i,s){return this.fromArray(o.map(function(a,r){return i.step(a,e[r],t,s[r],s)}))}});class we extends Ee{constructor(e){super(be("filter",e),e),this.$source="SourceGraphic",this.$sourceAlpha="SourceAlpha",this.$background="BackgroundImage",this.$backgroundAlpha="BackgroundAlpha",this.$fill="FillPaint",this.$stroke="StrokePaint",this.$autoSetIn=!0}put(e,t){return!(e=super.put(e,t)).attr("in")&&this.$autoSetIn&&e.attr("in",this.$source),e.attr("result")||e.attr("result",e.id()),e}remove(){return this.targets().each("unfilter"),super.remove()}targets(){return pt('svg [filter*="'+this.id()+'"]')}toString(){return"url(#"+this.id()+")"}}class ss extends Ee{constructor(e,t){super(e,t),this.result(this.id())}in(e){if(e==null){const t=this.attr("in");return this.parent()&&this.parent().find(`[result="${t}"]`)[0]||t}return this.attr("in",e)}result(e){return this.attr("result",e)}toString(){return this.result()}}const Ze=o=>function(...e){for(let t=o.length;t--;)e[t]!=null&&this.attr(o[t],e[t])},tn={blend:Ze(["in","in2","mode"]),colorMatrix:Ze(["type","values"]),composite:Ze(["in","in2","operator"]),convolveMatrix:function(o){o=new xt(o).toString(),this.attr({order:Math.sqrt(o.split(" ").length),kernelMatrix:o})},diffuseLighting:Ze(["surfaceScale","lightingColor","diffuseConstant","kernelUnitLength"]),displacementMap:Ze(["in","in2","scale","xChannelSelector","yChannelSelector"]),dropShadow:Ze(["in","dx","dy","stdDeviation"]),flood:Ze(["flood-color","flood-opacity"]),gaussianBlur:function(o=0,e=o){this.attr("stdDeviation",o+" "+e)},image:function(o){this.attr("href",o,Pt)},morphology:Ze(["operator","radius"]),offset:Ze(["dx","dy"]),specularLighting:Ze(["surfaceScale","lightingColor","diffuseConstant","specularExponent","kernelUnitLength"]),tile:Ze([]),turbulence:Ze(["baseFrequency","numOctaves","seed","stitchTiles","type"])};["blend","colorMatrix","componentTransfer","composite","convolveMatrix","diffuseLighting","displacementMap","dropShadow","flood","gaussianBlur","image","merge","morphology","offset","specularLighting","tile","turbulence"].forEach(o=>{const e=Lt(o),t=tn[o];we[e+"Effect"]=class extends ss{constructor(i){super(be("fe"+e,i),i)}update(i){return t.apply(this,i),this}},we.prototype[o]=ve(function(i,...s){const a=new we[e+"Effect"];return i==null?this.put(a):(typeof i=="function"?i.call(a,a):s.unshift(i),this.put(a).update(s))})}),Q(we,{merge(o){const e=this.put(new we.MergeEffect);return typeof o=="function"?(o.call(e,e),e):((o instanceof Array?o:[...arguments]).forEach(t=>{t instanceof we.MergeNode?e.put(t):e.mergeNode(t)}),e)},componentTransfer(o={}){const e=this.put(new we.ComponentTransferEffect);if(typeof o=="function")return o.call(e,e),e;o.r||o.g||o.b||o.a||(o={r:o,g:o,b:o,a:o});for(const t in o)e.add(new we["Func"+t.toUpperCase()](o[t]));return e}}),["distantLight","pointLight","spotLight","mergeNode","FuncR","FuncG","FuncB","FuncA"].forEach(o=>{const e=Lt(o);we[e]=class extends ss{constructor(t){super(be("fe"+e,t),t)}}}),["funcR","funcG","funcB","funcA"].forEach(function(o){const e=we[Lt(o)],t=ve(function(){return this.put(new e)});we.ComponentTransferEffect.prototype[o]=t}),["distantLight","pointLight","spotLight"].forEach(o=>{const e=we[Lt(o)],t=ve(function(){return this.put(new e)});we.DiffuseLightingEffect.prototype[o]=t,we.SpecularLightingEffect.prototype[o]=t}),Q(we.MergeEffect,{mergeNode(o){return this.put(new we.MergeNode).attr("in",o)}}),Q(ti,{filter:function(o){const e=this.put(new we);return typeof o=="function"&&o.call(e,e),e}}),Q(De,{filter:function(o){return this.defs().filter(o)}}),Q(Ee,{filterWith:function(o){const e=o instanceof we?o:this.defs().filter(o);return this.attr("filter",e)},unfilter:function(o){return this.attr("filter",null)},filterer(){return this.reference("filter")}}),Q(ss,{blend:function(o,e){return this.parent()&&this.parent().blend(this,o,e)},colorMatrix:function(o,e){return this.parent()&&this.parent().colorMatrix(o,e).in(this)},componentTransfer:function(o){return this.parent()&&this.parent().componentTransfer(o).in(this)},composite:function(o,e){return this.parent()&&this.parent().composite(this,o,e)},convolveMatrix:function(o){return this.parent()&&this.parent().convolveMatrix(o).in(this)},diffuseLighting:function(o,e,t,i){return this.parent()&&this.parent().diffuseLighting(o,t,i).in(this)},displacementMap:function(o,e,t,i){return this.parent()&&this.parent().displacementMap(this,o,e,t,i)},dropShadow:function(o,e,t){return this.parent()&&this.parent().dropShadow(this,o,e,t).in(this)},flood:function(o,e){return this.parent()&&this.parent().flood(o,e)},gaussianBlur:function(o,e){return this.parent()&&this.parent().gaussianBlur(o,e).in(this)},image:function(o){return this.parent()&&this.parent().image(o)},merge:function(o){return o=o instanceof Array?o:[...o],this.parent()&&this.parent().merge(this,...o)},morphology:function(o,e){return this.parent()&&this.parent().morphology(o,e).in(this)},offset:function(o,e){return this.parent()&&this.parent().offset(o,e).in(this)},specularLighting:function(o,e,t,i,s){return this.parent()&&this.parent().specularLighting(o,t,i,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(o,e,t,i,s){return this.parent()&&this.parent().turbulence(o,e,t,i,s).in(this)}}),Q(we.MergeEffect,{in:function(o){return o instanceof we.MergeNode?this.add(o,0):this.add(new we.MergeNode().in(o),0),this}}),Q([we.CompositeEffect,we.BlendEffect,we.DisplacementMapEffect],{in2:function(o){if(o==null){const e=this.attr("in2");return this.parent()&&this.parent().find(`[result="${e}"]`)[0]||e}return this.attr("in2",o)}}),we.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Re=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getDefaultFilter",value:function(e,t){var i=this.w;e.unfilter(!0),new we().size("120%","180%","-5%","-40%"),i.config.chart.dropShadow.enabled&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"applyFilter",value:function(e,t,i){var s,a=this,r=this.w;if(e.unfilter(!0),i!=="none"){var n,l,h=r.config.chart.dropShadow,d=i==="lighten"?2:.3;e.filterWith(function(c){c.colorMatrix({type:"matrix",values:` + `.concat(d,` 0 0 0 0 + 0 `).concat(d,` 0 0 0 + 0 0 `).concat(d,` 0 0 + 0 0 0 1 0 + `),in:"SourceGraphic",result:"brightness"}),h.enabled&&a.addShadow(c,t,h,"brightness")}),!h.noUserSpaceOnUse&&((n=e.filterer())===null||n===void 0||(l=n.node)===null||l===void 0||l.setAttribute("filterUnits","userSpaceOnUse")),this._scaleFilterSize((s=e.filterer())===null||s===void 0?void 0:s.node)}else this.getDefaultFilter(e,t)}},{key:"addShadow",value:function(e,t,i,s){var a,r=this.w,n=i.blur,l=i.top,h=i.left,d=i.color,c=i.opacity;if(d=Array.isArray(d)?d[t]:d,((a=r.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.length)>0&&r.config.chart.dropShadow.enabledOnSeries.indexOf(t)===-1)return e;e.offset({in:s,dx:h,dy:l,result:"offset"}),e.gaussianBlur({in:"offset",stdDeviation:n,result:"blur"}),e.flood({"flood-color":d,"flood-opacity":c,result:"flood"}),e.composite({in:"flood",in2:"blur",operator:"in",result:"shadow"}),e.merge(["shadow",s])}},{key:"dropShadow",value:function(e,t){var i,s,a,r,n,l=this,h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,d=this.w;return e.unfilter(!0),R.isMsEdge()&&d.config.chart.type==="radialBar"||((i=d.config.chart.dropShadow.enabledOnSeries)===null||i===void 0?void 0:i.length)>0&&((a=d.config.chart.dropShadow.enabledOnSeries)===null||a===void 0?void 0:a.indexOf(h))===-1?e:(e.filterWith(function(c){l.addShadow(c,h,t,"SourceGraphic")}),t.noUserSpaceOnUse||(r=e.filterer())===null||r===void 0||(n=r.node)===null||n===void 0||n.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize((s=e.filterer())===null||s===void 0?void 0:s.node),e)}},{key:"setSelectionFilter",value:function(e,t,i){var s=this.w;if(s.globals.selectedDataPoints[t]!==void 0&&s.globals.selectedDataPoints[t].indexOf(i)>-1){e.node.setAttribute("selected",!0);var a=s.config.states.active.filter;a!=="none"&&this.applyFilter(e,t,a.type)}}},{key:"_scaleFilterSize",value:function(e){e&&function(t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),o}(),G=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"roundPathCorners",value:function(e,t){function i(M,I,O){var X=I.x-M.x,H=I.y-M.y,N=Math.sqrt(X*X+H*H);return s(M,I,Math.min(1,O/N))}function s(M,I,O){return{x:M.x+(I.x-M.x)*O,y:M.y+(I.y-M.y)*O}}function a(M,I){M.length>2&&(M[M.length-2]=I.x,M[M.length-1]=I.y)}function r(M){return{x:parseFloat(M[M.length-2]),y:parseFloat(M[M.length-1])}}e.indexOf("NaN")>-1&&(e="");var n=e.split(/[,\s]/).reduce(function(M,I){var O=I.match("([a-zA-Z])(.+)");return O?(M.push(O[1]),M.push(O[2])):M.push(I),M},[]).reduce(function(M,I){return parseFloat(I)==I&&M.length?M[M.length-1].push(I):M.push([I]),M},[]),l=[];if(n.length>1){var h=r(n[0]),d=null;n[n.length-1][0]=="Z"&&n[0].length>2&&(d=["L",h.x,h.y],n[n.length-1]=d),l.push(n[0]);for(var c=1;c2&&g[0]=="L"&&p.length>2&&p[0]=="L"){var f,x,m=r(u),v=r(g),w=r(p);f=i(v,m,t),x=i(v,w,t),a(g,f),g.origPoint=v,l.push(g);var C=s(f,v,.5),k=s(v,x,.5),T=["C",C.x,C.y,k.x,k.y,x.x,x.y];T.origPoint=v,l.push(T)}else l.push(g)}if(d){var A=r(l[l.length-1]);l.push(["Z"]),a(l[0],A)}}else l=n;return l.reduce(function(M,I){return M+I.join(" ")+" "},"")}},{key:"drawLine",value:function(e,t,i,s){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"#a8a8a8",r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:e,y1:t,x2:i,y2:s,stroke:a,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":l})}},{key:"drawRect",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"#fefefe",n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:1,l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null,h=arguments.length>8&&arguments[8]!==void 0?arguments[8]:null,d=arguments.length>9&&arguments[9]!==void 0?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:e,y:t,width:i>0?i:0,height:s>0?s:0,rx:a,ry:a,opacity:n,"stroke-width":l!==null?l:0,stroke:h!==null?h:"none","stroke-dasharray":d}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"#e1e1e1",i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(e).attr({fill:s,stroke:t,"stroke-width":i})}},{key:"drawCircle",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e<0&&(e=0);var i=this.w.globals.dom.Paper.circle(2*e);return t!==null&&i.attr(t),i}},{key:"drawPath",value:function(e){var t=e.d,i=t===void 0?"":t,s=e.stroke,a=s===void 0?"#a8a8a8":s,r=e.strokeWidth,n=r===void 0?1:r,l=e.fill,h=e.fillOpacity,d=h===void 0?1:h,c=e.strokeOpacity,u=c===void 0?1:c,g=e.classes,p=e.strokeLinecap,f=p===void 0?null:p,x=e.strokeDashArray,m=x===void 0?0:x,v=this.w;return f===null&&(f=v.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(v.globals.gridHeight)),v.globals.dom.Paper.path(i).attr({fill:l,"fill-opacity":d,stroke:a,"stroke-opacity":u,"stroke-linecap":f,"stroke-width":n,"stroke-dasharray":m,class:g})}},{key:"group",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w.globals.dom.Paper.group();return e!==null&&t.attr(e),t}},{key:"move",value:function(e,t){var i=["M",e,t].join(" ");return i}},{key:"line",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=null;return i===null?s=[" L",e,t].join(" "):i==="H"?s=[" H",e].join(" "):i==="V"&&(s=[" V",t].join(" ")),s}},{key:"curve",value:function(e,t,i,s,a,r){var n=["C",e,t,i,s,a,r].join(" ");return n}},{key:"quadraticCurve",value:function(e,t,i,s){return["Q",e,t,i,s].join(" ")}},{key:"arc",value:function(e,t,i,s,a,r,n){var l="A";arguments.length>7&&arguments[7]!==void 0&&arguments[7]&&(l="a");var h=[l,e,t,i,s,a,r,n].join(" ");return h}},{key:"renderPaths",value:function(e){var t,i=e.j,s=e.realIndex,a=e.pathFrom,r=e.pathTo,n=e.stroke,l=e.strokeWidth,h=e.strokeLinecap,d=e.fill,c=e.animationDelay,u=e.initialSpeed,g=e.dataChangeSpeed,p=e.className,f=e.chartType,x=e.shouldClipToGrid,m=x===void 0||x,v=e.bindEventsOnPaths,w=v===void 0||v,C=e.drawShadow,k=C===void 0||C,T=this.w,A=new Re(this.ctx),M=new He(this.ctx),I=this.w.config.chart.animations.enabled,O=I&&this.w.config.chart.animations.dynamicAnimation.enabled,X=!!(I&&!T.globals.resized||O&&T.globals.dataChanged&&T.globals.shouldAnimate);X?t=a:(t=r,T.globals.animationEnded=!0);var H=T.config.stroke.dashArray,N=0;N=Array.isArray(H)?H[s]:T.config.stroke.dashArray;var B=this.drawPath({d:t,stroke:n,strokeWidth:l,fill:d,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:N});B.attr("index",s),m&&(f==="bar"&&!T.globals.isHorizontal||T.globals.comboCharts?B.attr({"clip-path":"url(#gridRectBarMask".concat(T.globals.cuid,")")}):B.attr({"clip-path":"url(#gridRectMask".concat(T.globals.cuid,")")})),T.config.chart.dropShadow.enabled&&k&&A.dropShadow(B,T.config.chart.dropShadow,s),w&&(B.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,B)),B.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,B)),B.node.addEventListener("mousedown",this.pathMouseDown.bind(this,B))),B.attr({pathTo:r,pathFrom:a});var U={el:B,j:i,realIndex:s,pathFrom:a,pathTo:r,fill:d,strokeWidth:l,delay:c};return!I||T.globals.resized||T.globals.dataChanged?!T.globals.resized&&T.globals.dataChanged||M.showDelayedElements():M.animatePathsGradually(Y(Y({},U),{},{speed:u})),T.globals.dataChanged&&O&&X&&M.animatePathsGradually(Y(Y({},U),{},{speed:g})),B}},{key:"drawPattern",value:function(e,t,i){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"#a8a8a8",a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;return this.w.globals.dom.Paper.pattern(t,i,function(r){e==="horizontalLines"?r.line(0,0,i,0).stroke({color:s,width:a+1}):e==="verticalLines"?r.line(0,0,0,t).stroke({color:s,width:a+1}):e==="slantedLines"?r.line(0,0,t,i).stroke({color:s,width:a}):e==="squares"?r.rect(t,i).fill("none").stroke({color:s,width:a}):e==="circles"&&r.circle(t).fill("none").stroke({color:s,width:a})})}},{key:"drawGradient",value:function(e,t,i,s,a){var r,n=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,h=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],d=arguments.length>8&&arguments[8]!==void 0?arguments[8]:0,c=this.w;t.length<9&&t.indexOf("#")===0&&(t=R.hexToRgba(t,s)),i.length<9&&i.indexOf("#")===0&&(i=R.hexToRgba(i,a));var u=0,g=1,p=1,f=null;l!==null&&(u=l[0]!==void 0?l[0]/100:0,g=l[1]!==void 0?l[1]/100:1,p=l[2]!==void 0?l[2]/100:1,f=l[3]!==void 0?l[3]/100:null);var x=!(c.config.chart.type!=="donut"&&c.config.chart.type!=="pie"&&c.config.chart.type!=="polarArea"&&c.config.chart.type!=="bubble");if(r=h&&h.length!==0?c.globals.dom.Paper.gradient(x?"radial":"linear",function(w){(Array.isArray(h[d])?h[d]:h).forEach(function(C){w.stop(C.offset/100,C.color,C.opacity)})}):c.globals.dom.Paper.gradient(x?"radial":"linear",function(w){w.stop(u,t,s),w.stop(g,i,a),w.stop(p,i,a),f!==null&&w.stop(f,t,s)}),x){var m=c.globals.gridWidth/2,v=c.globals.gridHeight/2;c.config.chart.type!=="bubble"?r.attr({gradientUnits:"userSpaceOnUse",cx:m,cy:v,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else e==="vertical"?r.from(0,0).to(0,1):e==="diagonal"?r.from(0,0).to(1,1):e==="horizontal"?r.from(0,1).to(1,1):e==="diagonal2"&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(e){var t=e.text,i=e.maxWidth,s=e.fontSize,a=e.fontFamily,r=this.getTextRects(t,s,a),n=r.width/t.length,l=Math.floor(i/n);return i-1){var l=i.globals.selectedDataPoints[a].indexOf(r);i.globals.selectedDataPoints[a].splice(l,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var h=i.globals.dom.Paper.find(".apexcharts-series path:not(.apexcharts-decoration-element)"),d=i.globals.dom.Paper.find(".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)"),c=function(p){Array.prototype.forEach.call(p,function(f){f.node.setAttribute("selected","false"),s.getDefaultFilter(f,a)})};c(h),c(d)}e.node.setAttribute("selected","true"),n="true",i.globals.selectedDataPoints[a]===void 0&&(i.globals.selectedDataPoints[a]=[]),i.globals.selectedDataPoints[a].push(r)}if(n==="true"){var u=i.config.states.active.filter;if(u!=="none")s.applyFilter(e,a,u.type);else if(i.config.states.hover.filter!=="none"&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;s.applyFilter(e,a,g.type)}}else i.config.states.active.filter.type!=="none"&&(i.config.states.hover.filter.type==="none"||i.globals.isTouchDevice?s.getDefaultFilter(e,a):(g=i.config.states.hover.filter,s.applyFilter(e,a,g.type)));typeof i.config.chart.events.dataPointSelection=="function"&&i.config.chart.events.dataPointSelection(t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:r,w:i}),t&&this.ctx.events.fireEvent("dataPointSelection",[t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(e){var t={};return e&&typeof e.getBBox=="function"&&(t=e.getBBox()),{x:t.x+t.width/2,y:t.y+t.height/2}}},{key:"getTextRects",value:function(e,t,i,s){var a=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:e,textAnchor:"start",fontSize:t,fontFamily:i,foreColor:"#fff",opacity:0});s&&n.attr("transform",s),r.globals.dom.Paper.add(n);var l=n.bbox();return a||(l=n.node.getBoundingClientRect()),n.remove(),{width:l.width,height:l.height}}},{key:"placeTextWithEllipsis",value:function(e,t,i){if(typeof e.getComputedTextLength=="function"&&(e.textContent=t,t.length>0&&e.getComputedTextLength()>=i/1.1)){for(var s=t.length-3;s>0;s-=3)if(e.getSubStringLength(0,s)<=i/1.1)return void(e.textContent=t.substring(0,s)+"...");e.textContent="."}}}],[{key:"setAttrs",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}}]),o}(),Pe=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getStackedSeriesTotals",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=this.w,i=[];if(t.globals.series.length===0)return i;for(var s=0;s0&&arguments[0]!==void 0?arguments[0]:null;return e===null?this.w.config.series.reduce(function(t,i){return t+i},0):this.w.globals.series[e].reduce(function(t,i){return t+i},0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var e=this,t=this.w,i=[];return t.globals.seriesGroups.forEach(function(s){var a=[];t.config.series.forEach(function(n,l){s.indexOf(t.globals.seriesNames[l])>-1&&a.push(l)});var r=t.globals.series.map(function(n,l){return a.indexOf(l)===-1?l:-1}).filter(function(n){return n!==-1});i.push(e.getStackedSeriesTotals(r))}),i}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],s=[],a=[],r=e.series.length>t.yaxis.length||t.yaxis.some(function(c){return Array.isArray(c.seriesName)});t.series.forEach(function(c,u){a.push(u),s.push(null)}),t.yaxis.forEach(function(c,u){i[u]=[]});var n=[];t.yaxis.forEach(function(c,u){var g=!1;if(c.seriesName){var p=[];Array.isArray(c.seriesName)?p=c.seriesName:p.push(c.seriesName),p.forEach(function(f){t.series.forEach(function(x,m){if(x.name===f){var v=m;u===m||r?!r||a.indexOf(m)>-1?i[u].push([u,m]):console.warn("Series '"+x.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[m].push([m,u]),v=u),g=!0,(v=a.indexOf(v))!==-1&&a.splice(v,1)}})})}g||n.push(u)}),i=i.map(function(c,u){var g=[];return c.forEach(function(p){s[p[1]]=p[0],g.push(p[1])}),g});for(var l=t.yaxis.length-1,h=0;h0&&arguments[0]!==void 0?arguments[0]:null;return(e===null?this.w.config.series.filter(function(t){return t!==null}):this.w.config.series[e].data.filter(function(t){return t!==null})).length===0}},{key:"seriesHaveSameValues",value:function(e){return this.w.globals.series[e].every(function(t,i,s){return t===s[0]})}},{key:"getCategoryLabels",value:function(e){var t=this.w,i=e.slice();return t.config.xaxis.convertedCatToNumeric&&(i=e.map(function(s,a){return t.config.xaxis.labels.formatter(s-t.globals.minX+1)})),i}},{key:"getLargestSeries",value:function(){var e=this.w;e.globals.maxValsInArrayIndex=e.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,e.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var e=this.w,t=0;return e.globals.markers.size.forEach(function(i){t=Math.max(t,i)}),e.config.markers.discrete&&e.config.markers.discrete.length&&e.config.markers.discrete.forEach(function(i){t=Math.max(t,i.size)}),t>0&&(e.config.markers.hover.size>0?t=e.config.markers.hover.size:t+=e.config.markers.hover.sizeOffset),e.globals.markers.largestSize=t,t}},{key:"getSeriesTotals",value:function(){var e=this.w;e.globals.seriesTotals=e.globals.series.map(function(t,i){var s=0;if(Array.isArray(t))for(var a=0;ae&&i.globals.seriesX[a][n]0){var p=function(x,m){var v=a.config.yaxis[a.globals.seriesYAxisReverseMap[m]],w=x<0?-1:1;return x=Math.abs(x),v.logarithmic&&(x=s.getBaseLog(v.logBase,x)),-w*x/n[m]};if(r.isMultipleYAxis){h=[];for(var f=0;f0&&t.forEach(function(n){var l=[],h=[];e.i.forEach(function(d,c){a.config.series[d].group===n&&(l.push(e.series[c]),h.push(d))}),l.length>0&&r.push(s.draw(l,i,h))}),r}}],[{key:"checkComboSeries",value:function(e,t){var i=!1,s=0,a=0;return t===void 0&&(t="line"),e.length&&e[0].type!==void 0&&e.forEach(function(r){r.type!=="bar"&&r.type!=="column"&&r.type!=="candlestick"&&r.type!=="boxPlot"||s++,r.type!==void 0&&r.type!==t&&a++}),a>0&&(i=!0),{comboBarCount:s,comboCharts:i}}},{key:"extendArrayProps",value:function(e,t,i){var s,a,r,n,l,h;return(s=t)!==null&&s!==void 0&&s.yaxis&&(t=e.extendYAxis(t,i)),(a=t)!==null&&a!==void 0&&a.annotations&&(t.annotations.yaxis&&(t=e.extendYAxisAnnotations(t)),(r=t)!==null&&r!==void 0&&(n=r.annotations)!==null&&n!==void 0&&n.xaxis&&(t=e.extendXAxisAnnotations(t)),(l=t)!==null&&l!==void 0&&(h=l.annotations)!==null&&h!==void 0&&h.points&&(t=e.extendPointAnnotations(t))),t}}]),o}(),ci=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e}return E(o,[{key:"setOrientations",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.w;if(e.label.orientation==="vertical"){var s=t!==null?t:0,a=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(s,"']"));if(a!==null){var r=a.getBoundingClientRect();a.setAttribute("x",parseFloat(a.getAttribute("x"))-r.height+4);var n=e.label.position==="top"?r.width:-r.width;a.setAttribute("y",parseFloat(a.getAttribute("y"))+n);var l=this.annoCtx.graphics.rotateAroundCenter(a),h=l.x,d=l.y;a.setAttribute("transform","rotate(-90 ".concat(h," ").concat(d,")"))}}}},{key:"addBackgroundToAnno",value:function(e,t){var i=this.w;if(!e||!t.label.text||!String(t.label.text).trim())return null;var s=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),a=e.getBoundingClientRect(),r=t.label.style.padding,n=r.left,l=r.right,h=r.top,d=r.bottom;if(t.label.orientation==="vertical"){var c=[n,l,h,d];h=c[0],d=c[1],n=c[2],l=c[3]}var u=a.left-s.left-n,g=a.top-s.top-h,p=this.annoCtx.graphics.drawRect(u-i.globals.barPadForNumericAxis,g,a.width+n+l,a.height+h+d,t.label.borderRadius,t.label.style.background,1,t.label.borderWidth,t.label.borderColor,0);return t.id&&p.node.classList.add(t.id),p}},{key:"annotationsBackground",value:function(){var e=this,t=this.w,i=function(s,a,r){var n=t.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(a,"']"));if(n){var l=n.parentNode,h=e.addBackgroundToAnno(n,s);h&&(l.insertBefore(h.node,n),s.label.mouseEnter&&h.node.addEventListener("mouseenter",s.label.mouseEnter.bind(e,s)),s.label.mouseLeave&&h.node.addEventListener("mouseleave",s.label.mouseLeave.bind(e,s)),s.label.click&&h.node.addEventListener("click",s.label.click.bind(e,s)))}};t.config.annotations.xaxis.forEach(function(s,a){return i(s,a,"xaxis")}),t.config.annotations.yaxis.forEach(function(s,a){return i(s,a,"yaxis")}),t.config.annotations.points.forEach(function(s,a){return i(s,a,"point")})}},{key:"getY1Y2",value:function(e,t){var i,s=this.w,a=e==="y1"?t.y:t.y2,r=!1;if(this.annoCtx.invertAxis){var n=s.config.xaxis.convertedCatToNumeric?s.globals.categoryLabels:s.globals.labels,l=n.indexOf(a),h=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(".concat(l+1,")"));i=h?parseFloat(h.getAttribute("y")):(s.globals.gridHeight/n.length-1)*(l+1)-s.globals.barHeight,t.seriesIndex!==void 0&&s.globals.barHeight&&(i-=s.globals.barHeight/2*(s.globals.series.length-1)-s.globals.barHeight*t.seriesIndex)}else{var d,c=s.globals.seriesYAxisMap[t.yAxisIndex][0],u=s.config.yaxis[t.yAxisIndex].logarithmic?new Pe(this.annoCtx.ctx).getLogVal(s.config.yaxis[t.yAxisIndex].logBase,a,c)/s.globals.yLogRatio[c]:(a-s.globals.minYArr[c])/(s.globals.yRange[c]/s.globals.gridHeight);i=s.globals.gridHeight-Math.min(Math.max(u,0),s.globals.gridHeight),r=u>s.globals.gridHeight||u<0,!t.marker||t.y!==void 0&&t.y!==null||(i=0),(d=s.config.yaxis[t.yAxisIndex])!==null&&d!==void 0&&d.reversed&&(i=u)}return typeof a=="string"&&a.includes("px")&&(i=parseFloat(a)),{yP:i,clipped:r}}},{key:"getX1X2",value:function(e,t){var i=this.w,s=e==="x1"?t.x:t.x2,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,l=!1,h=this.annoCtx.inversedReversedAxis?(r-s)/(n/i.globals.gridWidth):(s-a)/(n/i.globals.gridWidth);return i.config.xaxis.type!=="category"&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(h=this.getStringX(s)),typeof s=="string"&&s.includes("px")&&(h=parseFloat(s)),s==null&&t.marker&&(h=i.globals.gridWidth),t.seriesIndex!==void 0&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(h-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*t.seriesIndex),h>i.globals.gridWidth?(h=i.globals.gridWidth,l=!0):h<0&&(h=0,l=!0),{x:h,clipped:l}}},{key:"getStringX",value:function(e){var t=this.w,i=e;t.config.xaxis.convertedCatToNumeric&&t.globals.categoryLabels.length&&(e=t.globals.categoryLabels.indexOf(e)+1);var s=t.globals.labels.map(function(r){return Array.isArray(r)?r.join(" "):r}).indexOf(e),a=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(".concat(s+1,")"));return a&&(i=parseFloat(a.getAttribute("x"))),i}}]),o}(),sn=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new ci(this.annoCtx)}return E(o,[{key:"addXaxisAnnotation",value:function(e,t,i){var s,a=this.w,r=this.helpers.getX1X2("x1",e),n=r.x,l=r.clipped,h=!0,d=e.label.text,c=e.strokeDashArray;if(R.isNumber(n)){if(e.x2===null||e.x2===void 0){if(!l){var u=this.annoCtx.graphics.drawLine(n+e.offsetX,0+e.offsetY,n+e.offsetX,a.globals.gridHeight+e.offsetY,e.borderColor,c,e.borderWidth);t.appendChild(u.node),e.id&&u.node.classList.add(e.id)}}else{var g=this.helpers.getX1X2("x2",e);if(s=g.x,h=g.clipped,!l||!h){if(s12?g-12:g===0?12:g;t=(t=(t=(t=t.replace(/(^|[^\\])HH+/g,"$1"+h(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+h(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=s?e.getUTCMinutes():e.getMinutes();t=(t=t.replace(/(^|[^\\])mm+/g,"$1"+h(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=s?e.getUTCSeconds():e.getSeconds();t=(t=t.replace(/(^|[^\\])ss+/g,"$1"+h(x))).replace(/(^|[^\\])s/g,"$1"+x);var m=s?e.getUTCMilliseconds():e.getMilliseconds();t=t.replace(/(^|[^\\])fff+/g,"$1"+h(m,3)),m=Math.round(m/10),t=t.replace(/(^|[^\\])ff/g,"$1"+h(m)),m=Math.round(m/10);var v=g<12?"AM":"PM";t=(t=(t=t.replace(/(^|[^\\])f/g,"$1"+m)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var w=v.toLowerCase();t=(t=t.replace(/(^|[^\\])tt+/g,"$1"+w)).replace(/(^|[^\\])t/g,"$1"+w.charAt(0));var C=-e.getTimezoneOffset(),k=s||!C?"Z":C>0?"+":"-";if(!s){var T=(C=Math.abs(C))%60;k+=h(Math.floor(C/60))+":"+h(T)}t=t.replace(/(^|[^\\])K/g,"$1"+k);var A=(s?e.getUTCDay():e.getDay())+1;return t=(t=(t=(t=(t=t.replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(l[0],"g"),l[A])).replace(new RegExp(a[0],"g"),a[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(e,t,i){var s=this.w;s.config.xaxis.min!==void 0&&(e=s.config.xaxis.min),s.config.xaxis.max!==void 0&&(t=s.config.xaxis.max);var a=this.getDate(e),r=this.getDate(t),n=this.formatDate(a,"yyyy MM dd HH mm ss fff").split(" "),l=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(l[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(l[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(l[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(l[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(l[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(l[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(l[0],10)}}},{key:"isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"calculcateLastDaysOfMonth",value:function(e,t,i){return this.determineDaysOfMonths(e,t)-i}},{key:"determineDaysOfYear",value:function(e){var t=365;return this.isLeapYear(e)&&(t=366),t}},{key:"determineRemainingDaysOfYear",value:function(e,t,i){var s=this.daysCntOfYear[t]+i;return t>1&&this.isLeapYear()&&s++,s}},{key:"determineDaysOfMonths",value:function(e,t){var i=30;switch(e=R.monthMod(e),!0){case this.months30.indexOf(e)>-1:e===2&&(i=this.isLeapYear(t)?29:28);break;case this.months31.indexOf(e)>-1:default:i=31}return i}}]),o}(),Vt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return E(o,[{key:"xLabelFormat",value:function(e,t,i,s){var a=this.w;if(a.config.xaxis.type==="datetime"&&a.config.xaxis.labels.formatter===void 0&&a.config.tooltip.x.formatter===void 0){var r=new Ie(this.ctx);return r.formatDate(r.getDate(t),a.config.tooltip.x.format)}return e(t,i,s)}},{key:"defaultGeneralFormatter",value:function(e){return Array.isArray(e)?e.map(function(t){return t}):e}},{key:"defaultYFormatter",value:function(e,t,i){var s=this.w;if(R.isNumber(e))if(s.globals.yValueDecimal!==0)e=e.toFixed(t.decimalsInFloat!==void 0?t.decimalsInFloat:s.globals.yValueDecimal);else{var a=e.toFixed(0);e=e==a?a:e.toFixed(1)}return e}},{key:"setLabelFormatters",value:function(){var e=this,t=this.w;return t.globals.xaxisTooltipFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttKeyFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttZFormatter=function(i){return i},t.globals.legendFormatter=function(i){return e.defaultGeneralFormatter(i)},t.config.xaxis.labels.formatter!==void 0?t.globals.xLabelFormatter=t.config.xaxis.labels.formatter:t.globals.xLabelFormatter=function(i){if(R.isNumber(i)){if(!t.config.xaxis.convertedCatToNumeric&&t.config.xaxis.type==="numeric"){if(R.isNumber(t.config.xaxis.decimalsInFloat))return i.toFixed(t.config.xaxis.decimalsInFloat);var s=t.globals.maxX-t.globals.minX;return s>0&&s<100?i.toFixed(1):i.toFixed(0)}return t.globals.isBarHorizontal&&t.globals.maxY-t.globals.minYArr<4?i.toFixed(1):i.toFixed(0)}return i},typeof t.config.tooltip.x.formatter=="function"?t.globals.ttKeyFormatter=t.config.tooltip.x.formatter:t.globals.ttKeyFormatter=t.globals.xLabelFormatter,typeof t.config.xaxis.tooltip.formatter=="function"&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),(Array.isArray(t.config.tooltip.y)||t.config.tooltip.y.formatter!==void 0)&&(t.globals.ttVal=t.config.tooltip.y),t.config.tooltip.z.formatter!==void 0&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),t.config.legend.formatter!==void 0&&(t.globals.legendFormatter=t.config.legend.formatter),t.config.yaxis.forEach(function(i,s){i.labels.formatter!==void 0?t.globals.yLabelFormatters[s]=i.labels.formatter:t.globals.yLabelFormatters[s]=function(a){return t.globals.xyCharts?Array.isArray(a)?a.map(function(r){return e.defaultYFormatter(r,i,s)}):e.defaultYFormatter(a,i,s):a}}),t.globals}},{key:"heatmapLabelFormatters",value:function(){var e=this.w;if(e.config.chart.type==="heatmap"){e.globals.yAxisScale[0].result=e.globals.seriesNames.slice();var t=e.globals.seriesNames.reduce(function(i,s){return i.length>s.length?i:s},0);e.globals.yAxisScale[0].niceMax=t,e.globals.yAxisScale[0].niceMin=t}}}]),o}(),dt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"getLabel",value:function(e,t,i,s){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[],r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"12px",n=!(arguments.length>6&&arguments[6]!==void 0)||arguments[6],l=this.w,h=e[s]===void 0?"":e[s],d=h,c=l.globals.xLabelFormatter,u=l.config.xaxis.labels.formatter,g=!1,p=new Vt(this.ctx),f=h;n&&(d=p.xLabelFormat(c,h,f,{i:s,dateFormatter:new Ie(this.ctx).formatDate,w:l}),u!==void 0&&(d=u(h,e[s],{i:s,dateFormatter:new Ie(this.ctx).formatDate,w:l})));var x,m;t.length>0?(x=t[s].unit,m=null,t.forEach(function(k){k.unit==="month"?m="year":k.unit==="day"?m="month":k.unit==="hour"?m="day":k.unit==="minute"&&(m="hour")}),g=m===x,i=t[s].position,d=t[s].value):l.config.xaxis.type==="datetime"&&u===void 0&&(d=""),d===void 0&&(d=""),d=Array.isArray(d)?d:d.toString();var v=new G(this.ctx),w={};w=l.globals.rotateXLabels&&n?v.getTextRects(d,parseInt(r,10),null,"rotate(".concat(l.config.xaxis.labels.rotate," 0 0)"),!1):v.getTextRects(d,parseInt(r,10));var C=!l.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(d)&&(String(d)==="NaN"||a.indexOf(d)>=0&&C)&&(d=""),{x:i,text:d,textRect:w,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(e,t,i){var s=this.w,a=s.config.xaxis.tickAmount;return a==="dataPoints"&&(a=Math.round(s.globals.gridWidth/120)),a>i||e%Math.round(i/(a+1))==0||(t.text=""),t}},{key:"checkForOverflowingLabels",value:function(e,t,i,s,a){var r=this.w;if(e===0&&r.globals.skipFirstTimelinelabel&&(t.text=""),e===i-1&&r.globals.skipLastTimelinelabel&&(t.text=""),r.config.xaxis.labels.hideOverlappingLabels&&s.length>0){var n=a[a.length-1];t.xs.length||s.some(function(a){return Array.isArray(a.seriesName)})?e:i.seriesYAxisReverseMap[e]}},{key:"isYAxisHidden",value:function(e){var t=this.w,i=t.config.yaxis[e];if(!i.show||this.yAxisAllSeriesCollapsed(e))return!0;if(!i.showForNullSeries){var s=t.globals.seriesYAxisMap[e],a=new Pe(this.ctx);return s.every(function(r){return a.isSeriesNull(r)})}return!1}},{key:"getYAxisForeColor",value:function(e,t){var i=this.w;return Array.isArray(e)&&i.globals.yAxisScale[t]&&this.ctx.theme.pushExtraColors(e,i.globals.yAxisScale[t].result.length,!1),e}},{key:"drawYAxisTicks",value:function(e,t,i,s,a,r,n){var l=this.w,h=new G(this.ctx),d=l.globals.translateY+l.config.yaxis[a].labels.offsetY;if(l.globals.isBarHorizontal?d=0:l.config.chart.type==="heatmap"&&(d+=r/2),s.show&&t>0){l.config.yaxis[a].opposite===!0&&(e+=s.width);for(var c=t;c>=0;c--){var u=h.drawLine(e+i.offsetX-s.width+s.offsetX,d+s.offsetY,e+i.offsetX+s.offsetX,d+s.offsetY,s.color);n.add(u),d+=r}}}}]),o}(),an=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.helpers=new ci(this.annoCtx),this.axesUtils=new dt(this.annoCtx)}return E(o,[{key:"addYaxisAnnotation",value:function(e,t,i){var s,a=this.w,r=e.strokeDashArray,n=this.helpers.getY1Y2("y1",e),l=n.yP,h=n.clipped,d=!0,c=!1,u=e.label.text;if(e.y2===null||e.y2===void 0){if(!h){c=!0;var g=this.annoCtx.graphics.drawLine(0+e.offsetX,l+e.offsetY,this._getYAxisAnnotationWidth(e),l+e.offsetY,e.borderColor,r,e.borderWidth);t.appendChild(g.node),e.id&&g.node.classList.add(e.id)}}else{if(s=(n=this.helpers.getY1Y2("y2",e)).yP,d=n.clipped,s>l){var p=l;l=s,s=p}if(!h||!d){c=!0;var f=this.annoCtx.graphics.drawRect(0+e.offsetX,s+e.offsetY,this._getYAxisAnnotationWidth(e),l-s,0,e.fillColor,e.opacity,1,e.borderColor,r);f.node.classList.add("apexcharts-annotation-rect"),f.attr("clip-path","url(#gridRectMask".concat(a.globals.cuid,")")),t.appendChild(f.node),e.id&&f.node.classList.add(e.id)}}if(c){var x=e.label.position==="right"?a.globals.gridWidth:e.label.position==="center"?a.globals.gridWidth/2:0,m=this.annoCtx.graphics.drawText({x:x+e.label.offsetX,y:(s??l)+e.label.offsetY-3,text:u,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});m.attr({rel:i}),t.appendChild(m.node)}}},{key:"_getYAxisAnnotationWidth",value:function(e){var t=this.w;return t.globals.gridWidth,(e.width.indexOf("%")>-1?t.globals.gridWidth*parseInt(e.width,10)/100:parseInt(e.width,10))+e.offsetX}},{key:"drawYAxisAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.forEach(function(s,a){s.yAxisIndex=e.axesUtils.translateYAxisIndex(s.yAxisIndex),e.axesUtils.isYAxisHidden(s.yAxisIndex)&&e.axesUtils.yAxisAllSeriesCollapsed(s.yAxisIndex)||e.addYaxisAnnotation(s,i.node,a)}),i}}]),o}(),rn=function(){function o(e){P(this,o),this.w=e.w,this.annoCtx=e,this.helpers=new ci(this.annoCtx)}return E(o,[{key:"addPointAnnotation",value:function(e,t,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(e.seriesIndex)>-1)){var s=this.helpers.getX1X2("x1",e),a=s.x,r=s.clipped,n=(s=this.helpers.getY1Y2("y1",e)).yP,l=s.clipped;if(R.isNumber(a)&&!l&&!r){var h={pSize:e.marker.size,pointStrokeWidth:e.marker.strokeWidth,pointFillColor:e.marker.fillColor,pointStrokeColor:e.marker.strokeColor,shape:e.marker.shape,pRadius:e.marker.radius,class:"apexcharts-point-annotation-marker ".concat(e.marker.cssClass," ").concat(e.id?e.id:"")},d=this.annoCtx.graphics.drawMarker(a+e.marker.offsetX,n+e.marker.offsetY,h);t.appendChild(d.node);var c=e.label.text?e.label.text:"",u=this.annoCtx.graphics.drawText({x:a+e.label.offsetX,y:n+e.label.offsetY-e.marker.size-parseFloat(e.label.style.fontSize)/1.6,text:c,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});if(u.attr({rel:i}),t.appendChild(u.node),e.customSVG.SVG){var g=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+e.customSVG.cssClass});g.attr({transform:"translate(".concat(a+e.customSVG.offsetX,", ").concat(n+e.customSVG.offsetY,")")}),g.node.innerHTML=e.customSVG.SVG,t.appendChild(g.node)}if(e.image.path){var p=e.image.width?e.image.width:20,f=e.image.height?e.image.height:20;d=this.annoCtx.addImage({x:a+e.image.offsetX-p/2,y:n+e.image.offsetY-f/2,width:p,height:f,path:e.image.path,appendTo:".apexcharts-point-annotations"})}e.mouseEnter&&d.node.addEventListener("mouseenter",e.mouseEnter.bind(this,e)),e.mouseLeave&&d.node.addEventListener("mouseleave",e.mouseLeave.bind(this,e)),e.click&&d.node.addEventListener("click",e.click.bind(this,e))}}}},{key:"drawPointAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(s,a){e.addPointAnnotation(s,i.node,a)}),i}}]),o}(),pa={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},kt=function(){function o(){P(this,o),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return E(o,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[pa],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(e){return e}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(e){return e+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)/e.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(e){return e},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(e){return e}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(e){return e}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(e){return e!==null?e:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],clusterGroupedSeries:!0,clusterGroupedSeriesOrientation:"vertical",labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:"lighten"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken"}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(e){return e?e+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),o}(),nn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.graphics=new G(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new ci(this),this.xAxisAnnotations=new sn(this),this.yAxisAnnotations=new an(this),this.pointsAnnotations=new rn(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return E(o,[{key:"drawAxesAnnotations",value:function(){var e=this.w;if(e.globals.axisCharts&&e.globals.dataPoints){for(var t=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),s=this.pointsAnnotations.drawPointAnnotations(),a=e.config.chart.animations.enabled,r=[t,i,s],n=[i.node,t.node,s.node],l=0;l<3;l++)e.globals.dom.elGraphical.add(r[l]),!a||e.globals.resized||e.globals.dataChanged||e.config.chart.type!=="scatter"&&e.config.chart.type!=="bubble"&&e.globals.dataPoints>1&&n[l].classList.add("apexcharts-element-hidden"),e.globals.delayedElements.push({el:n[l],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var e=this;this.w.config.annotations.images.map(function(t,i){e.addImage(t,i)})}},{key:"drawTextAnnos",value:function(){var e=this;this.w.config.annotations.texts.map(function(t,i){e.addText(t,i)})}},{key:"addXaxisAnnotation",value:function(e,t,i){this.xAxisAnnotations.addXaxisAnnotation(e,t,i)}},{key:"addYaxisAnnotation",value:function(e,t,i){this.yAxisAnnotations.addYaxisAnnotation(e,t,i)}},{key:"addPointAnnotation",value:function(e,t,i){this.pointsAnnotations.addPointAnnotation(e,t,i)}},{key:"addText",value:function(e,t){var i=e.x,s=e.y,a=e.text,r=e.textAnchor,n=e.foreColor,l=e.fontSize,h=e.fontFamily,d=e.fontWeight,c=e.cssClass,u=e.backgroundColor,g=e.borderWidth,p=e.strokeDashArray,f=e.borderRadius,x=e.borderColor,m=e.appendTo,v=m===void 0?".apexcharts-svg":m,w=e.paddingLeft,C=w===void 0?4:w,k=e.paddingRight,T=k===void 0?4:k,A=e.paddingBottom,M=A===void 0?2:A,I=e.paddingTop,O=I===void 0?2:I,X=this.w,H=this.graphics.drawText({x:i,y:s,text:a,textAnchor:r||"start",fontSize:l||"12px",fontWeight:d||"regular",fontFamily:h||X.config.chart.fontFamily,foreColor:n||X.config.chart.foreColor,cssClass:c}),N=X.globals.dom.baseEl.querySelector(v);N&&N.appendChild(H.node);var B=H.bbox();if(a){var U=this.graphics.drawRect(B.x-C,B.y-O,B.width+C+T,B.height+M+O,f,u||"transparent",1,g,x,p);N.insertBefore(U.node,H.node)}}},{key:"addImage",value:function(e,t){var i=this.w,s=e.path,a=e.x,r=a===void 0?0:a,n=e.y,l=n===void 0?0:n,h=e.width,d=h===void 0?20:h,c=e.height,u=c===void 0?20:c,g=e.appendTo,p=g===void 0?".apexcharts-svg":g,f=i.globals.dom.Paper.image(s);f.size(d,u).move(r,l);var x=i.globals.dom.baseEl.querySelector(p);return x&&x.appendChild(f.node),f}},{key:"addXaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(e,t,i){return this.invertAxis===void 0&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(e){var t=e.params,i=e.pushToMemory,s=e.context,a=e.type,r=e.contextMethod,n=s,l=n.w,h=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations")),d=h.childNodes.length+1,c=new kt,u=Object.assign({},a==="xaxis"?c.xAxisAnnotation:a==="yaxis"?c.yAxisAnnotation:c.pointAnnotation),g=R.extend(u,t);switch(a){case"xaxis":this.addXaxisAnnotation(g,h,d);break;case"yaxis":this.addYaxisAnnotation(g,h,d);break;case"point":this.addPointAnnotation(g,h,d)}var p=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations .apexcharts-").concat(a,"-annotation-label[rel='").concat(d,"']")),f=this.helpers.addBackgroundToAnno(p,g);return f&&h.insertBefore(f.node,p),i&&l.globals.memory.methodsToExec.push({context:n,id:g.id?g.id:R.randomId(),method:r,label:"addAnnotation",params:t}),s}},{key:"clearAnnotations",value:function(e){for(var t=e.w,i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),s=t.globals.memory.methodsToExec.length-1;s>=0;s--)t.globals.memory.methodsToExec[s].label!=="addText"&&t.globals.memory.methodsToExec[s].label!=="addAnnotation"||t.globals.memory.methodsToExec.splice(s,1);i=R.listToArray(i),Array.prototype.forEach.call(i,function(a){for(;a.firstChild;)a.removeChild(a.firstChild)})}},{key:"removeAnnotation",value:function(e,t){var i=e.w,s=i.globals.dom.baseEl.querySelectorAll(".".concat(t));s&&(i.globals.memory.methodsToExec.map(function(a,r){a.id===t&&i.globals.memory.methodsToExec.splice(r,1)}),Array.prototype.forEach.call(s,function(a){a.parentElement.removeChild(a)}))}}]),o}(),as=function(o){var e,t=o.isTimeline,i=o.ctx,s=o.seriesIndex,a=o.dataPointIndex,r=o.y1,n=o.y2,l=o.w,h=l.globals.seriesRangeStart[s][a],d=l.globals.seriesRangeEnd[s][a],c=l.globals.labels[a],u=l.config.series[s].name?l.config.series[s].name:"",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:a,start:h,end:d};typeof p=="function"&&(u=p(u,f)),(e=l.config.series[s].data[a])!==null&&e!==void 0&&e.x&&(c=l.config.series[s].data[a].x),t||l.config.xaxis.type==="datetime"&&(c=new Vt(i).xLabelFormat(l.globals.ttKeyFormatter,c,c,{i:void 0,dateFormatter:new Ie(i).formatDate,w:l})),typeof g=="function"&&(c=g(c,f)),Number.isFinite(r)&&Number.isFinite(n)&&(h=r,d=n);var x="",m="",v=l.globals.colors[s];if(l.config.tooltip.x.formatter===void 0)if(l.config.xaxis.type==="datetime"){var w=new Ie(i);x=w.formatDate(w.getDate(h),l.config.tooltip.x.format),m=w.formatDate(w.getDate(d),l.config.tooltip.x.format)}else x=h,m=d;else x=l.config.tooltip.x.formatter(h),m=l.config.tooltip.x.formatter(d);return{start:h,end:d,startVal:x,endVal:m,ylabel:c,color:v,seriesName:u}},rs=function(o){var e=o.color,t=o.seriesName,i=o.ylabel,s=o.start,a=o.end,r=o.seriesIndex,n=o.dataPointIndex,l=o.ctx.tooltip.tooltipLabels.getFormatters(r);s=l.yLbFormatter(s),a=l.yLbFormatter(a);var h=l.yLbFormatter(o.w.globals.series[r][n]),d=` + `.concat(s,` + - + `).concat(a,` + `);return'

'+(t||"")+'
'+i+": "+(o.w.globals.comboCharts?o.w.config.series[r].type==="rangeArea"||o.w.config.series[r].type==="rangeBar"?d:"".concat(h,""):d)+"
"},Ut=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(e){return this.hideYAxis(),R.extend(e,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(e,t){var i=t.w.config.series[t.seriesIndex].name;return e!==null?i+": "+e:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),Y(Y({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var e=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,s=t.dataPointIndex,a=t.w;return e._getBoxTooltip(a,i,s,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var e=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var i=t.seriesIndex,s=t.dataPointIndex,a=t.w;return e._getBoxTooltip(a,i,s,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(e,t){t.ctx;var i=t.seriesIndex,s=t.dataPointIndex,a=t.w,r=function(){var n=a.globals.seriesRangeStart[i][s];return a.globals.seriesRangeEnd[i][s]-n};return a.globals.comboCharts?a.config.series[i].type==="rangeBar"||a.config.series[i].type==="rangeArea"?r():e:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(e){return e.w.config.plotOptions&&e.w.config.plotOptions.bar&&e.w.config.plotOptions.bar.horizontal?function(t){var i=as(Y(Y({},t),{},{isTimeline:!0})),s=i.color,a=i.seriesName,r=i.ylabel,n=i.startVal,l=i.endVal;return rs(Y(Y({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e):function(t){var i=as(t),s=i.color,a=i.seriesName,r=i.ylabel,n=i.start,l=i.end;return rs(Y(Y({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(e){var t,i;return(t=e.plotOptions.bar)!==null&&t!==void 0&&t.barHeight||(e.plotOptions.bar.barHeight=2),(i=e.plotOptions.bar)!==null&&i!==void 0&&i.columnWidth||(e.plotOptions.bar.columnWidth=2),e}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(e){return function(t){var i=as(t),s=i.color,a=i.seriesName,r=i.ylabel,n=i.start,l=i.end;return rs(Y(Y({},t),{},{color:s,seriesName:a,ylabel:r,start:n,end:l}))}(e)}}}}},{key:"brush",value:function(e){return R.extend(e,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(e){e.dataLabels=e.dataLabels||{},e.dataLabels.formatter=e.dataLabels.formatter||void 0;var t=e.dataLabels.formatter;return e.yaxis.forEach(function(i,s){e.yaxis[s].min=0,e.yaxis[s].max=100}),e.chart.type==="bar"&&(e.dataLabels.formatter=t||function(i){return typeof i=="number"&&i?i.toFixed(0)+"%":i}),e}},{key:"stackedBars",value:function(){var e=this.bar();return Y(Y({},e),{},{plotOptions:Y(Y({},e.plotOptions),{},{bar:Y(Y({},e.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(e){return e.xaxis.convertedCatToNumeric=!0,e}},{key:"convertCatToNumericXaxis",value:function(e,t,i){e.xaxis.type="numeric",e.xaxis.labels=e.xaxis.labels||{},e.xaxis.labels.formatter=e.xaxis.labels.formatter||function(r){return R.isNumber(r)?Math.floor(r):r};var s=e.xaxis.labels.formatter,a=e.xaxis.categories&&e.xaxis.categories.length?e.xaxis.categories:e.labels;return i&&i.length&&(a=i.map(function(r){return Array.isArray(r)?r:String(r)})),a&&a.length&&(e.xaxis.labels.formatter=function(r){return R.isNumber(r)?s(a[Math.floor(r)-1]):s(r)}),e.xaxis.categories=[],e.labels=[],e.xaxis.tickAmount=e.xaxis.tickAmount||"dataPoints",e}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(e){return e},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"_getBoxTooltip",value:function(e,t,i,s,a){var r=e.globals.seriesCandleO[t][i],n=e.globals.seriesCandleH[t][i],l=e.globals.seriesCandleM[t][i],h=e.globals.seriesCandleL[t][i],d=e.globals.seriesCandleC[t][i];return e.config.series[t].type&&e.config.series[t].type!==a?`
+ `.concat(e.config.series[t].name?e.config.series[t].name:"series-"+(t+1),": ").concat(e.globals.series[t][i],` +
`):'
')+"
".concat(s[0],': ')+r+"
"+"
".concat(s[1],': ')+n+"
"+(l?"
".concat(s[2],': ')+l+"
":"")+"
".concat(s[3],': ')+h+"
"+"
".concat(s[4],': ')+d+"
"}}]),o}(),qt=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"init",value:function(e){var t=e.responsiveOverride,i=this.opts,s=new kt,a=new Ut(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=s.init(),n={};if(i&&Ae(i)==="object"){var l,h,d,c,u,g,p,f,x,m,v={};v=["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)!==-1?a[i.chart.type]():a.line(),(l=i.plotOptions)!==null&&l!==void 0&&(h=l.bar)!==null&&h!==void 0&&h.isFunnel&&(v=a.funnel()),i.chart.stacked&&i.chart.type==="bar"&&(v=a.stackedBars()),(d=i.chart.brush)!==null&&d!==void 0&&d.enabled&&(v=a.brush(v)),(c=i.plotOptions)!==null&&c!==void 0&&(u=c.line)!==null&&u!==void 0&&u.isSlopeChart&&(v=a.slope()),i.chart.stacked&&i.chart.stackType==="100%"&&(i=a.stacked100(i)),(g=i.plotOptions)!==null&&g!==void 0&&(p=g.bar)!==null&&p!==void 0&&p.isDumbbell&&(i=a.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},t||(i.xaxis.convertedCatToNumeric=!1),((f=(i=this.checkForCatToNumericXAxis(this.chartType,v,i)).chart.sparkline)!==null&&f!==void 0&&f.enabled||(x=window.Apex.chart)!==null&&x!==void 0&&(m=x.sparkline)!==null&&m!==void 0&&m.enabled)&&(v=a.sparkline(v)),n=R.extend(r,v)}var w=R.extend(n,window.Apex);return r=R.extend(w,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(e,t,i){var s,a,r=new Ut(i),n=(e==="bar"||e==="boxPlot")&&((s=i.plotOptions)===null||s===void 0||(a=s.bar)===null||a===void 0?void 0:a.horizontal),l=e==="pie"||e==="polarArea"||e==="donut"||e==="radar"||e==="radialBar"||e==="heatmap",h=i.xaxis.type!=="datetime"&&i.xaxis.type!=="numeric",d=i.xaxis.tickPlacement?i.xaxis.tickPlacement:t.xaxis&&t.xaxis.tickPlacement;return n||l||!h||d==="between"||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(e,t){var i=new kt;(e.yaxis===void 0||!e.yaxis||Array.isArray(e.yaxis)&&e.yaxis.length===0)&&(e.yaxis={}),e.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(e.yaxis=R.extend(e.yaxis,window.Apex.yaxis)),e.yaxis.constructor!==Array?e.yaxis=[R.extend(i.yAxis,e.yaxis)]:e.yaxis=R.extendArray(e.yaxis,i.yAxis);var s=!1;e.yaxis.forEach(function(r){r.logarithmic&&(s=!0)});var a=e.series;return t&&!a&&(a=t.config.series),s&&a.length!==e.yaxis.length&&a.length&&(e.yaxis=a.map(function(r,n){if(r.name||(a[n].name="series-".concat(n+1)),e.yaxis[n])return e.yaxis[n].seriesName=a[n].name,e.yaxis[n];var l=R.extend(i.yAxis,e.yaxis[0]);return l.show=!1,l})),s&&a.length>1&&a.length!==e.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),e}},{key:"extendAnnotations",value:function(e){return e.annotations===void 0&&(e.annotations={},e.annotations.yaxis=[],e.annotations.xaxis=[],e.annotations.points=[]),e=this.extendYAxisAnnotations(e),e=this.extendXAxisAnnotations(e),e=this.extendPointAnnotations(e)}},{key:"extendYAxisAnnotations",value:function(e){var t=new kt;return e.annotations.yaxis=R.extendArray(e.annotations.yaxis!==void 0?e.annotations.yaxis:[],t.yAxisAnnotation),e}},{key:"extendXAxisAnnotations",value:function(e){var t=new kt;return e.annotations.xaxis=R.extendArray(e.annotations.xaxis!==void 0?e.annotations.xaxis:[],t.xAxisAnnotation),e}},{key:"extendPointAnnotations",value:function(e){var t=new kt;return e.annotations.points=R.extendArray(e.annotations.points!==void 0?e.annotations.points:[],t.pointAnnotation),e}},{key:"checkForDarkTheme",value:function(e){e.theme&&e.theme.mode==="dark"&&(e.tooltip||(e.tooltip={}),e.tooltip.theme!=="light"&&(e.tooltip.theme="dark"),e.chart.foreColor||(e.chart.foreColor="#f6f7f8"),e.theme.palette||(e.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(e){var t=e;if(t.tooltip.shared&&t.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(t.chart.type==="bar"&&t.plotOptions.bar.horizontal){if(t.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");t.yaxis[0].reversed&&(t.yaxis[0].opposite=!0),t.xaxis.tooltip.enabled=!1,t.yaxis[0].tooltip.enabled=!1,t.chart.zoom.enabled=!1}return t.chart.type!=="bar"&&t.chart.type!=="rangeBar"||t.tooltip.shared&&t.xaxis.crosshairs.width==="barWidth"&&t.series.length>1&&(t.xaxis.crosshairs.width="tickWidth"),t.chart.type!=="candlestick"&&t.chart.type!=="boxPlot"||t.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(t.chart.type," chart is not supported.")),t.yaxis[0].reversed=!1),t}}]),o}(),xa=function(){function o(){P(this,o)}return E(o,[{key:"initGlobalVars",value:function(e){e.series=[],e.seriesCandleO=[],e.seriesCandleH=[],e.seriesCandleM=[],e.seriesCandleL=[],e.seriesCandleC=[],e.seriesRangeStart=[],e.seriesRangeEnd=[],e.seriesRange=[],e.seriesPercent=[],e.seriesGoals=[],e.seriesX=[],e.seriesZ=[],e.seriesNames=[],e.seriesTotals=[],e.seriesLog=[],e.seriesColors=[],e.stackedSeriesTotals=[],e.seriesXvalues=[],e.seriesYvalues=[],e.labels=[],e.hasXaxisGroups=!1,e.groups=[],e.barGroups=[],e.lineGroups=[],e.areaGroups=[],e.hasSeriesGroups=!1,e.seriesGroups=[],e.categoryLabels=[],e.timescaleLabels=[],e.noLabelsProvided=!1,e.resizeTimer=null,e.selectionResizeTimer=null,e.lastWheelExecution=0,e.delayedElements=[],e.pointsArray=[],e.dataLabelsRects=[],e.isXNumeric=!1,e.skipLastTimelinelabel=!1,e.skipFirstTimelinelabel=!1,e.isDataXYZ=!1,e.isMultiLineX=!1,e.isMultipleYAxis=!1,e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE,e.minYArr=[],e.maxYArr=[],e.maxX=-Number.MAX_VALUE,e.minX=Number.MAX_VALUE,e.initialMaxX=-Number.MAX_VALUE,e.initialMinX=Number.MAX_VALUE,e.maxDate=0,e.minDate=Number.MAX_VALUE,e.minZ=Number.MAX_VALUE,e.maxZ=-Number.MAX_VALUE,e.minXDiff=Number.MAX_VALUE,e.yAxisScale=[],e.xAxisScale=null,e.xAxisTicksPositions=[],e.yLabelsCoords=[],e.yTitleCoords=[],e.barPadForNumericAxis=0,e.padHorizontal=0,e.xRange=0,e.yRange=[],e.zRange=0,e.dataPoints=0,e.xTickAmount=0,e.multiAxisTickAmount=0}},{key:"globalVars",value:function(e){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:e.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:e.chart.toolbar.autoSelected==="zoom"&&e.chart.toolbar.tools.zoom&&e.chart.zoom.enabled,panEnabled:e.chart.toolbar.autoSelected==="pan"&&e.chart.toolbar.tools.pan,selectionEnabled:e.chart.toolbar.autoSelected==="selection"&&e.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:e.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t.initialConfig=R.extend({},e),t.initialSeries=R.clone(e.series),t.lastXAxis=R.clone(t.initialConfig.xaxis),t.lastYAxis=R.clone(t.initialConfig.yaxis),t}}]),o}(),on=function(){function o(e){P(this,o),this.opts=e}return E(o,[{key:"init",value:function(){var e=new qt(this.opts).init({responsiveOverride:!1});return{config:e,globals:new xa().init(e)}}}]),o}(),et=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return E(o,[{key:"clippedImgArea",value:function(e){var t=this.w,i=t.config,s=parseInt(t.globals.gridWidth,10),a=parseInt(t.globals.gridHeight,10),r=s>a?s:a,n=e.image,l=0,h=0;e.width===void 0&&e.height===void 0?i.fill.image.width!==void 0&&i.fill.image.height!==void 0?(l=i.fill.image.width+1,h=i.fill.image.height):(l=r+1,h=r):(l=e.width,h=e.height);var d=document.createElementNS(t.globals.SVGNS,"pattern");G.setAttrs(d,{id:e.patternID,patternUnits:e.patternUnits?e.patternUnits:"userSpaceOnUse",width:l+"px",height:h+"px"});var c=document.createElementNS(t.globals.SVGNS,"image");d.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",n),G.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:l+"px",height:h+"px"}),c.style.opacity=e.opacity,t.globals.dom.elDefs.node.appendChild(d)}},{key:"getSeriesIndex",value:function(e){var t=this.w,i=t.config.chart.type;return(i==="bar"||i==="rangeBar")&&t.config.plotOptions.bar.distributed||i==="heatmap"||i==="treemap"?this.seriesIndex=e.seriesNumber:this.seriesIndex=e.seriesNumber%t.globals.series.length,this.seriesIndex}},{key:"computeColorStops",value:function(e,t){var i,s=this.w,a=null,r=null,n=F(e);try{for(n.s();!(i=n.n()).done;){var l=i.value;l>=t.threshold?(a===null||l>a)&&(a=l):(r===null||l-1?x=R.getOpacityFromRGBA(c):v=R.hexToRgba(R.rgb2hex(c),x),e.opacity&&(x=e.opacity),f==="pattern"&&(n=this.handlePatternFill({fillConfig:e.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:v})),m){var w=he(h.fill.gradient.colorStops)||[],C=h.fill.gradient.type;d&&(w[this.seriesIndex]=this.computeColorStops(a.globals.series[this.seriesIndex],h.plotOptions.line.colors),C="vertical"),l=this.handleGradientFill({type:C,fillConfig:e.fillConfig,fillColor:c,fillOpacity:x,colorStops:w,i:this.seriesIndex})}if(f==="image"){var k=h.fill.image.src,T=e.patternID?e.patternID:"",A="pattern".concat(a.globals.cuid).concat(e.seriesNumber+1).concat(T);this.patternIDs.indexOf(A)===-1&&(this.clippedImgArea({opacity:x,image:Array.isArray(k)?e.seriesNumber-1&&(p=R.getOpacityFromRGBA(g));var f=l.gradient.opacityTo===void 0?s:Array.isArray(l.gradient.opacityTo)?l.gradient.opacityTo[n]:l.gradient.opacityTo;if(l.gradient.gradientToColors===void 0||l.gradient.gradientToColors.length===0)u=l.gradient.shade==="dark"?c.shadeColor(-1*parseFloat(l.gradient.shadeIntensity),i.indexOf("rgb")>-1?R.rgb2hex(i):i):c.shadeColor(parseFloat(l.gradient.shadeIntensity),i.indexOf("rgb")>-1?R.rgb2hex(i):i);else if(l.gradient.gradientToColors[h.seriesNumber]){var x=l.gradient.gradientToColors[h.seriesNumber];u=x,x.indexOf("rgba")>-1&&(f=R.getOpacityFromRGBA(x))}else u=i;if(l.gradient.gradientFrom&&(g=l.gradient.gradientFrom),l.gradient.gradientTo&&(u=l.gradient.gradientTo),l.gradient.inverseColors){var m=g;g=u,u=m}return g.indexOf("rgb")>-1&&(g=R.rgb2hex(g)),u.indexOf("rgb")>-1&&(u=R.rgb2hex(u)),d.drawGradient(t,g,u,p,f,h.size,l.gradient.stops,r,n)}}]),o}(),Ot=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],e.globals.markers.size.length>0){if(e.globals.markers.size.length4&&arguments[4]!==void 0&&arguments[4],r=this.w,n=t,l=e,h=null,d=new G(this.ctx),c=r.config.markers.discrete&&r.config.markers.discrete.length;if(Array.isArray(l.x))for(var u=0;u0:r.config.markers.size>0)||a||c){f||(x+=" w".concat(R.randomId()));var m=this.getMarkerConfig({cssClass:x,seriesIndex:t,dataPointIndex:p});r.config.series[n].data[p]&&(r.config.series[n].data[p].fillColor&&(m.pointFillColor=r.config.series[n].data[p].fillColor),r.config.series[n].data[p].strokeColor&&(m.pointStrokeColor=r.config.series[n].data[p].strokeColor)),s!==void 0&&(m.pSize=s),(l.x[u]<-r.globals.markers.largestSize||l.x[u]>r.globals.gridWidth+r.globals.markers.largestSize||l.y[u]<-r.globals.markers.largestSize||l.y[u]>r.globals.gridHeight+r.globals.markers.largestSize)&&(m.pSize=0),!f&&((r.globals.markers.size[t]>0||a||c)&&!h&&(h=d.group({class:a||c?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(r.globals.cuid,")")),(g=d.drawMarker(l.x[u],l.y[u],m)).attr("rel",p),g.attr("j",p),g.attr("index",t),g.node.setAttribute("default-marker-size",m.pSize),new Re(this.ctx).setSelectionFilter(g,t,p),this.addEvents(g),h&&h.add(g))}else r.globals.pointsArray[t]===void 0&&(r.globals.pointsArray[t]=[]),r.globals.pointsArray[t].push([l.x[u],l.y[u]])}return h}},{key:"getMarkerConfig",value:function(e){var t=e.cssClass,i=e.seriesIndex,s=e.dataPointIndex,a=s===void 0?null:s,r=e.radius,n=r===void 0?null:r,l=e.size,h=l===void 0?null:l,d=e.strokeWidth,c=d===void 0?null:d,u=this.w,g=this.getMarkerStyle(i),p=h===null?u.globals.markers.size[i]:h,f=u.config.markers;return a!==null&&f.discrete.length&&f.discrete.map(function(x){x.seriesIndex===i&&x.dataPointIndex===a&&(g.pointStrokeColor=x.strokeColor,g.pointFillColor=x.fillColor,p=x.size,g.pointShape=x.shape)}),{pSize:n===null?p:n,pRadius:n!==null?n:f.radius,pointStrokeWidth:c!==null?c:Array.isArray(f.strokeWidth)?f.strokeWidth[i]:f.strokeWidth,pointStrokeColor:g.pointStrokeColor,pointFillColor:g.pointFillColor,shape:g.pointShape||(Array.isArray(f.shape)?f.shape[i]:f.shape),class:t,pointStrokeOpacity:Array.isArray(f.strokeOpacity)?f.strokeOpacity[i]:f.strokeOpacity,pointStrokeDashArray:Array.isArray(f.strokeDashArray)?f.strokeDashArray[i]:f.strokeDashArray,pointFillOpacity:Array.isArray(f.fillOpacity)?f.fillOpacity[i]:f.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(e){var t=this.w,i=new G(this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,e)),e.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,e)),e.node.addEventListener("click",t.config.markers.onClick),e.node.addEventListener("dblclick",t.config.markers.onDblClick),e.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,e),{passive:!0})}},{key:"getMarkerStyle",value:function(e){var t=this.w,i=t.globals.markers.colors,s=t.config.markers.strokeColor||t.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(s)?s[e]:s,pointFillColor:Array.isArray(i)?i[e]:i}}}]),o}(),ma=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return E(o,[{key:"draw",value:function(e,t,i){var s=this.w,a=new G(this.ctx),r=i.realIndex,n=i.pointsPos,l=i.zRatio,h=i.elParent,d=a.group({class:"apexcharts-series-markers apexcharts-series-".concat(s.config.chart.type)});if(d.attr("clip-path","url(#gridRectMarkerMask".concat(s.globals.cuid,")")),Array.isArray(n.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}var x=n.x[c],m=n.y[c];if(p=p||0,m!==null&&s.globals.series[r][u]!==void 0||(g=!1),g){var v=this.drawPoint(x,m,p,r,u,t);d.add(v)}h.add(d)}}},{key:"drawPoint",value:function(e,t,i,s,a,r){var n=this.w,l=s,h=new He(this.ctx),d=new Re(this.ctx),c=new et(this.ctx),u=new Ot(this.ctx),g=new G(this.ctx),p=u.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:a,radius:n.config.chart.type==="bubble"||n.globals.comboCharts&&n.config.series[s]&&n.config.series[s].type==="bubble"?i:null}),f=c.fillPath({seriesNumber:s,dataPointIndex:a,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][r]}),x=g.drawMarker(e,t,p);if(n.config.series[l].data[a]&&n.config.series[l].data[a].fillColor&&(f=n.config.series[l].data[a].fillColor),x.attr({fill:f}),n.config.chart.dropShadow.enabled){var m=n.config.chart.dropShadow;d.dropShadow(x,m,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var v=n.config.chart.animations.speed;h.animateMarker(x,v,n.globals.easing,function(){window.setTimeout(function(){h.animationCompleted(x)},100)})}return x.attr({rel:a,j:a,index:s,"default-marker-size":p.pSize}),d.setSelectionFilter(x,s,a),u.addEvents(x),x.node.classList.add("apexcharts-marker"),x}},{key:"centerTextInBubble",value:function(e){var t=this.w;return{y:e+=parseInt(t.config.dataLabels.style.fontSize,10)/4}}}]),o}(),zt=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"dataLabelsCorrection",value:function(e,t,i,s,a,r,n){var l=this.w,h=!1,d=new G(this.ctx).getTextRects(i,n),c=d.width,u=d.height;t<0&&(t=0),t>l.globals.gridHeight+u&&(t=l.globals.gridHeight+u/2),l.globals.dataLabelsRects[s]===void 0&&(l.globals.dataLabelsRects[s]=[]),l.globals.dataLabelsRects[s].push({x:e,y:t,width:c,height:u});var g=l.globals.dataLabelsRects[s].length-2,p=l.globals.lastDrawnDataLabelsIndexes[s]!==void 0?l.globals.lastDrawnDataLabelsIndexes[s][l.globals.lastDrawnDataLabelsIndexes[s].length-1]:0;if(l.globals.dataLabelsRects[s][g]!==void 0){var f=l.globals.dataLabelsRects[s][p];(e>f.x+f.width||t>f.y+f.height||t+ut.globals.gridWidth+v.textRects.width+30)&&(l="");var w=t.globals.dataLabels.style.colors[r];((t.config.chart.type==="bar"||t.config.chart.type==="rangeBar")&&t.config.plotOptions.bar.distributed||t.config.dataLabels.distributed)&&(w=t.globals.dataLabels.style.colors[n]),typeof w=="function"&&(w=w({series:t.globals.series,seriesIndex:r,dataPointIndex:n,w:t})),g&&(w=g);var C=u.offsetX,k=u.offsetY;if(t.config.chart.type!=="bar"&&t.config.chart.type!=="rangeBar"||(C=0,k=0),t.globals.isSlopeChart&&(n!==0&&(C=-2*u.offsetX+5),n!==0&&n!==t.config.series[r].data.length-1&&(C=0)),v.drawnextLabel){if((m=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:s+C,y:a+k,foreColor:w,textAnchor:h||u.textAnchor,text:l,fontSize:d||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"})).attr({class:x||"apexcharts-datalabel",cx:s,cy:a}),u.dropShadow.enabled){var T=u.dropShadow;new Re(this.ctx).dropShadow(m,T)}c.add(m),t.globals.lastDrawnDataLabelsIndexes[r]===void 0&&(t.globals.lastDrawnDataLabelsIndexes[r]=[]),t.globals.lastDrawnDataLabelsIndexes[r].push(n)}return m}},{key:"addBackgroundToDataLabel",value:function(e,t){var i=this.w,s=i.config.dataLabels.background,a=s.padding,r=s.padding/2,n=t.width,l=t.height,h=new G(this.ctx).drawRect(t.x-a,t.y-r/2,n+2*a,l+r,s.borderRadius,i.config.chart.background!=="transparent"&&i.config.chart.background?i.config.chart.background:"#fff",s.opacity,s.borderWidth,s.borderColor);return s.dropShadow.enabled&&new Re(this.ctx).dropShadow(h,s.dropShadow),h}},{key:"dataLabelsBackground",value:function(){var e=this.w;if(e.config.chart.type!=="bubble")for(var t=e.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=this.w,a=R.clone(s.globals.initialSeries);s.globals.previousPaths=[],i?(s.globals.collapsedSeries=[],s.globals.ancillaryCollapsedSeries=[],s.globals.collapsedSeriesIndices=[],s.globals.ancillaryCollapsedSeriesIndices=[]):a=this.emptyCollapsedSeries(a),s.config.series=a,e&&(t&&(s.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(a,s.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(e){for(var t=this.w,i=0;i-1&&(e[i].data=[]);return e}},{key:"highlightSeries",value:function(e){var t=this.w,i=this.getSeriesByName(e),s=parseInt(i==null?void 0:i.getAttribute("data:realIndex"),10),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),r=null,n=null,l=null;if(t.globals.axisCharts||t.config.chart.type==="radialBar")if(t.globals.axisCharts){r=t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),n=t.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"));var h=t.globals.seriesYAxisReverseMap[s];l=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(h,"']"))}else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']"));else r=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var d=0;d=h.from&&(u0&&arguments[0]!==void 0?arguments[0]:"asc",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=this.w,s=0;if(i.config.series.length>1){for(var a=i.config.series.map(function(n,l){return n.data&&n.data.length>0&&i.globals.collapsedSeriesIndices.indexOf(l)===-1&&(!i.globals.comboCharts||t.length===0||t.length&&t.indexOf(i.config.series[l].type)>-1)?l:-1}),r=e==="asc"?0:a.length-1;e==="asc"?r=0;e==="asc"?r++:r--)if(a[r]!==-1){s=a[r];break}}return s}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map(function(e,t){return e.type==="bar"||e.type==="column"?t:-1}).filter(function(e){return e!==-1}):this.w.config.series.map(function(e,t){return t})}},{key:"getPreviousPaths",value:function(){var e=this.w;function t(r,n,l){for(var h=r[n].childNodes,d={type:l,paths:[],realIndex:r[n].getAttribute("data:realIndex")},c=0;c0)for(var s=function(r){for(var n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(e.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(r,"'] rect")),l=[],h=function(c){var u=function(p){return n[c].getAttribute(p)},g={x:parseFloat(u("x")),y:parseFloat(u("y")),width:parseFloat(u("width")),height:parseFloat(u("height"))};l.push({rect:g,color:n[c].getAttribute("color")})},d=0;d0?t:[]});return e}}]),o}(),ns=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pe(this.ctx)}return E(o,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var e=this.w.config.series.slice(),t=new $e(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].x!==void 0&&e[this.activeSeriesIndex].data[0]!==null)return!0}},{key:"isFormat2DArray",value:function(){var e=this.w.config.series.slice(),t=new $e(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),e[this.activeSeriesIndex].data!==void 0&&e[this.activeSeriesIndex].data.length>0&&e[this.activeSeriesIndex].data[0]!==void 0&&e[this.activeSeriesIndex].data[0]!==null&&e[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(e,t){for(var i=this.w.config,s=this.w.globals,a=i.chart.type==="boxPlot"||i.series[t].type==="boxPlot",r=0;r=5?this.twoDSeries.push(R.parseNumber(e[t].data[r][4])):this.twoDSeries.push(R.parseNumber(e[t].data[r][1])),s.dataFormatXNumeric=!0),i.xaxis.type==="datetime"){var n=new Date(e[t].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(e[t].data[r][0]);for(var l=0;l-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:this.ctx,s=this.w.config,a=this.w.globals,r=new Ie(i),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();a.isRangeBar=s.chart.type==="rangeBar"&&a.isBarHorizontal,a.hasXaxisGroups=s.xaxis.type==="category"&&s.xaxis.group.groups.length>0,a.hasXaxisGroups&&(a.groups=s.xaxis.group.groups),e.forEach(function(g,p){g.name!==void 0?a.seriesNames.push(g.name):a.seriesNames.push("series-"+parseInt(p+1,10))}),this.coreUtils.setSeriesYAxisMappings();var l=[],h=he(new Set(s.series.map(function(g){return g.group})));s.series.forEach(function(g,p){var f=h.indexOf(g.group);l[f]||(l[f]=[]),l[f].push(a.seriesNames[p])}),a.seriesGroups=l;for(var d=function(){for(var g=0;g0&&(this.twoDSeriesX=n,a.seriesX.push(this.twoDSeriesX))),a.labels.push(this.twoDSeriesX);var u=e[c].data.map(function(g){return R.parseNumber(g)});a.series.push(u)}a.seriesZ.push(this.threeDSeries),e[c].color!==void 0?a.seriesColors.push(e[c].color):a.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(e){var t=this.w.globals,i=this.w.config;t.series=e.slice(),t.seriesNames=i.labels.slice();for(var s=0;s0?i.labels=t.xaxis.categories:t.labels.length>0?i.labels=t.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map(function(s){s.forEach(function(a){i.labels.indexOf(a.x)<0&&a.x&&i.labels.push(a.x)})}),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),t.xaxis.convertedCatToNumeric&&(new Ut(t).convertCatToNumericXaxis(t,this.ctx,i.seriesX[0]),this._generateExternalLabels(e))):this._generateExternalLabels(e)}},{key:"_generateExternalLabels",value:function(e){var t=this.w.globals,i=this.w.config,s=[];if(t.axisCharts){if(t.series.length>0)if(this.isFormatXY())for(var a=i.series.map(function(c,u){return c.data.filter(function(g,p,f){return f.findIndex(function(x){return x.x===g.x})===p})}),r=a.reduce(function(c,u,g,p){return p[c].length>u.length?c:g},0),n=0;n0&&a==i.length&&t.push(s)}),e.globals.ignoreYAxisIndexes=t.map(function(i){return i})}}]),o}(),di=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"scaleSvgNode",value:function(e,t){var i=parseFloat(e.getAttributeNS(null,"width")),s=parseFloat(e.getAttributeNS(null,"height"));e.setAttributeNS(null,"width",i*t),e.setAttributeNS(null,"height",s*t),e.setAttributeNS(null,"viewBox","0 0 "+i+" "+s)}},{key:"getSvgString",value:function(){var e=this;return new Promise(function(t){var i=e.w,s=i.config.chart.toolbar.export.width,a=i.config.chart.toolbar.export.scale||s/i.globals.svgWidth;a||(a=1);var r=e.w.globals.dom.Paper.svg(),n=e.w.globals.dom.Paper.node.cloneNode(!0);a!==1&&e.scaleSvgNode(n,a),e.convertImagesToBase64(n).then(function(){r=new XMLSerializer().serializeToString(n),t(r.replace(/ /g," "))})})}},{key:"convertImagesToBase64",value:function(e){var t=this,i=e.getElementsByTagName("image"),s=Array.from(i).map(function(a){var r=a.getAttributeNS("http://www.w3.org/1999/xlink","href");return r&&!r.startsWith("data:")?t.getBase64FromUrl(r).then(function(n){a.setAttributeNS("http://www.w3.org/1999/xlink","href",n)}).catch(function(n){console.error("Error converting image to base64:",n)}):Promise.resolve()});return Promise.all(s)}},{key:"getBase64FromUrl",value:function(e){return new Promise(function(t,i){var s=new Image;s.crossOrigin="Anonymous",s.onload=function(){var a=document.createElement("canvas");a.width=s.width,a.height=s.height,a.getContext("2d").drawImage(s,0,0),t(a.toDataURL())},s.onerror=i,s.src=e})}},{key:"cleanup",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=e.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(s,function(a){a.setAttribute("width",0)}),t&&t[0]&&(t[0].setAttribute("x",-500),t[0].setAttribute("x1",-500),t[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){var e=this;return new Promise(function(t){e.cleanup(),e.getSvgString().then(function(i){var s=new Blob([i],{type:"image/svg+xml;charset=utf-8"});t(URL.createObjectURL(s))})})}},{key:"dataURI",value:function(e){var t=this;return new Promise(function(i){var s=t.w,a=e?e.scale||e.width/s.globals.svgWidth:1;t.cleanup();var r=document.createElement("canvas");r.width=s.globals.svgWidth*a,r.height=parseInt(s.globals.dom.elWrap.style.height,10)*a;var n=s.config.chart.background!=="transparent"&&s.config.chart.background?s.config.chart.background:"#fff",l=r.getContext("2d");l.fillStyle=n,l.fillRect(0,0,r.width*a,r.height*a),t.getSvgString().then(function(h){var d="data:image/svg+xml,"+encodeURIComponent(h),c=new Image;c.crossOrigin="anonymous",c.onload=function(){if(l.drawImage(c,0,0),r.msToBlob){var u=r.msToBlob();i({blob:u})}else{var g=r.toDataURL("image/png");i({imgURI:g})}},c.src=d})})}},{key:"exportToSVG",value:function(){var e=this;this.svgUrl().then(function(t){e.triggerDownload(t,e.w.config.chart.toolbar.export.svg.filename,".svg")})}},{key:"exportToPng",value:function(){var e=this,t=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,s=t?{scale:t}:i?{width:i}:void 0;this.dataURI(s).then(function(a){var r=a.imgURI,n=a.blob;n?navigator.msSaveOrOpenBlob(n,e.w.globals.chartID+".png"):e.triggerDownload(r,e.w.config.chart.toolbar.export.png.filename,".png")})}},{key:"exportToCSV",value:function(e){var t=this,i=e.series,s=e.fileName,a=e.columnDelimiter,r=a===void 0?",":a,n=e.lineDelimiter,l=n===void 0?` +`:n,h=this.w;i||(i=h.config.series);var d=[],c=[],u="",g=h.globals.series.map(function(k,T){return h.globals.collapsedSeriesIndices.indexOf(T)===-1?k:[]}),p=function(k){return typeof h.config.chart.toolbar.export.csv.categoryFormatter=="function"?h.config.chart.toolbar.export.csv.categoryFormatter(k):h.config.xaxis.type==="datetime"&&String(k).length>=10?new Date(k).toDateString():R.isNumber(k)?k:k.split(r).join("")},f=function(k){return typeof h.config.chart.toolbar.export.csv.valueFormatter=="function"?h.config.chart.toolbar.export.csv.valueFormatter(k):k},x=Math.max.apply(Math,he(i.map(function(k){return k.data?k.data.length:0}))),m=new ns(this.ctx),v=new dt(this.ctx),w=function(k){var T="";if(h.globals.axisCharts){if(h.config.xaxis.type==="category"||h.config.xaxis.convertedCatToNumeric)if(h.globals.isBarHorizontal){var A=h.globals.yLabelFormatters[0],M=new $e(t.ctx).getActiveConfigSeriesIndex();T=A(h.globals.labels[k],{seriesIndex:M,dataPointIndex:k,w:h})}else T=v.getLabel(h.globals.labels,h.globals.timescaleLabels,0,k).text;h.config.xaxis.type==="datetime"&&(h.config.xaxis.categories.length?T=h.config.xaxis.categories[k]:h.config.labels.length&&(T=h.config.labels[k]))}else T=h.config.labels[k];return T===null?"nullvalue":(Array.isArray(T)&&(T=T.join(" ")),R.isNumber(T)?T:T.split(r).join(""))},C=function(k,T){if(d.length&&T===0&&c.push(d.join(r)),k.data){k.data=k.data.length&&k.data||he(Array(x)).map(function(){return""});for(var A=0;A0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],i.config.xaxis.position==="top"?this.offY=0:this.offY=i.globals.gridHeight,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return E(o,[{key:"drawXaxis",value:function(){var e=this.w,t=new G(this.ctx),i=t.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),s=t.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});i.add(s);for(var a=[],r=0;r6&&arguments[6]!==void 0?arguments[6]:{},d=[],c=[],u=this.w,g=h.xaxisFontSize||this.xaxisFontSize,p=h.xaxisFontFamily||this.xaxisFontFamily,f=h.xaxisForeColors||this.xaxisForeColors,x=h.fontWeight||u.config.xaxis.labels.style.fontWeight,m=h.cssClass||u.config.xaxis.labels.style.cssClass,v=u.globals.padHorizontal,w=s.length,C=u.config.xaxis.type==="category"?u.globals.dataPoints:w;if(C===0&&w>C&&(C=w),a){var k=C>1?C-1:C;n=u.globals.gridWidth/Math.min(k,w-1),v=v+r(0,n)/2+u.config.xaxis.labels.offsetX}else n=u.globals.gridWidth/C,v=v+r(0,n)+u.config.xaxis.labels.offsetX;for(var T=function(M){var I=v-r(M,n)/2+u.config.xaxis.labels.offsetX;M===0&&w===1&&n/2===v&&C===1&&(I=u.globals.gridWidth/2);var O=l.axesUtils.getLabel(s,u.globals.timescaleLabels,I,M,d,g,e),X=28;if(u.globals.rotateXLabels&&e&&(X=22),u.config.xaxis.title.text&&u.config.xaxis.position==="top"&&(X+=parseFloat(u.config.xaxis.title.style.fontSize)+2),e||(X=X+parseFloat(g)+(u.globals.xAxisLabelsHeight-u.globals.xAxisGroupLabelsHeight)+(u.globals.rotateXLabels?10:0)),O=u.config.xaxis.tickAmount!==void 0&&u.config.xaxis.tickAmount!=="dataPoints"&&u.config.xaxis.type!=="datetime"?l.axesUtils.checkLabelBasedOnTickamount(M,O,w):l.axesUtils.checkForOverflowingLabels(M,O,w,d,c),u.config.xaxis.labels.show){var H=t.drawText({x:O.x,y:l.offY+u.config.xaxis.labels.offsetY+X-(u.config.xaxis.position==="top"?u.globals.xAxisHeight+u.config.xaxis.axisTicks.height-2:0),text:O.text,textAnchor:"middle",fontWeight:O.isBold?600:x,fontSize:g,fontFamily:p,foreColor:Array.isArray(f)?e&&u.config.xaxis.convertedCatToNumeric?f[u.globals.minX+M-1]:f[M]:f,isPlainText:!1,cssClass:(e?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+m});if(i.add(H),H.on("click",function(B){if(typeof u.config.chart.events.xAxisLabelClick=="function"){var U=Object.assign({},u,{labelIndex:M});u.config.chart.events.xAxisLabelClick(B,l.ctx,U)}}),e){var N=document.createElementNS(u.globals.SVGNS,"title");N.textContent=Array.isArray(O.text)?O.text.join(" "):O.text,H.node.appendChild(N),O.text!==""&&(d.push(O.text),c.push(O))}}Ms.globals.gridWidth)){var r=this.offY+s.config.xaxis.axisTicks.offsetY;if(t=t+r+s.config.xaxis.axisTicks.height,s.config.xaxis.position==="top"&&(t=r-s.config.xaxis.axisTicks.height),s.config.xaxis.axisTicks.show){var n=new G(this.ctx).drawLine(e+s.config.xaxis.axisTicks.offsetX,r+s.config.xaxis.offsetY,a+s.config.xaxis.axisTicks.offsetX,t+s.config.xaxis.offsetY,s.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var e=this.w,t=[],i=this.xaxisLabels.length,s=e.globals.padHorizontal;if(e.globals.timescaleLabels.length>0)for(var a=0;a0){var d=a[a.length-1].getBBox(),c=a[0].getBBox();d.x<-20&&a[a.length-1].parentNode.removeChild(a[a.length-1]),c.x+c.width>e.globals.gridWidth&&!e.globals.isBarHorizontal&&a[0].parentNode.removeChild(a[0]);for(var u=0;u0&&(this.xaxisLabels=t.globals.timescaleLabels.slice())}return E(o,[{key:"drawGridArea",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,t=this.w,i=new G(this.ctx);e||(e=i.group({class:"apexcharts-grid"}));var s=i.drawLine(t.globals.padHorizontal,1,t.globals.padHorizontal,t.globals.gridHeight,"transparent"),a=i.drawLine(t.globals.padHorizontal,t.globals.gridHeight,t.globals.gridWidth,t.globals.gridHeight,"transparent");return e.add(a),e.add(s),e}},{key:"drawGrid",value:function(){if(this.w.globals.axisCharts){var e=this.renderGrid();return this.drawGridArea(e.el),e}return null}},{key:"createGridMask",value:function(){var e=this.w,t=e.globals,i=new G(this.ctx),s=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,he(e.config.stroke.width)):e.config.stroke.width,a=function(d){var c=document.createElementNS(t.SVGNS,"clipPath");return c.setAttribute("id",d),c};t.dom.elGridRectMask=a("gridRectMask".concat(t.cuid)),t.dom.elGridRectBarMask=a("gridRectBarMask".concat(t.cuid)),t.dom.elGridRectMarkerMask=a("gridRectMarkerMask".concat(t.cuid)),t.dom.elForecastMask=a("forecastMask".concat(t.cuid)),t.dom.elNonForecastMask=a("nonForecastMask".concat(t.cuid));var r=0,n=0;(["bar","rangeBar","candlestick","boxPlot"].includes(e.config.chart.type)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&(r=Math.max(e.config.grid.padding.left,t.barPadForNumericAxis),n=Math.max(e.config.grid.padding.right,t.barPadForNumericAxis)),t.dom.elGridRect=i.drawRect(0,0,t.gridWidth,t.gridHeight,0,"#fff"),t.dom.elGridRectBar=i.drawRect(-s/2-r-2,-s/2-2,t.gridWidth+s+n+r+4,t.gridHeight+s+4,0,"#fff");var l=e.globals.markers.largestSize;t.dom.elGridRectMarker=i.drawRect(-l,-l,t.gridWidth+2*l,t.gridHeight+2*l,0,"#fff"),t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node),t.dom.elGridRectBarMask.appendChild(t.dom.elGridRectBar.node),t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);var h=t.dom.baseEl.querySelector("defs");h.appendChild(t.dom.elGridRectMask),h.appendChild(t.dom.elGridRectBarMask),h.appendChild(t.dom.elGridRectMarkerMask),h.appendChild(t.dom.elForecastMask),h.appendChild(t.dom.elNonForecastMask)}},{key:"_drawGridLines",value:function(e){var t=e.i,i=e.x1,s=e.y1,a=e.x2,r=e.y2,n=e.xCount,l=e.parent,h=this.w;if(!(t===0&&h.globals.skipFirstTimelinelabel||t===n-1&&h.globals.skipLastTimelinelabel&&!h.config.xaxis.labels.formatter||h.config.chart.type==="radar")){h.config.grid.xaxis.lines.show&&this._drawGridLine({i:t,x1:i,y1:s,x2:a,y2:r,xCount:n,parent:l});var d=0;if(h.globals.hasXaxisGroups&&h.config.xaxis.tickPlacement==="between"){var c=h.globals.groups;if(c){for(var u=0,g=0;u0&&e.config.xaxis.type!=="datetime"&&(a=t.yAxisScale[s].result.length-1)),this._drawXYLines({xCount:a,tickAmount:r})}else a=r,r=t.xTickAmount,this._drawInvertedXYLines({xCount:a,tickAmount:r});return this.drawGridBands(a,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.gridWidth/a}}},{key:"drawGridBands",value:function(e,t){var i,s,a=this,r=this.w;if(((i=r.config.grid.row.colors)===null||i===void 0?void 0:i.length)>0&&function(p,f,x,m,v,w){for(var C=0,k=0;C=r.config.grid[p].colors.length&&(k=0),a._drawGridBandRect({c:k,x1:x,y1:m,x2:v,y2:w,type:p}),m+=r.globals.gridHeight/t}("row",t,0,0,r.globals.gridWidth,r.globals.gridHeight/t),((s=r.config.grid.column.colors)===null||s===void 0?void 0:s.length)>0){var n=r.globals.isBarHorizontal||r.config.xaxis.tickPlacement!=="on"||r.config.xaxis.type!=="category"&&!r.config.xaxis.convertedCatToNumeric?e:e-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var l=r.globals.padHorizontal,h=r.globals.padHorizontal+r.globals.gridWidth/n,d=r.globals.gridHeight,c=0,u=0;c=r.config.grid.column.colors.length&&(u=0),r.config.xaxis.type==="datetime"&&(l=this.xaxisLabels[c].position,h=(((g=this.xaxisLabels[c+1])===null||g===void 0?void 0:g.position)||r.globals.gridWidth)-this.xaxisLabels[c].position),this._drawGridBandRect({c:u,x1:l,y1:0,x2:h,y2:d,type:"column"}),l+=r.globals.gridWidth/n}}}}]),o}(),va=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.coreUtils=new Pe(this.ctx)}return E(o,[{key:"niceScale",value:function(e,t){var i,s,a,r,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=1e-11,h=this.w,d=h.globals;d.isBarHorizontal?(i=h.config.xaxis,s=Math.max((d.svgWidth-100)/25,2)):(i=h.config.yaxis[n],s=Math.max((d.svgHeight-100)/15,2)),R.isNumber(s)||(s=10),a=i.min!==void 0&&i.min!==null,r=i.max!==void 0&&i.min!==null;var c=i.stepSize!==void 0&&i.stepSize!==null,u=i.tickAmount!==void 0&&i.tickAmount!==null,g=u?i.tickAmount:d.niceScaleDefaultTicks[Math.min(Math.round(s/2),d.niceScaleDefaultTicks.length-1)];if(d.isMultipleYAxis&&!u&&d.multiAxisTickAmount>0&&(g=d.multiAxisTickAmount,u=!0),g=g==="dataPoints"?d.dataPoints-1:Math.abs(Math.round(g)),(e===Number.MIN_VALUE&&t===0||!R.isNumber(e)&&!R.isNumber(t)||e===Number.MIN_VALUE&&t===-Number.MAX_VALUE)&&(e=R.isNumber(i.min)?i.min:0,t=R.isNumber(i.max)?i.max:e+g,d.allSeriesCollapsed=!1),e>t){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var p=t;t=e,e=p}else e===t&&(e=e===0?0:e-1,t=t===0?2:t+1);var f=[];g<1&&(g=1);var x=g,m=Math.abs(t-e);!a&&e>0&&e/m<.15&&(e=0,a=!0),!r&&t<0&&-t/m<.15&&(t=0,r=!0);var v=(m=Math.abs(t-e))/x,w=v,C=Math.floor(Math.log10(w)),k=Math.pow(10,C),T=Math.ceil(w/k);if(v=w=(T=d.niceScaleAllowedMagMsd[d.yValueDecimal===0?0:1][T])*k,d.isBarHorizontal&&i.stepSize&&i.type!=="datetime"?(v=i.stepSize,c=!0):c&&(v=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(v));v*=Math.pow(10,C-A)}if(a&&r){var M=m/x;if(u)if(c)if(R.mod(m,v)!=0){var I=R.getGCD(v,M);v=M/I<10?I:M}else R.mod(v,M)==0?v=M:(M=v,u=!1);else v=M;else if(c)R.mod(m,v)==0?M=v:v=M;else if(R.mod(m,v)==0)M=v;else{M=m/(x=Math.ceil(m/v));var O=R.getGCD(m,v);m/Os&&(e=t-v*g,e+=v*Math.floor((X-e)/v))}else if(a)if(u)t=e+v*x;else{var H=t;t=v*Math.ceil(t/v),Math.abs(t-e)/R.getGCD(m,v)>s&&(t=e+v*g,t+=v*Math.ceil((H-t)/v))}}else if(d.isMultipleYAxis&&u){var N=v*Math.floor(e/v),B=N+v*x;B0&&e16&&R.getPrimeFactors(x).length<2&&x++,!u&&i.forceNiceScale&&d.yValueDecimal===0&&x>m&&(x=m,v=Math.round(m/x)),x>s&&(!u&&!c||i.forceNiceScale)){var U=R.getPrimeFactors(x),q=U.length-1,$=x;e:for(var ie=0;ieOe);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:"linearScale",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:void 0,r=Math.abs(t-e),n=[];if(e===t)return{result:n=[e],niceMin:n[0],niceMax:n[n.length-1]};(i=this._adjustTicksForSmallRange(i,s,r))==="dataPoints"&&(i=this.w.globals.dataPoints-1),a||(a=r/i),a=Math.round(10*(a+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,a=1);for(var l=e;i>=0;)n.push(l),l=R.preciseAddition(l,a),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(e,t,i){t<=0&&(t=Math.max(e,i)),e<=0&&(e=Math.min(t,i));for(var s=[],a=Math.ceil(Math.log(t)/Math.log(i)+1),r=Math.floor(Math.log(e)/Math.log(i));r5?(s.allSeriesCollapsed=!1,s.yAxisScale[e]=r.forceNiceScale?this.logarithmicScaleNice(t,i,r.logBase):this.logarithmicScale(t,i,r.logBase)):i!==-Number.MAX_VALUE&&R.isNumber(i)&&t!==Number.MAX_VALUE&&R.isNumber(t)?(s.allSeriesCollapsed=!1,s.yAxisScale[e]=this.niceScale(t,i,e)):s.yAxisScale[e]=this.niceScale(Number.MIN_VALUE,0,e)}},{key:"setXScale",value:function(e,t){var i=this.w,s=i.globals,a=Math.abs(t-e);if(t!==-Number.MAX_VALUE&&R.isNumber(t)){var r=s.xTickAmount+1;a<10&&a>1&&(r=a),s.xAxisScale=this.linearScale(e,t,r,0,i.config.xaxis.stepSize)}else s.xAxisScale=this.linearScale(0,10,10);return s.xAxisScale}},{key:"scaleMultipleYAxes",value:function(){var e=this,t=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var s=i.seriesYAxisMap,a=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],s.forEach(function(n,l){var h=[];n.forEach(function(d){var c=t.series[d].group;h.indexOf(c)<0&&h.push(c)}),n.length>0?function(){var d,c,u=Number.MAX_VALUE,g=-Number.MAX_VALUE,p=u,f=g;if(t.chart.stacked)(function(){var v=new Array(i.dataPoints).fill(0),w=[],C=[],k=[];h.forEach(function(){w.push(v.map(function(){return Number.MIN_VALUE})),C.push(v.map(function(){return Number.MIN_VALUE})),k.push(v.map(function(){return Number.MIN_VALUE}))});for(var T=function(M){!d&&t.series[n[M]].type&&(d=t.series[n[M]].type);var I=n[M];c=t.series[I].group?t.series[I].group:"axis-".concat(l),!(i.collapsedSeriesIndices.indexOf(I)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(I)<0)||(i.allSeriesCollapsed=!1,h.forEach(function(O,X){if(t.series[I].group===O)for(var H=0;H=0?C[X][H]+=N:k[X][H]+=N,w[X][H]+=N,p=Math.min(p,N),f=Math.max(f,N)}})),d!=="bar"&&d!=="column"||i.barGroups.push(c)},A=0;A1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-Number.MAX_VALUE,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,l=Number.MIN_VALUE;s===null&&(s=e+1);var h=r.series,d=h,c=h;a.chart.type==="candlestick"?(d=r.seriesCandleL,c=r.seriesCandleH):a.chart.type==="boxPlot"?(d=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(d=r.seriesRangeStart,c=r.seriesRangeEnd);var u=!1;if(r.seriesX.length>=s){var g,p=(g=r.brushSource)===null||g===void 0?void 0:g.w.config.chart.brush;(a.chart.zoom.enabled&&a.chart.zoom.autoScaleYaxis||p!=null&&p.enabled&&p!=null&&p.autoScaleYaxis)&&(u=!0)}for(var f=e;fm&&r.seriesX[f][v]>a.xaxis.max;v--);}for(var w=m;w<=v&&wd[f][w]&&d[f][w]<0&&(l=d[f][w])}else r.hasNullValues=!0}x!=="bar"&&x!=="column"||(l<0&&n<0&&(n=0,i=Math.max(i,0)),l===Number.MIN_VALUE&&(l=0,t=Math.min(t,0)))}return a.chart.type==="rangeBar"&&r.seriesRangeStart.length&&r.isBarHorizontal&&(l=t),a.chart.type==="bar"&&(l<0&&n<0&&(n=0),l===Number.MIN_VALUE&&(l=0)),{minY:l,maxY:n,lowestY:t,highestY:i}}},{key:"setYRange",value:function(){var e=this.w.globals,t=this.w.config;e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE;var i,s=Number.MAX_VALUE;if(e.isMultipleYAxis){s=Number.MAX_VALUE;for(var a=0;ae.dataPoints&&e.dataPoints!==0&&(s=e.dataPoints-1);else if(t.xaxis.tickAmount==="dataPoints"){if(e.series.length>1&&(s=e.series[e.maxValsInArrayIndex].length-1),e.isXNumeric){var a=e.maxX-e.minX;a<30&&(s=a-1)}}else s=t.xaxis.tickAmount;if(e.xTickAmount=s,t.xaxis.max!==void 0&&typeof t.xaxis.max=="number"&&(e.maxX=t.xaxis.max),t.xaxis.min!==void 0&&typeof t.xaxis.min=="number"&&(e.minX=t.xaxis.min),t.xaxis.range!==void 0&&(e.minX=e.maxX-t.xaxis.range),e.minX!==Number.MAX_VALUE&&e.maxX!==-Number.MAX_VALUE)if(t.xaxis.convertedCatToNumeric&&!e.dataFormatXNumeric){for(var r=[],n=e.minX-1;n0&&(e.xAxisScale=this.scales.linearScale(1,e.labels.length,s-1,0,t.xaxis.stepSize),e.seriesX=e.labels.slice());i&&(e.labels=e.xAxisScale.result.slice())}return e.isBarHorizontal&&e.labels.length&&(e.xTickAmount=e.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:e.minX,maxX:e.maxX}}},{key:"setZRange",value:function(){var e=this.w.globals;if(e.isDataXYZ){for(var t=0;t0){var n=a-s[r-1];n>0&&(e.minXDiff=Math.min(n,e.minXDiff))}}),e.dataPoints!==1&&e.minXDiff!==Number.MAX_VALUE||(e.minXDiff=.5)})}},{key:"_setStackedMinMax",value:function(){var e=this,t=this.w.globals;if(t.series.length){var i=t.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map(function(r){return r})]);var s={},a={};i.forEach(function(r){s[r]=[],a[r]=[],e.w.config.series.map(function(n,l){return r.indexOf(t.seriesNames[l])>-1?l:null}).filter(function(n){return n!==null}).forEach(function(n){for(var l=0;l0?s[r][l]+=parseFloat(t.series[n][l])+1e-4:a[r][l]+=parseFloat(t.series[n][l]))}})}),Object.entries(s).forEach(function(r){var n=J(r,1)[0];s[n].forEach(function(l,h){t.maxY=Math.max(t.maxY,s[n][h]),t.minY=Math.min(t.minY,a[n][h])})})}}}]),o}(),ls=function(){function o(e,t){P(this,o),this.ctx=e,this.elgrid=t,this.w=e.w;var i=this.w;this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.axisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=i.config.chart.type==="bar"&&i.config.plotOptions.bar.horizontal,this.xAxisoffX=i.config.xaxis.position==="bottom"?i.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new dt(e)}return E(o,[{key:"drawYaxis",value:function(e){var t=this.w,i=new G(this.ctx),s=t.config.yaxis[e].labels.style,a=s.fontSize,r=s.fontFamily,n=s.fontWeight,l=i.group({class:"apexcharts-yaxis",rel:e,transform:"translate(".concat(t.globals.translateYAxisX[e],", 0)")});if(this.axesUtils.isYAxisHidden(e))return l;var h=i.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var d=t.globals.yAxisScale[e].result.length-1,c=t.globals.gridHeight/d,u=t.globals.yLabelFormatters[e],g=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice());if(t.config.yaxis[e].labels.show){var p=t.globals.translateY+t.config.yaxis[e].labels.offsetY;t.globals.isBarHorizontal?p=0:t.config.chart.type==="heatmap"&&(p-=c/2),p+=parseInt(a,10)/3;for(var f=d;f>=0;f--){var x=u(g[f],f,t),m=t.config.yaxis[e].labels.padding;t.config.yaxis[e].opposite&&t.config.yaxis.length!==0&&(m*=-1);var v=this.getTextAnchor(t.config.yaxis[e].labels.align,t.config.yaxis[e].opposite),w=this.axesUtils.getYAxisForeColor(s.colors,e),C=Array.isArray(w)?w[f]:w,k=R.listToArray(t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label tspan"))).map(function(A){return A.textContent}),T=i.drawText({x:m,y:p,text:k.includes(x)&&!t.config.yaxis[e].labels.showDuplicates?"":x,textAnchor:v,fontSize:a,fontFamily:r,fontWeight:n,maxWidth:t.config.yaxis[e].labels.maxWidth,foreColor:C,isPlainText:!1,cssClass:"apexcharts-yaxis-label ".concat(s.cssClass)});h.add(T),this.addTooltip(T,x),t.config.yaxis[e].labels.rotate!==0&&this.rotateLabel(i,T,firstLabel,t.config.yaxis[e].labels.rotate),p+=c}}return this.addYAxisTitle(i,l,e),this.addAxisBorder(i,l,e,d,c),l}},{key:"getTextAnchor",value:function(e,t){return e==="left"?"start":e==="center"?"middle":e==="right"?"end":t?"start":"end"}},{key:"addTooltip",value:function(e,t){var i=document.createElementNS(this.w.globals.SVGNS,"title");i.textContent=Array.isArray(t)?t.join(" "):t,e.node.appendChild(i)}},{key:"rotateLabel",value:function(e,t,i,s){var a=e.rotateAroundCenter(i.node),r=e.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(".concat(s," ").concat(a.x," ").concat(r.y,")"))}},{key:"addYAxisTitle",value:function(e,t,i){var s=this.w;if(s.config.yaxis[i].title.text!==void 0){var a=e.group({class:"apexcharts-yaxis-title"}),r=s.config.yaxis[i].opposite?s.globals.translateYAxisX[i]:0,n=e.drawText({x:r,y:s.globals.gridHeight/2+s.globals.translateY+s.config.yaxis[i].title.offsetY,text:s.config.yaxis[i].title.text,textAnchor:"end",foreColor:s.config.yaxis[i].title.style.color,fontSize:s.config.yaxis[i].title.style.fontSize,fontWeight:s.config.yaxis[i].title.style.fontWeight,fontFamily:s.config.yaxis[i].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text ".concat(s.config.yaxis[i].title.style.cssClass)});a.add(n),t.add(a)}}},{key:"addAxisBorder",value:function(e,t,i,s,a){var r=this.w,n=r.config.yaxis[i].axisBorder,l=31+n.offsetX;if(r.config.yaxis[i].opposite&&(l=-31-n.offsetX),n.show){var h=e.drawLine(l,r.globals.translateY+n.offsetY-2,l,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);t.add(h)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(l,s,n,r.config.yaxis[i].axisTicks,i,a,t)}},{key:"drawYaxisInversed",value:function(e){var t=this.w,i=new G(this.ctx),s=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),a=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});s.add(a);var r=t.globals.yAxisScale[e].result.length-1,n=t.globals.gridWidth/r+.1,l=n+t.config.xaxis.labels.offsetX,h=t.globals.xLabelFormatter,d=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice()),c=t.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(d=c.slice()).length),t.config.xaxis.labels.show)for(var u=c.length?0:r;c.length?u=0;c.length?u++:u--){var g=h(d[u],u,t),p=t.globals.gridWidth+t.globals.padHorizontal-(l-n+t.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(d,c,p,u,this.drawnLabels,this.xaxisFontSize);p=f.x,g=f.text,this.drawnLabels.push(f.text),u===0&&t.globals.skipFirstTimelinelabel&&(g=""),u===d.length-1&&t.globals.skipLastTimelinelabel&&(g="")}var x=i.drawText({x:p,y:this.xAxisoffX+t.config.xaxis.labels.offsetY+30-(t.config.xaxis.position==="top"?t.globals.xAxisHeight+t.config.xaxis.axisTicks.height-2:0),text:g,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[e]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:t.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label ".concat(t.config.xaxis.labels.style.cssClass)});a.add(x),x.tspan(g),this.addTooltip(x,g),l+=n}return this.inversedYAxisTitleText(s),this.inversedYAxisBorder(s),s}},{key:"inversedYAxisBorder",value:function(e){var t=this.w,i=new G(this.ctx),s=t.config.xaxis.axisBorder;if(s.show){var a=0;t.config.chart.type==="bar"&&t.globals.isXNumeric&&(a-=15);var r=i.drawLine(t.globals.padHorizontal+a+s.offsetX,this.xAxisoffX,t.globals.gridWidth,this.xAxisoffX,s.color,0,s.height);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(r):e.add(r)}}},{key:"inversedYAxisTitleText",value:function(e){var t=this.w,i=new G(this.ctx);if(t.config.xaxis.title.text!==void 0){var s=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),a=i.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(t.config.xaxis.title.style.fontSize)+t.config.xaxis.title.offsetY+20,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text ".concat(t.config.xaxis.title.style.cssClass)});s.add(a),e.add(s)}}},{key:"yAxisTitleRotate",value:function(e,t){var i=this.w,s=new G(this.ctx),a=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g")),r=a?a.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-title text")),l=n?n.getBoundingClientRect():{width:0,height:0};if(n){var h=this.xPaddingForYAxisTitle(e,r,l,t);n.setAttribute("x",h.xPos-(t?10:0));var d=s.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(t?-1*i.config.yaxis[e].title.rotate:i.config.yaxis[e].title.rotate," ").concat(d.x," ").concat(d.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(e,t,i,s){var a=this.w,r=0,n=10;return a.config.yaxis[e].title.text===void 0||e<0?{xPos:r,padd:0}:(s?r=t.width+a.config.yaxis[e].title.offsetX+i.width/2+n/2:(r=-1*t.width+a.config.yaxis[e].title.offsetX+n/2+i.width/2,a.globals.isBarHorizontal&&(n=25,r=-1*t.width-a.config.yaxis[e].title.offsetX-n)),{xPos:r,padd:n})}},{key:"setYAxisXPosition",value:function(e,t){var i=this.w,s=0,a=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach(function(l,h){var d=i.globals.ignoreYAxisIndexes.includes(h)||!l.show||l.floating||e[h].width===0,c=e[h].width+t[h].width;l.opposite?i.globals.isBarHorizontal?(a=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[h]=a-l.labels.offsetX):(a=i.globals.gridWidth+i.globals.translateX+n,d||(n+=c+20),i.globals.translateYAxisX[h]=a-l.labels.offsetX+20):(s=i.globals.translateX-r,d||(r+=c+20),i.globals.translateYAxisX[h]=s+l.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var e=this.w;R.listToArray(e.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis")).forEach(function(t,i){var s=e.config.yaxis[i];if(s&&!s.floating&&s.labels.align!==void 0){var a=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=R.listToArray(e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"))),n=a.getBoundingClientRect();r.forEach(function(l){l.setAttribute("text-anchor",s.labels.align)}),s.labels.align!=="left"||s.opposite?s.labels.align==="center"?a.setAttribute("transform","translate(".concat(n.width/2*(s.opposite?1:-1),", 0)")):s.labels.align==="right"&&s.opposite&&a.setAttribute("transform","translate(".concat(n.width,", 0)")):a.setAttribute("transform","translate(-".concat(n.width,", 0)"))}})}}]),o}(),ln=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.documentEvent=R.bind(this.documentEvent,this)}return E(o,[{key:"addEventListener",value:function(e,t){var i=this.w;i.globals.events.hasOwnProperty(e)?i.globals.events[e].push(t):i.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){var s=i.globals.events[e].indexOf(t);s!==-1&&i.globals.events[e].splice(s,1)}}},{key:"fireEvent",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var s=i.globals.events[e],a=s.length,r=0;r0&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(a){return a.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var s=R.extend(pa,i);this.w.globals.locale=s.options}}]),o}(),cn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"drawAxis",value:function(e,t){var i,s,a=this,r=this.w.globals,n=this.w.config,l=new Zt(this.ctx,t),h=new ls(this.ctx,t);r.axisCharts&&e!=="radar"&&(r.isBarHorizontal?(s=h.drawYaxisInversed(0),i=l.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(s)):(i=l.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map(function(d,c){if(r.ignoreYAxisIndexes.indexOf(c)===-1&&(s=h.drawYaxis(c),r.dom.Paper.add(s),a.w.config.grid.position==="back")){var u=r.dom.Paper.children()[1];u.remove(),r.dom.Paper.add(u)}})))}}]),o}(),hs=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"drawXCrosshairs",value:function(){var e=this.w,t=new G(this.ctx),i=new Re(this.ctx),s=e.config.xaxis.crosshairs.fill.gradient,a=e.config.xaxis.crosshairs.dropShadow,r=e.config.xaxis.crosshairs.fill.type,n=s.colorFrom,l=s.colorTo,h=s.opacityFrom,d=s.opacityTo,c=s.stops,u=a.enabled,g=a.left,p=a.top,f=a.blur,x=a.color,m=a.opacity,v=e.config.xaxis.crosshairs.fill.color;if(e.config.xaxis.crosshairs.show){r==="gradient"&&(v=t.drawGradient("vertical",n,l,h,d,null,c,null));var w=t.drawRect();e.config.xaxis.crosshairs.width===1&&(w=t.drawLine());var C=e.globals.gridHeight;(!R.isNumber(C)||C<0)&&(C=0);var k=e.config.xaxis.crosshairs.width;(!R.isNumber(k)||k<0)&&(k=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:C,width:k,height:C,fill:v,filter:"none","fill-opacity":e.config.xaxis.crosshairs.opacity,stroke:e.config.xaxis.crosshairs.stroke.color,"stroke-width":e.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":e.config.xaxis.crosshairs.stroke.dashArray}),u&&(w=i.dropShadow(w,{left:g,top:p,blur:f,color:x,opacity:m})),e.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var e=this.w,t=new G(this.ctx),i=e.config.yaxis[0].crosshairs,s=e.globals.barPadForNumericAxis;if(e.config.yaxis[0].crosshairs.show){var a=t.drawLine(-s,0,e.globals.gridWidth+s,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);a.attr({class:"apexcharts-ycrosshairs"}),e.globals.dom.elGraphical.add(a)}var r=t.drawLine(-s,0,e.globals.gridWidth+s,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),e.globals.dom.elGraphical.add(r)}}]),o}(),dn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"checkResponsiveConfig",value:function(e){var t=this,i=this.w,s=i.config;if(s.responsive.length!==0){var a=s.responsive.slice();a.sort(function(h,d){return h.breakpoint>d.breakpoint?1:d.breakpoint>h.breakpoint?-1:0}).reverse();var r=new qt({}),n=function(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=a[0].breakpoint,c=window.innerWidth>0?window.innerWidth:screen.width;if(c>d){var u=R.clone(i.globals.initialConfig);u.series=R.clone(i.config.series);var g=Pe.extendArrayProps(r,u,i);h=R.extend(g,h),h=R.extend(i.config,h),t.overrideResponsiveOptions(h)}else for(var p=0;p0&&typeof e[0]=="function"?(this.isColorFn=!0,i.config.series.map(function(s,a){var r=e[a]||e[0];return typeof r=="function"?r({value:i.globals.axisCharts?i.globals.series[a][0]||0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:t.w}):r})):e:this.predefined()}},{key:"applySeriesColors",value:function(e,t){e.forEach(function(i,s){i&&(t[s]=i)})}},{key:"getMonochromeColors",value:function(e,t,i){var s=e.color,a=e.shadeIntensity,r=e.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?t[0].length*t.length:t.length,l=1/(n/a),h=0;return Array.from({length:n},function(){var d=r==="dark"?i.shadeColor(-1*h,s):i.shadeColor(h,s);return h+=l,d})}},{key:"applyColorTypes",value:function(e,t){var i=this,s=this.w;e.forEach(function(a){s.globals[a].colors=s.config[a].colors===void 0?i.isColorFn?s.config.colors:t:s.config[a].colors.slice(),i.pushExtraColors(s.globals[a].colors)})}},{key:"applyDataLabelsColors",value:function(e){var t=this.w;t.globals.dataLabels.style.colors=t.config.dataLabels.style.colors===void 0?e:t.config.dataLabels.style.colors.slice(),this.pushExtraColors(t.globals.dataLabels.style.colors,50)}},{key:"applyRadarPolygonsColors",value:function(){var e=this.w;e.globals.radarPolygons.fill.colors=e.config.plotOptions.radar.polygons.fill.colors===void 0?[e.config.theme.mode==="dark"?"#424242":"none"]:e.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(e.globals.radarPolygons.fill.colors,20)}},{key:"applyMarkersColors",value:function(e){var t=this.w;t.globals.markers.colors=t.config.markers.colors===void 0?e:t.config.markers.colors.slice(),this.pushExtraColors(t.globals.markers.colors)}},{key:"pushExtraColors",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=this.w,a=t||s.globals.series.length;if(i===null&&(i=this.isBarDistributed||this.isHeatmapDistributed||s.config.chart.type==="heatmap"&&s.config.plotOptions.heatmap&&s.config.plotOptions.heatmap.colorScale.inverse),i&&s.globals.series.length&&(a=s.globals.series[s.globals.maxValsInArrayIndex].length*s.globals.series.length),e.lengthe.globals.svgWidth&&(this.dCtx.lgRect.width=e.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var e=this,t=this.w,i=[];t.config.series.forEach(function(l,h){l.data.forEach(function(d,c){var u;u=t.globals.series[h][c],s=t.config.dataLabels.formatter(u,{ctx:e.dCtx.ctx,seriesIndex:h,dataPointIndex:c,w:t}),i.push(s)})});var s=R.getLargestStringFromArr(i),a=new G(this.dCtx.ctx),r=t.config.dataLabels.style,n=a.getTextRects(s,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(e,t){var i=e;if(this.w.globals.isMultiLineX){var s=t.map(function(r,n){return Array.isArray(r)?r.length:1}),a=Math.max.apply(Math,he(s));i=t[s.indexOf(a)]}return i}}]),o}(),pn=function(){function o(e){P(this,o),this.w=e.w,this.dCtx=e}return E(o,[{key:"getxAxisLabelsCoords",value:function(){var e,t=this.w,i=t.globals.labels.slice();if(t.config.xaxis.convertedCatToNumeric&&i.length===0&&(i=t.globals.categoryLabels),t.globals.timescaleLabels.length>0){var s=this.getxAxisTimeScaleLabelsCoords();e={width:s.width,height:s.height},t.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=t.config.legend.position!=="left"&&t.config.legend.position!=="right"||t.config.legend.floating?0:this.dCtx.lgRect.width;var a=t.globals.xLabelFormatter,r=R.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);t.globals.isBarHorizontal&&(n=r=t.globals.yAxisScale[0].result.reduce(function(p,f){return p.length>f.length?p:f},0));var l=new Vt(this.dCtx.ctx),h=r;r=l.xLabelFormat(a,r,h,{i:void 0,dateFormatter:new Ie(this.dCtx.ctx).formatDate,w:t}),n=l.xLabelFormat(a,n,h,{i:void 0,dateFormatter:new Ie(this.dCtx.ctx).formatDate,w:t}),(t.config.xaxis.convertedCatToNumeric&&r===void 0||String(r).trim()==="")&&(n=r="1");var d=new G(this.dCtx.ctx),c=d.getTextRects(r,t.config.xaxis.labels.style.fontSize),u=c;if(r!==n&&(u=d.getTextRects(n,t.config.xaxis.labels.style.fontSize)),(e={width:c.width>=u.width?c.width:u.width,height:c.height>=u.height?c.height:u.height}).width*i.length>t.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&t.config.xaxis.labels.rotate!==0||t.config.xaxis.labels.rotateAlways){if(!t.globals.isBarHorizontal){t.globals.rotateXLabels=!0;var g=function(p){return d.getTextRects(p,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,"rotate(".concat(t.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==n&&(u=g(n)),e.height=(c.height>u.height?c.height:u.height)/1.5,e.width=c.width>u.width?c.width:u.width}}else t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(e={width:0,height:0}),{width:e.width,height:e.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var e,t=this.w;if(!t.globals.hasXaxisGroups)return{width:0,height:0};var i,s=((e=t.config.xaxis.group.style)===null||e===void 0?void 0:e.fontSize)||t.config.xaxis.labels.style.fontSize,a=t.globals.groups.map(function(c){return c.title}),r=R.getLargestStringFromArr(a),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,a),l=new G(this.dCtx.ctx),h=l.getTextRects(r,s),d=h;return r!==n&&(d=l.getTextRects(n,s)),i={width:h.width>=d.width?h.width:d.width,height:h.height>=d.height?h.height:d.height},t.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var e=this.w,t=0,i=0;if(e.config.xaxis.title.text!==void 0){var s=new G(this.dCtx.ctx).getTextRects(e.config.xaxis.title.text,e.config.xaxis.title.style.fontSize);t=s.width,i=s.height}return{width:t,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var e,t=this.w;this.dCtx.timescaleLabels=t.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map(function(a){return a.value}),s=i.reduce(function(a,r){return a===void 0?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):a.length>r.length?a:r},0);return 1.05*(e=new G(this.dCtx.ctx).getTextRects(s,t.config.xaxis.labels.style.fontSize)).width*i.length>t.globals.gridWidth&&t.config.xaxis.labels.rotate!==0&&(t.globals.overlappingXLabels=!0),e}},{key:"additionalPaddingXLabels",value:function(e){var t=this,i=this.w,s=i.globals,a=i.config,r=a.xaxis.type,n=e.width;s.skipLastTimelinelabel=!1,s.skipFirstTimelinelabel=!1;var l=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,h=function(d,c){a.yaxis.length>1&&function(u){return s.collapsedSeriesIndices.indexOf(u)!==-1}(c)||function(u){if(t.dCtx.timescaleLabels&&t.dCtx.timescaleLabels.length){var g=t.dCtx.timescaleLabels[0],p=t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length-1].position+n/1.75-t.dCtx.yAxisWidthRight,f=g.position-n/1.75+t.dCtx.yAxisWidthLeft,x=i.config.legend.position==="right"&&t.dCtx.lgRect.width>0?t.dCtx.lgRect.width:0;p>s.svgWidth-s.translateX-x&&(s.skipLastTimelinelabel=!0),f<-(u.show&&!u.floating||a.chart.type!=="bar"&&a.chart.type!=="candlestick"&&a.chart.type!=="rangeBar"&&a.chart.type!=="boxPlot"?10:n/1.75)&&(s.skipFirstTimelinelabel=!0)}else r==="datetime"?t.dCtx.gridPad.right((A=String(c(k,l)))===null||A===void 0?void 0:A.length)?C:k},u),p=g=c(g,l);if(g!==void 0&&g.length!==0||(g=h.niceMax),t.globals.isBarHorizontal){s=0;var f=t.globals.labels.slice();g=R.getLargestStringFromArr(f),g=c(g,{seriesIndex:n,dataPointIndex:-1,w:t}),p=e.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var x=new G(e.dCtx.ctx),m="rotate(".concat(r.labels.rotate," 0 0)"),v=x.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,m,!1),w=v;g!==p&&(w=x.getTextRects(p,r.labels.style.fontSize,r.labels.style.fontFamily,m,!1)),i.push({width:(d>w.width||d>v.width?d:w.width>v.width?w.width:v.width)+s,height:w.height>v.height?w.height:v.height})}else i.push({width:0,height:0})}),i}},{key:"getyAxisTitleCoords",value:function(){var e=this,t=this.w,i=[];return t.config.yaxis.map(function(s,a){if(s.show&&s.title.text!==void 0){var r=new G(e.dCtx.ctx),n="rotate(".concat(s.title.rotate," 0 0)"),l=r.getTextRects(s.title.text,s.title.style.fontSize,s.title.style.fontFamily,n,!1);i.push({width:l.width,height:l.height})}else i.push({width:0,height:0})}),i}},{key:"getTotalYAxisWidth",value:function(){var e=this.w,t=0,i=0,s=0,a=e.globals.yAxisScale.length>1?10:0,r=new dt(this.dCtx.ctx),n=function(l,h){var d=e.config.yaxis[h].floating,c=0;l.width>0&&!d?(c=l.width+a,function(u){return e.globals.ignoreYAxisIndexes.indexOf(u)>-1}(h)&&(c=c-l.width-a)):c=d||r.isYAxisHidden(h)?0:5,e.config.yaxis[h].opposite?s+=c:i+=c,t+=c};return e.globals.yLabelsCoords.map(function(l,h){n(l,h)}),e.globals.yTitleCoords.map(function(l,h){n(l,h)}),e.globals.isBarHorizontal&&!e.config.yaxis[0].floating&&(t=e.globals.yLabelsCoords[0].width+e.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=s,t}}]),o}(),mn=function(){function o(e){P(this,o),this.w=e.w,this.dCtx=e}return E(o,[{key:"gridPadForColumnsInNumericAxis",value:function(e){var t=this.w,i=t.config,s=t.globals;if(s.noData||s.collapsedSeries.length+s.ancillaryCollapsedSeries.length===i.series.length)return 0;var a=function(g){return["bar","rangeBar","candlestick","boxPlot"].includes(g)},r=i.chart.type,n=0,l=a(r)?i.series.length:1;s.comboBarCount>0&&(l=s.comboBarCount),s.collapsedSeries.forEach(function(g){a(g.type)&&(l-=1)}),i.chart.stacked&&(l=1);var h=a(r)||s.comboBarCount>0,d=Math.abs(s.initialMaxX-s.initialMinX);if(h&&s.isXNumeric&&!s.isBarHorizontal&&l>0&&d!==0){d<=3&&(d=s.dataPoints);var c=d/e,u=s.minXDiff&&s.minXDiff/c>0?s.minXDiff/c:0;u>e/2&&(u/=2),(n=u*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),s.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var e=this,t=this.w,i=t.globals,s=this.dCtx.isSparkline||!i.axisCharts?0:10;["title","subtitle"].forEach(function(n){t.config[n].text!==void 0?s+=t.config[n].margin:s+=e.dCtx.isSparkline||!i.axisCharts?0:5}),!t.config.legend.show||t.config.legend.position!=="bottom"||t.config.legend.floating||i.axisCharts||(s+=10);var a=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight-=a.height+r.height+s,i.translateY+=a.height+r.height+s}},{key:"setGridXPosForDualYAxis",value:function(e,t){var i=this.w,s=new dt(this.dCtx.ctx);i.config.yaxis.forEach(function(a,r){i.globals.ignoreYAxisIndexes.indexOf(r)!==-1||a.floating||s.isYAxisHidden(r)||(a.opposite&&(i.globals.translateX-=t[r].width+e[r].width+parseInt(a.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))})}}]),o}(),ui=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new fn(this),this.dimYAxis=new xn(this),this.dimXAxis=new pn(this),this.dimGrid=new mn(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return E(o,[{key:"plotCoords",value:function(){var e=this,t=this.w,i=t.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var s=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,he(t.config.stroke.width)):t.config.stroke.width;this.isSparkline&&((t.config.markers.discrete.length>0||t.config.markers.size>0)&&Object.entries(this.gridPad).forEach(function(r){var n=J(r,2),l=n[0],h=n[1];e.gridPad[l]=Math.max(h,e.w.globals.markers.largestSize/1.5)}),this.gridPad.top=Math.max(s/2,this.gridPad.top),this.gridPad.bottom=Math.max(s/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var e=this,t=this.w,i=t.globals,s=this.dimYAxis.getyAxisLabelsCoords(),a=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),t.globals.yLabelsCoords=[],t.globals.yTitleCoords=[],t.config.yaxis.map(function(g,p){t.globals.yLabelsCoords.push({width:s[p].width,index:p}),t.globals.yTitleCoords.push({width:a[p].width,index:p})}),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),l=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,l,n),i.translateXAxisY=t.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=t.globals.rotateXLabels&&t.globals.isXNumeric&&t.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,t.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(t.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+t.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+t.config.xaxis.labels.offsetX;var h=this.yAxisWidth,d=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-l.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(t.config.chart.type==="radar"||this.isSparkline)&&(h=0,d=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||t.config.chart.type==="treemap")&&(h=0,d=0,c=0),this.isSparkline||t.config.chart.type==="treemap"||this.dimXAxis.additionalPaddingXLabels(r);var u=function(){i.translateX=h+e.datalabelsCoords.width,i.gridHeight=i.svgHeight-e.lgRect.height-d-(e.isSparkline||t.config.chart.type==="treemap"?0:t.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-h-2*e.datalabelsCoords.width};switch(t.config.xaxis.position==="top"&&(c=i.xAxisHeight-t.config.xaxis.axisTicks.height-5),t.config.legend.position){case"bottom":i.translateY=c,u();break;case"top":i.translateY=this.lgRect.height+c,u();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-d-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width;break;case"right":i.translateY=c,i.translateX=h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-d-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(a,s),new ls(this.ctx).setYAxisXPosition(s,a)}},{key:"setDimensionsForNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=e.config,s=0;e.config.legend.show&&!e.config.legend.floating&&(s=20);var a=i.chart.type==="pie"||i.chart.type==="polarArea"||i.chart.type==="donut"?"pie":"radialBar",r=i.plotOptions[a].offsetY,n=i.plotOptions[a].offsetX;if(!i.legend.show||i.legend.floating){t.gridHeight=t.svgHeight;var l=t.dom.elWrap.getBoundingClientRect().width;return t.gridWidth=Math.min(l,t.gridHeight),t.translateY=r,void(t.translateX=n+(t.svgWidth-t.gridWidth)/2)}switch(i.legend.position){case"bottom":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=r-10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"top":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=this.lgRect.height+r+10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"left":t.gridWidth=t.svgWidth-this.lgRect.width-s,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+this.lgRect.width+s;break;case"right":t.gridWidth=t.svgWidth-this.lgRect.width-s-5,t.gridHeight=i.chart.height!=="auto"?t.svgHeight:t.gridWidth,t.translateY=r,t.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(e,t,i){var s=this.w,a=s.globals.hasXaxisGroups?2:1,r=i.height+e.height+t.height,n=s.globals.isMultiLineX?1.2:s.globals.LINE_HEIGHT_RATIO,l=s.globals.rotateXLabels?22:10,h=s.globals.rotateXLabels&&s.config.legend.position==="bottom"?10:0;this.xAxisHeight=r*n+a*l+h,this.xAxisWidth=e.width,this.xAxisHeight-t.height>s.config.xaxis.labels.maxHeight&&(this.xAxisHeight=s.config.xaxis.labels.maxHeight),s.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),o}(),bn=function(){function o(e){P(this,o),this.w=e.w,this.lgCtx=e}return E(o,[{key:"getLegendStyles",value:function(){var e,t,i,s=document.createElement("style");s.setAttribute("type","text/css");var a=((e=this.lgCtx.ctx)===null||e===void 0||(t=e.opts)===null||t===void 0||(i=t.chart)===null||i===void 0?void 0:i.nonce)||this.w.config.chart.nonce;a&&s.setAttribute("nonce",a);var r=document.createTextNode(` + .apexcharts-flip-y { + transform: scaleY(-1) translateY(-100%); + transform-origin: top; + transform-box: fill-box; + } + .apexcharts-flip-x { + transform: scaleX(-1); + transform-origin: center; + transform-box: fill-box; + } + .apexcharts-legend { + display: flex; + overflow: auto; + padding: 0 10px; + } + .apexcharts-legend.apexcharts-legend-group-horizontal { + flex-direction: column; + } + .apexcharts-legend-group { + display: flex; + } + .apexcharts-legend-group-vertical { + flex-direction: column-reverse; + } + .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top { + flex-wrap: wrap + } + .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { + flex-direction: column; + bottom: 0; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left { + justify-content: flex-start; + align-items: flex-start; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center { + justify-content: center; + align-items: center; + } + .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right { + justify-content: flex-end; + align-items: flex-end; + } + .apexcharts-legend-series { + cursor: pointer; + line-height: normal; + display: flex; + align-items: center; + } + .apexcharts-legend-text { + position: relative; + font-size: 14px; + } + .apexcharts-legend-text *, .apexcharts-legend-marker * { + pointer-events: none; + } + .apexcharts-legend-marker { + position: relative; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + margin-right: 1px; + } + + .apexcharts-legend-series.apexcharts-no-click { + cursor: auto; + } + .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series { + display: none !important; + } + .apexcharts-inactive-legend { + opacity: 0.45; + } + + `);return s.appendChild(r),s}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),t=e.width;return{clwh:e.height,clww:t}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(e,t){var i=this,s=this.w;if(s.globals.axisCharts||s.config.chart.type==="radialBar"){s.globals.resized=!0;var a=null,r=null;s.globals.risingSeries=[],s.globals.axisCharts?(a=s.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"']")),r=parseInt(a.getAttribute("data:realIndex"),10)):(a=s.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(e+1,"']")),r=parseInt(a.getAttribute("rel"),10)-1),t?[{cs:s.globals.collapsedSeries,csi:s.globals.collapsedSeriesIndices},{cs:s.globals.ancillaryCollapsedSeries,csi:s.globals.ancillaryCollapsedSeriesIndices}].forEach(function(d){i.riseCollapsedSeries(d.cs,d.csi,r)}):this.hideSeries({seriesEl:a,realIndex:r})}else{var n=s.globals.dom.Paper.findOne(" .apexcharts-series[rel='".concat(e+1,"'] path")),l=s.config.chart.type;if(l==="pie"||l==="polarArea"||l==="donut"){var h=s.config.plotOptions.pie.donut.labels;new G(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,h)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(e){var t=e.realIndex,i=this.w,s=i.globals,a=R.clone(i.config.series);if(s.axisCharts){var r=i.config.yaxis[s.seriesYAxisReverseMap[t]],n={index:t,data:a[t].data.slice(),type:a[t].type||i.config.chart.type};if(r&&r.show&&r.showAlways)s.ancillaryCollapsedSeriesIndices.indexOf(t)<0&&(s.ancillaryCollapsedSeries.push(n),s.ancillaryCollapsedSeriesIndices.push(t));else if(s.collapsedSeriesIndices.indexOf(t)<0){s.collapsedSeries.push(n),s.collapsedSeriesIndices.push(t);var l=s.risingSeries.indexOf(t);s.risingSeries.splice(l,1)}}else s.collapsedSeries.push({index:t,data:a[t]}),s.collapsedSeriesIndices.push(t);return s.allSeriesCollapsed=s.collapsedSeries.length+s.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(a)}},{key:"hideSeries",value:function(e){for(var t=e.seriesEl,i=e.realIndex,s=this.w,a=this.getSeriesAfterCollapsing({realIndex:i}),r=t.childNodes,n=0;n0){for(var r=0;r1;if(this.legendHelpers.appendToForeignObject(),(s||!t.axisCharts)&&i.legend.show){for(;t.dom.elLegendWrap.firstChild;)t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);this.drawLegends(),i.legend.position==="bottom"||i.legend.position==="top"?this.legendAlignHorizontal():i.legend.position!=="right"&&i.legend.position!=="left"||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(e){var t=e.i,i=e.fillcolor,s=this.w,a=document.createElement("span");a.classList.add("apexcharts-legend-marker");var r=s.config.legend.markers.shape||s.config.markers.shape,n=r;Array.isArray(r)&&(n=r[t]);var l=Array.isArray(s.config.legend.markers.size)?parseFloat(s.config.legend.markers.size[t]):parseFloat(s.config.legend.markers.size),h=Array.isArray(s.config.legend.markers.offsetX)?parseFloat(s.config.legend.markers.offsetX[t]):parseFloat(s.config.legend.markers.offsetX),d=Array.isArray(s.config.legend.markers.offsetY)?parseFloat(s.config.legend.markers.offsetY[t]):parseFloat(s.config.legend.markers.offsetY),c=Array.isArray(s.config.legend.markers.strokeWidth)?parseFloat(s.config.legend.markers.strokeWidth[t]):parseFloat(s.config.legend.markers.strokeWidth),u=a.style;if(u.height=2*(l+c)+"px",u.width=2*(l+c)+"px",u.left=h+"px",u.top=d+"px",s.config.legend.markers.customHTML)u.background="transparent",u.color=i[t],Array.isArray(s.config.legend.markers.customHTML)?s.config.legend.markers.customHTML[t]&&(a.innerHTML=s.config.legend.markers.customHTML[t]()):a.innerHTML=s.config.legend.markers.customHTML();else{var g=new Ot(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:t,strokeWidth:c,size:l}),p=window.SVG().addTo(a).size("100%","100%"),f=new G(this.ctx).drawMarker(0,0,Y(Y({},g),{},{pointFillColor:Array.isArray(i)?i[t]:g.pointFillColor,shape:n}));s.globals.dom.Paper.find(".apexcharts-legend-marker.apexcharts-marker").forEach(function(x){x.node.classList.contains("apexcharts-marker-triangle")?x.node.style.transform="translate(50%, 45%)":x.node.style.transform="translate(50%, 50%)"}),p.add(f)}return a}},{key:"drawLegends",value:function(){var e=this,t=this,i=this.w,s=i.config.legend.fontFamily,a=i.globals.seriesNames,r=i.config.legend.markers.fillColors?i.config.legend.markers.fillColors.slice():i.globals.colors.slice();if(i.config.chart.type==="heatmap"){var n=i.config.plotOptions.heatmap.colorScale.ranges;a=n.map(function(g){return g.name?g.name:g.from+" - "+g.to}),r=n.map(function(g){return g.color})}else this.isBarsDistributed&&(a=i.globals.labels.slice());i.config.legend.customLegendItems.length&&(a=i.config.legend.customLegendItems);var l=i.globals.legendFormatter,h=i.config.legend.inverseOrder,d=[];i.globals.seriesGroups.length>1&&i.config.legend.clusterGroupedSeries&&i.globals.seriesGroups.forEach(function(g,p){d[p]=document.createElement("div"),d[p].classList.add("apexcharts-legend-group","apexcharts-legend-group-".concat(p)),i.config.legend.clusterGroupedSeriesOrientation==="horizontal"?i.globals.dom.elLegendWrap.classList.add("apexcharts-legend-group-horizontal"):d[p].classList.add("apexcharts-legend-group-vertical")});for(var c=function(g){var p,f=l(a[g],{seriesIndex:g,w:i}),x=!1,m=!1;if(i.globals.collapsedSeries.length>0)for(var v=0;v0)for(var w=0;w=0:u<=a.length-1;h?u--:u++)c(u);i.globals.dom.elWrap.addEventListener("click",t.onLegendClick,!0),i.config.legend.onItemHover.highlightDataSeries&&i.config.legend.customLegendItems.length===0&&(i.globals.dom.elWrap.addEventListener("mousemove",t.onLegendHovered,!0),i.globals.dom.elWrap.addEventListener("mouseout",t.onLegendHovered,!0))}},{key:"setLegendWrapXY",value:function(e,t){var i=this.w,s=i.globals.dom.elLegendWrap,a=s.clientHeight,r=0,n=0;if(i.config.legend.position==="bottom")n=i.globals.svgHeight-Math.min(a,i.globals.svgHeight/2)-5;else if(i.config.legend.position==="top"){var l=new ui(this.ctx),h=l.dimHelpers.getTitleSubtitleCoords("title").height,d=l.dimHelpers.getTitleSubtitleCoords("subtitle").height;n=(h>0?h-10:0)+(d>0?d-10:0)}s.style.position="absolute",r=r+e+i.config.legend.offsetX,n=n+t+i.config.legend.offsetY,s.style.left=r+"px",s.style.top=n+"px",i.config.legend.position==="right"&&(s.style.left="auto",s.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach(function(c){s.style[c]&&(s.style[c]=parseInt(i.config.legend[c],10)+"px")})}},{key:"legendAlignHorizontal",value:function(){var e=this.w;e.globals.dom.elLegendWrap.style.right=0;var t=new ui(this.ctx),i=t.dimHelpers.getTitleSubtitleCoords("title"),s=t.dimHelpers.getTitleSubtitleCoords("subtitle"),a=0;e.config.legend.position==="top"&&(a=i.height+s.height+e.config.title.margin+e.config.subtitle.margin-10),this.setLegendWrapXY(20,a)}},{key:"legendAlignVertical",value:function(){var e=this.w,t=this.legendHelpers.getLegendDimensions(),i=0;e.config.legend.position==="left"&&(i=20),e.config.legend.position==="right"&&(i=e.globals.svgWidth-t.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(e){var t=this.w,i=e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker");if(t.config.chart.type==="heatmap"||this.isBarsDistributed){if(i){var s=parseInt(e.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,s,this.w]),new $e(this.ctx).highlightRangeInSeries(e,e.target)}}else!e.target.classList.contains("apexcharts-inactive-legend")&&i&&new $e(this.ctx).toggleSeriesOnHover(e,e.target)}},{key:"onLegendClick",value:function(e){var t=this.w;if(!t.config.legend.customLegendItems.length&&(e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(e.target.getAttribute("rel"),10)-1,s=e.target.getAttribute("data:collapsed")==="true",a=this.w.config.chart.events.legendClick;typeof a=="function"&&a(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;typeof r=="function"&&e.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),t.config.chart.type!=="treemap"&&t.config.chart.type!=="heatmap"&&!this.isBarsDistributed&&t.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,s)}}}]),o}(),wa=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w;var t=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=t.globals.minX,this.maxX=t.globals.maxX}return E(o,[{key:"createToolbar",value:function(){var e=this,t=this.w,i=function(){return document.createElement("div")},s=i();if(s.setAttribute("class","apexcharts-toolbar"),s.style.top=t.config.chart.toolbar.offsetY+"px",s.style.right=3-t.config.chart.toolbar.offsetX+"px",t.globals.dom.elWrap.appendChild(s),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var a=0;a + + + +`),n("zoomOut",this.elZoomOut,` + + + +`);var l=function(c){e.t[c]&&t.config.chart[c].enabled&&r.push({el:c==="zoom"?e.elZoom:e.elSelection,icon:typeof e.t[c]=="string"?e.t[c]:c==="zoom"?` + + + +`:` + + +`,title:e.localeValues[c==="zoom"?"selectionZoom":"selection"],class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(c,"-icon")})};l("zoom"),l("selection"),this.t.pan&&t.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:typeof this.t.pan=="string"?this.t.pan:` + + + + + + + +`,title:this.localeValues.pan,class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,` + + +`),this.t.download&&r.push({el:this.elMenuIcon,icon:typeof this.t.download=="string"?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var h=0;hthis.wheelDelay&&(this.executeMouseWheelZoom(i),a.globals.lastWheelExecution=r),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(function(){r-a.globals.lastWheelExecution>s.wheelDelay&&(s.executeMouseWheelZoom(i),a.globals.lastWheelExecution=r)},this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(i){var s,a=this.w;this.minX=a.globals.isRangeBar?a.globals.minY:a.globals.minX,this.maxX=a.globals.isRangeBar?a.globals.maxY:a.globals.maxX;var r=(s=this.gridRect)===null||s===void 0?void 0:s.getBoundingClientRect();if(r){var n,l,h,d=(i.clientX-r.left)/r.width,c=this.minX,u=this.maxX,g=u-c;if(i.deltaY<0){var p=c+d*g;l=p-(n=.5*g)/2,h=p+n/2}else l=c-(n=1.5*g)/2,h=u+n/2;if(!a.globals.isRangeBar){l=Math.max(l,a.globals.initialMinX),h=Math.min(h,a.globals.initialMaxX);var f=.01*(a.globals.initialMaxX-a.globals.initialMinX);if(h-l0&&a.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(r,n,l,h,d){return d==="l"||d==="r"?r.circle(8).css({"stroke-width":1,stroke:"#333",fill:"#fff"}):r.circle(0)},updateHandle:function(r,n){return r.center(n[0],n[1])}}).resize().on("resize",function(){var r=s.globals.zoomEnabled?s.config.chart.zoom.type:s.config.chart.selection.type;i.handleMouseUp({zoomtype:r,isResized:!0})}))}}},{key:"preselectedSelection",value:function(){var i=this.w,s=this.xyRatios;if(!i.globals.zoomEnabled){if(i.globals.selection!==void 0&&i.globals.selection!==null)this.drawSelectionRect(Y(Y({},i.globals.selection),{},{translateX:i.globals.translateX,translateY:i.globals.translateY}));else if(i.config.chart.selection.xaxis.min!==void 0&&i.config.chart.selection.xaxis.max!==void 0){var a=(i.config.chart.selection.xaxis.min-i.globals.minX)/s.xRatio,r=i.globals.gridWidth-(i.globals.maxX-i.config.chart.selection.xaxis.max)/s.xRatio-a;i.globals.isRangeBar&&(a=(i.config.chart.selection.xaxis.min-i.globals.yAxisScale[0].niceMin)/s.invertedYRatio,r=(i.config.chart.selection.xaxis.max-i.config.chart.selection.xaxis.min)/s.invertedYRatio);var n={x:a,y:0,width:r,height:i.globals.gridHeight,translateX:i.globals.translateX,translateY:i.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(n),this.makeSelectionRectDraggable(),typeof i.config.chart.events.selection=="function"&&i.config.chart.events.selection(this.ctx,{xaxis:{min:i.config.chart.selection.xaxis.min,max:i.config.chart.selection.xaxis.max},yaxis:{}})}}}},{key:"drawSelectionRect",value:function(i){var s=i.x,a=i.y,r=i.width,n=i.height,l=i.translateX,h=l===void 0?0:l,d=i.translateY,c=d===void 0?0:d,u=this.w,g=this.zoomRect,p=this.selectionRect;if(this.dragged||u.globals.selection!==null){var f={transform:"translate("+h+", "+c+")"};u.globals.zoomEnabled&&this.dragged&&(r<0&&(r=1),g.attr({x:s,y:a,width:r,height:n,fill:u.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":u.config.chart.zoom.zoomedArea.fill.opacity,stroke:u.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":u.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":u.config.chart.zoom.zoomedArea.stroke.opacity}),G.setAttrs(g.node,f)),u.globals.selectionEnabled&&(p.attr({x:s,y:a,width:r>0?r:0,height:n>0?n:0,fill:u.config.chart.selection.fill.color,"fill-opacity":u.config.chart.selection.fill.opacity,stroke:u.config.chart.selection.stroke.color,"stroke-width":u.config.chart.selection.stroke.width,"stroke-dasharray":u.config.chart.selection.stroke.dashArray,"stroke-opacity":u.config.chart.selection.stroke.opacity}),G.setAttrs(p.node,f))}}},{key:"hideSelectionRect",value:function(i){i&&i.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(i){var s=i.context,a=i.zoomtype,r=this.w,n=s,l=this.gridRect.getBoundingClientRect(),h=n.startX-1,d=n.startY,c=!1,u=!1,g=n.clientX-l.left-r.globals.barPadForNumericAxis,p=n.clientY-l.top,f=g-h,x=p-d,m={translateX:r.globals.translateX,translateY:r.globals.translateY};return Math.abs(f+h)>r.globals.gridWidth?f=r.globals.gridWidth-h:g<0&&(f=h),h>g&&(c=!0,f=Math.abs(f)),d>p&&(u=!0,x=Math.abs(x)),m=Y(Y({},m=a==="x"?{x:c?h-f:h,y:0,width:f,height:r.globals.gridHeight}:a==="y"?{x:0,y:u?d-x:d,width:r.globals.gridWidth,height:x}:{x:c?h-f:h,y:u?d-x:d,width:f,height:x}),{},{translateX:r.globals.translateX,translateY:r.globals.translateY}),n.drawSelectionRect(m),n.selectionDragging("resizing"),m}},{key:"selectionDragging",value:function(i,s){var a=this,r=this.w;if(s){s.preventDefault();var n=s.detail,l=n.handler,h=n.box,d=h.x,c=h.y;dthis.constraints.x2&&(d=this.constraints.x2-h.w),h.y2>this.constraints.y2&&(c=this.constraints.y2-h.h),l.move(d,c);var u=this.xyRatios,g=this.selectionRect,p=0;i==="resizing"&&(p=30);var f=function(m){return parseFloat(g.node.getAttribute(m))},x={x:f("x"),y:f("y"),width:f("width"),height:f("height")};r.globals.selection=x,typeof r.config.chart.events.selection=="function"&&r.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var m,v,w,C,k=a.gridRect.getBoundingClientRect(),T=g.node.getBoundingClientRect();r.globals.isRangeBar?(m=r.globals.yAxisScale[0].niceMin+(T.left-k.left)*u.invertedYRatio,v=r.globals.yAxisScale[0].niceMin+(T.right-k.left)*u.invertedYRatio,w=0,C=1):(m=r.globals.xAxisScale.niceMin+(T.left-k.left)*u.xRatio,v=r.globals.xAxisScale.niceMin+(T.right-k.left)*u.xRatio,w=r.globals.yAxisScale[0].niceMin+(k.bottom-T.bottom)*u.yRatio[0],C=r.globals.yAxisScale[0].niceMax-(T.top-k.top)*u.yRatio[0]);var A={xaxis:{min:m,max:v},yaxis:{min:w,max:C}};r.config.chart.events.selection(a.ctx,A),r.config.chart.brush.enabled&&r.config.chart.events.brushScrolled!==void 0&&r.config.chart.events.brushScrolled(a.ctx,A)},p))}}},{key:"selectionDrawn",value:function(i){var s=i.context,a=i.zoomtype,r=this.w,n=s,l=this.xyRatios,h=this.ctx.toolbar;if(n.startX>n.endX){var d=n.startX;n.startX=n.endX,n.endX=d}if(n.startY>n.endY){var c=n.startY;n.startY=n.endY,n.endY=c}var u=void 0,g=void 0;r.globals.isRangeBar?(u=r.globals.yAxisScale[0].niceMin+n.startX*l.invertedYRatio,g=r.globals.yAxisScale[0].niceMin+n.endX*l.invertedYRatio):(u=r.globals.xAxisScale.niceMin+n.startX*l.xRatio,g=r.globals.xAxisScale.niceMin+n.endX*l.xRatio);var p=[],f=[];if(r.config.yaxis.forEach(function(T,A){var M=r.globals.seriesYAxisMap[A][0];p.push(r.globals.yAxisScale[A].niceMax-l.yRatio[M]*n.startY),f.push(r.globals.yAxisScale[A].niceMax-l.yRatio[M]*n.endY)}),n.dragged&&(n.dragX>10||n.dragY>10)&&u!==g){if(r.globals.zoomEnabled){var x=R.clone(r.globals.initialConfig.yaxis),m=R.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(u=Math.floor(u),g=Math.floor(g),u<1&&(u=1,g=r.globals.dataPoints),g-u<2&&(g=u+1)),a!=="xy"&&a!=="x"||(m={min:u,max:g}),a!=="xy"&&a!=="y"||x.forEach(function(T,A){x[A].min=f[A],x[A].max=p[A]}),h){var v=h.getBeforeZoomRange(m,x);v&&(m=v.xaxis?v.xaxis:m,x=v.yaxis?v.yaxis:x)}var w={xaxis:m};r.config.chart.group||(w.yaxis=x),n.ctx.updateHelpers._updateOptions(w,!1,n.w.config.chart.animations.dynamicAnimation.enabled),typeof r.config.chart.events.zoomed=="function"&&h.zoomCallback(m,x)}else if(r.globals.selectionEnabled){var C,k=null;C={min:u,max:g},a!=="xy"&&a!=="y"||(k=R.clone(r.config.yaxis)).forEach(function(T,A){k[A].min=f[A],k[A].max=p[A]}),r.globals.selection=n.selection,typeof r.config.chart.events.selection=="function"&&r.config.chart.events.selection(n.ctx,{xaxis:C,yaxis:k})}}}},{key:"panDragging",value:function(i){var s=i.context,a=this.w,r=s;if(a.globals.lastClientPosition.x!==void 0){var n=a.globals.lastClientPosition.x-r.clientX,l=a.globals.lastClientPosition.y-r.clientY;Math.abs(n)>Math.abs(l)&&n>0?this.moveDirection="left":Math.abs(n)>Math.abs(l)&&n<0?this.moveDirection="right":Math.abs(l)>Math.abs(n)&&l>0?this.moveDirection="up":Math.abs(l)>Math.abs(n)&&l<0&&(this.moveDirection="down")}a.globals.lastClientPosition={x:r.clientX,y:r.clientY};var h=a.globals.isRangeBar?a.globals.minY:a.globals.minX,d=a.globals.isRangeBar?a.globals.maxY:a.globals.maxX;a.config.xaxis.convertedCatToNumeric||r.panScrolled(h,d)}},{key:"delayedPanScrolled",value:function(){var i=this.w,s=i.globals.minX,a=i.globals.maxX,r=(i.globals.maxX-i.globals.minX)/2;this.moveDirection==="left"?(s=i.globals.minX+r,a=i.globals.maxX+r):this.moveDirection==="right"&&(s=i.globals.minX-r,a=i.globals.maxX-r),s=Math.floor(s),a=Math.floor(a),this.updateScrolledChart({xaxis:{min:s,max:a}},s,a)}},{key:"panScrolled",value:function(i,s){var a=this.w,r=this.xyRatios,n=R.clone(a.globals.initialConfig.yaxis),l=r.xRatio,h=a.globals.minX,d=a.globals.maxX;a.globals.isRangeBar&&(l=r.invertedYRatio,h=a.globals.minY,d=a.globals.maxY),this.moveDirection==="left"?(i=h+a.globals.gridWidth/15*l,s=d+a.globals.gridWidth/15*l):this.moveDirection==="right"&&(i=h-a.globals.gridWidth/15*l,s=d-a.globals.gridWidth/15*l),a.globals.isRangeBar||(ia.globals.initialMaxX)&&(i=h,s=d);var c={xaxis:{min:i,max:s}};a.config.chart.group||(c.yaxis=n),this.updateScrolledChart(c,i,s)}},{key:"updateScrolledChart",value:function(i,s,a){var r=this.w;this.ctx.updateHelpers._updateOptions(i,!1,!1),typeof r.config.chart.events.scrolled=="function"&&r.config.chart.events.scrolled(this.ctx,{xaxis:{min:s,max:a}})}}]),t}(wa),ka=function(){function o(e){P(this,o),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return E(o,[{key:"getNearestValues",value:function(e){var t=e.hoverArea,i=e.elGrid,s=e.clientX,a=e.clientY,r=this.w,n=i.getBoundingClientRect(),l=n.width,h=n.height,d=l/(r.globals.dataPoints-1),c=h/r.globals.dataPoints,u=this.hasBars();!r.globals.comboCharts&&!u||r.config.xaxis.convertedCatToNumeric||(d=l/r.globals.dataPoints);var g=s-n.left-r.globals.barPadForNumericAxis,p=a-n.top;g<0||p<0||g>l||p>h?(t.classList.remove("hovering-zoom"),t.classList.remove("hovering-pan")):r.globals.zoomEnabled?(t.classList.remove("hovering-pan"),t.classList.add("hovering-zoom")):r.globals.panEnabled&&(t.classList.remove("hovering-zoom"),t.classList.add("hovering-pan"));var f=Math.round(g/d),x=Math.floor(p/c);u&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/d),f-=1);var m=null,v=null,w=r.globals.seriesXvalues.map(function(M){return M.filter(function(I){return R.isNumber(I)})}),C=r.globals.seriesYvalues.map(function(M){return M.filter(function(I){return R.isNumber(I)})});if(r.globals.isXNumeric){var k=this.ttCtx.getElGrid().getBoundingClientRect(),T=g*(k.width/l),A=p*(k.height/h);m=(v=this.closestInMultiArray(T,A,w,C)).index,f=v.j,m!==null&&(w=r.globals.seriesXvalues[m],f=(v=this.closestInArray(T,w)).index)}return r.globals.capturedSeriesIndex=m===null?-1:m,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=x:r.globals.capturedDataPointIndex=f,{capturedSeries:m,j:r.globals.isBarHorizontal?x:f,hoverX:g,hoverY:p}}},{key:"closestInMultiArray",value:function(e,t,i,s){var a=this.w,r=0,n=null,l=-1;a.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var h=i[r][0],d=Math.abs(e-h);if(i.forEach(function(g){g.forEach(function(p,f){var x=Math.abs(e-p);x<=d&&(d=x,l=f)})}),l!==-1){var c=s[r][l],u=Math.abs(t-c);n=r,s.forEach(function(g,p){var f=Math.abs(t-g[l]);f<=u&&(u=f,n=p)})}return{index:n,j:l}}},{key:"getFirstActiveXArray",value:function(e){for(var t=this.w,i=0,s=e.map(function(r,n){return r.length>0?n:-1}),a=0;a0)for(var s=0;s *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(e=he(e)).sort(function(i,s){var a=Number(i.getAttribute("data:realIndex")),r=Number(s.getAttribute("data:realIndex"));return ra?-1:0});var t=[];return e.forEach(function(i){t.push(i.querySelector(".apexcharts-marker"))}),t}},{key:"hasMarkers",value:function(e){return this.getElMarkers(e).length>0}},{key:"getPathFromPoint",value:function(e,t){var i=Number(e.getAttribute("cx")),s=Number(e.getAttribute("cy")),a=e.getAttribute("shape");return new G(this.ctx).getMarkerPath(i,s,a,t)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(e){var t=this.w,i=t.config.markers.hover.size;return i===void 0&&(i=t.globals.markers.size[e]+t.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(e){var t=this.w,i=this.ttCtx;i.allTooltipSeriesGroups.length===0&&(i.allTooltipSeriesGroups=t.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var s=i.allTooltipSeriesGroups,a=0;a ').concat(O.attrs.name,""),I+="
".concat(O.val,"
")}),w.innerHTML=M+"",C.innerHTML=I+""};n?h.globals.seriesGoals[t][i]&&Array.isArray(h.globals.seriesGoals[t][i])?k():(w.innerHTML="",C.innerHTML=""):k()}else w.innerHTML="",C.innerHTML="";if(f!==null&&(s[t].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=h.config.tooltip.z.title,s[t].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=f!==void 0?f:""),n&&x[0]){if(h.config.tooltip.hideEmptySeries){var T=s[t].querySelector(".apexcharts-tooltip-marker"),A=s[t].querySelector(".apexcharts-tooltip-text");parseFloat(c)==0?(T.style.display="none",A.style.display="none"):(T.style.display="block",A.style.display="block")}c==null||h.globals.ancillaryCollapsedSeriesIndices.indexOf(t)>-1||h.globals.collapsedSeriesIndices.indexOf(t)>-1||Array.isArray(d.tConfig.enabledOnSeries)&&d.tConfig.enabledOnSeries.indexOf(t)===-1?x[0].parentNode.style.display="none":x[0].parentNode.style.display=h.config.tooltip.items.display}else Array.isArray(d.tConfig.enabledOnSeries)&&d.tConfig.enabledOnSeries.indexOf(t)===-1&&(x[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(e,t){var i=this.w;if(e)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var s=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(t));s&&(s.classList.add("apexcharts-active"),s.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(e){var t=e.i,i=e.j,s=this.w,a=this.ctx.series.filteredSeriesX(),r="",n="",l=null,h=null,d={series:s.globals.series,seriesIndex:t,dataPointIndex:i,w:s},c=s.globals.ttZFormatter;i===null?h=s.globals.series[t]:s.globals.isXNumeric&&s.config.chart.type!=="treemap"?(r=a[t][i],a[t].length===0&&(r=a[this.tooltipUtil.getFirstActiveXArray(a)][i])):r=new ns(this.ctx).isFormatXY()?s.config.series[t].data[i]!==void 0?s.config.series[t].data[i].x:"":s.globals.labels[i]!==void 0?s.globals.labels[i]:"";var u=r;return s.globals.isXNumeric&&s.config.xaxis.type==="datetime"?r=new Vt(this.ctx).xLabelFormat(s.globals.ttKeyFormatter,u,u,{i:void 0,dateFormatter:new Ie(this.ctx).formatDate,w:this.w}):r=s.globals.isBarHorizontal?s.globals.yLabelFormatters[0](u,d):s.globals.xLabelFormatter(u,d),s.config.tooltip.x.formatter!==void 0&&(r=s.globals.ttKeyFormatter(u,d)),s.globals.seriesZ.length>0&&s.globals.seriesZ[t].length>0&&(l=c(s.globals.seriesZ[t][i],s)),n=typeof s.config.xaxis.tooltip.formatter=="function"?s.globals.xaxisTooltipFormatter(u,d):r,{val:Array.isArray(h)?h.join(" "):h,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:l}}},{key:"handleCustomTooltip",value:function(e){var t=e.i,i=e.j,s=e.y1,a=e.y2,r=e.w,n=this.ttCtx.getElTooltip(),l=r.config.tooltip.custom;Array.isArray(l)&&l[t]&&(l=l[t]),n.innerHTML=l({ctx:this.ctx,series:r.globals.series,seriesIndex:t,dataPointIndex:i,y1:s,y2:a,w:r})}}]),o}(),Aa=function(){function o(e){P(this,o),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return E(o,[{key:"moveXCrosshairs",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,i=this.ttCtx,s=this.w,a=i.getElXCrosshairs(),r=e-i.xcrosshairsWidth/2,n=s.globals.labels.slice().length;if(t!==null&&(r=s.globals.gridWidth/n*t),a===null||s.globals.isBarHorizontal||(a.setAttribute("x",r),a.setAttribute("x1",r),a.setAttribute("x2",r),a.setAttribute("y2",s.globals.gridHeight),a.classList.add("apexcharts-active")),r<0&&(r=0),r>s.globals.gridWidth&&(r=s.globals.gridWidth),i.isXAxisTooltipEnabled){var l=r;s.config.xaxis.crosshairs.width!=="tickWidth"&&s.config.xaxis.crosshairs.width!=="barWidth"||(l=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(l)}}},{key:"moveYCrosshairs",value:function(e){var t=this.ttCtx;t.ycrosshairs!==null&&G.setAttrs(t.ycrosshairs,{y1:e,y2:e}),t.ycrosshairsHidden!==null&&G.setAttrs(t.ycrosshairsHidden,{y1:e,y2:e})}},{key:"moveXAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;if(i.xaxisTooltip!==null&&i.xcrosshairsWidth!==0){i.xaxisTooltip.classList.add("apexcharts-active");var s=i.xaxisOffY+t.config.xaxis.tooltip.offsetY+t.globals.translateY+1+t.config.xaxis.offsetY;if(e-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(e)){e+=t.globals.translateX;var a;a=new G(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=a.width+"px",i.xaxisTooltip.style.left=e+"px",i.xaxisTooltip.style.top=s+"px"}}}},{key:"moveYAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;i.yaxisTTEls===null&&(i.yaxisTTEls=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var s=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),a=t.globals.translateY+s,r=i.yaxisTTEls[e].getBoundingClientRect().height,n=t.globals.translateYAxisX[e]-2;t.config.yaxis[e].opposite&&(n-=26),a-=r/2,t.globals.ignoreYAxisIndexes.indexOf(e)===-1?(i.yaxisTTEls[e].classList.add("apexcharts-active"),i.yaxisTTEls[e].style.top=a+"px",i.yaxisTTEls[e].style.left=n+t.config.yaxis[e].tooltip.offsetX+"px"):i.yaxisTTEls[e].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,s=this.w,a=this.ttCtx,r=a.getElTooltip(),n=a.tooltipRect,l=i!==null?parseFloat(i):1,h=parseFloat(e)+l+5,d=parseFloat(t)+l/2;if(h>s.globals.gridWidth/2&&(h=h-n.ttWidth-l-10),h>s.globals.gridWidth-n.ttWidth-10&&(h=s.globals.gridWidth-n.ttWidth),h<-20&&(h=-20),s.config.tooltip.followCursor){var c=a.getElGrid().getBoundingClientRect();(h=a.e.clientX-c.left)>s.globals.gridWidth/2&&(h-=a.tooltipRect.ttWidth),(d=a.e.clientY+s.globals.translateY-c.top)>s.globals.gridHeight/2&&(d-=a.tooltipRect.ttHeight)}else s.globals.isBarHorizontal||n.ttHeight/2+d>s.globals.gridHeight&&(d=s.globals.gridHeight-n.ttHeight+s.globals.translateY);isNaN(h)||(h+=s.globals.translateX,r.style.left=h+"px",r.style.top=d+"px")}},{key:"moveMarkers",value:function(e,t){var i=this.w,s=this.ttCtx;if(i.globals.markers.size[e]>0)for(var a=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-marker")),r=0;r0){var p=g.getAttribute("shape"),f=h.getMarkerPath(a,r,p,1.5*c);g.setAttribute("d",f)}this.moveXCrosshairs(a),l.fixedTooltip||this.moveTooltip(a,r,c)}}},{key:"moveDynamicPointsOnHover",value:function(e){var t,i=this.ttCtx,s=i.w,a=0,r=0,n=s.globals.pointsArray,l=new $e(this.ctx),h=new G(this.ctx);t=l.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var d=i.tooltipUtil.getHoverMarkerSize(t);n[t]&&(a=n[t][e][0],r=n[t][e][1]);var c=i.tooltipUtil.getAllMarkers();if(c!==null)for(var u=0;u0){var v=h.getMarkerPath(a,p,x,d);c[u].setAttribute("d",v)}else c[u].setAttribute("d","")}}this.moveXCrosshairs(a),i.fixedTooltip||this.moveTooltip(a,r||s.globals.gridHeight,d)}},{key:"moveStickyTooltipOverBars",value:function(e,t){var i=this.w,s=this.ttCtx,a=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;i.globals.isBarHorizontal&&(r=new $e(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(e,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(e,"']"));n||typeof t!="number"||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,`'], + .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], + .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,`'], + .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='`).concat(t,"'] path[j='").concat(e,"']")));var l=n?parseFloat(n.getAttribute("cx")):0,h=n?parseFloat(n.getAttribute("cy")):0,d=n?parseFloat(n.getAttribute("barWidth")):0,c=s.getElGrid().getBoundingClientRect(),u=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!u&&(l-=a%2!=0?d/2:0),n&&u&&(l-=d/2)):i.globals.isBarHorizontal||(l=s.xAxisTicksPositions[e-1]+s.dataPointsDividedWidth/2,isNaN(l)&&(l=s.xAxisTicksPositions[e]-s.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?h-=s.tooltipRect.ttHeight:i.config.tooltip.followCursor?h=s.e.clientY-c.top-s.tooltipRect.ttHeight/2:h+s.tooltipRect.ttHeight+15>i.globals.gridHeight&&(h=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(l),s.fixedTooltip||this.moveTooltip(l,h||i.globals.gridHeight)}}]),o}(),wn=function(){function o(e){P(this,o),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new Aa(e)}return E(o,[{key:"drawDynamicPoints",value:function(){var e=this.w,t=new G(this.ctx),i=new Ot(this.ctx),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series");s=he(s),e.config.chart.stacked&&s.sort(function(c,u){return parseFloat(c.getAttribute("data:realIndex"))-parseFloat(u.getAttribute("data:realIndex"))});for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:null,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=this.w;a.config.chart.type!=="bubble"&&this.newPointSize(e,t);var r=t.getAttribute("cx"),n=t.getAttribute("cy");if(i!==null&&s!==null&&(r=i,n=s),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(a.config.chart.type==="radar"){var l=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,n,a.config.markers.hover.size)}}},{key:"enlargePoints",value:function(e){for(var t=this.w,i=this,s=this.ttCtx,a=e,r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=t.config.markers.hover.size,l=0;l0){var s=this.ttCtx.tooltipUtil.getPathFromPoint(e[t],i);e[t].setAttribute("d",s)}else e[t].setAttribute("d","M0,0")}}}]),o}(),kn=function(){function o(e){P(this,o),this.w=e.w;var t=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&t.config.chart.type==="rangeBar"&&t.config.plotOptions.bar.rangeBarGroupRows}return E(o,[{key:"getAttr",value:function(e,t){return parseFloat(e.target.getAttribute(t))}},{key:"handleHeatTreeTooltip",value:function(e){var t=e.e,i=e.opt,s=e.x,a=e.y,r=e.type,n=this.ttCtx,l=this.w;if(t.target.classList.contains("apexcharts-".concat(r,"-rect"))){var h=this.getAttr(t,"i"),d=this.getAttr(t,"j"),c=this.getAttr(t,"cx"),u=this.getAttr(t,"cy"),g=this.getAttr(t,"width"),p=this.getAttr(t,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:h,j:d,shared:!1,e:t}),l.globals.capturedSeriesIndex=h,l.globals.capturedDataPointIndex=d,s=c+n.tooltipRect.ttWidth/2+g,a=u+n.tooltipRect.ttHeight/2-p/2,n.tooltipPosition.moveXCrosshairs(c+g/2),s>l.globals.gridWidth/2&&(s=c-n.tooltipRect.ttWidth/2+g),n.w.config.tooltip.followCursor){var f=l.globals.dom.elWrap.getBoundingClientRect();s=l.globals.clientX-f.left-(s>l.globals.gridWidth/2?n.tooltipRect.ttWidth:0),a=l.globals.clientY-f.top-(a>l.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:s,y:a}}},{key:"handleMarkerTooltip",value:function(e){var t,i,s=e.e,a=e.opt,r=e.x,n=e.y,l=this.w,h=this.ttCtx;if(s.target.classList.contains("apexcharts-marker")){var d=parseInt(a.paths.getAttribute("cx"),10),c=parseInt(a.paths.getAttribute("cy"),10),u=parseFloat(a.paths.getAttribute("val"));if(i=parseInt(a.paths.getAttribute("rel"),10),t=parseInt(a.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,h.intersect){var g=R.findAncestor(a.paths,"apexcharts-series");g&&(t=parseInt(g.getAttribute("data:realIndex"),10))}if(h.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:t,j:i,shared:!h.showOnIntersect&&l.config.tooltip.shared,e:s}),s.type==="mouseup"&&h.markerClick(s,t,i),l.globals.capturedSeriesIndex=t,l.globals.capturedDataPointIndex=i,r=d,n=c+l.globals.translateY-1.4*h.tooltipRect.ttHeight,h.w.config.tooltip.followCursor){var p=h.getElGrid().getBoundingClientRect();n=h.e.clientY+l.globals.translateY-p.top}u<0&&(n=c),h.marker.enlargeCurrentPoint(i,a.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(e){var t,i,s=e.e,a=e.opt,r=this.w,n=this.ttCtx,l=n.getElTooltip(),h=0,d=0,c=0,u=this.getBarTooltipXY({e:s,opt:a});if(u.j!==null||u.barHeight!==0||u.barWidth!==0){t=u.i;var g=u.j;if(r.globals.capturedSeriesIndex=t,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(d=u.x,c=u.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[t]:r.config.stroke.width,h=d):r.globals.comboCharts||r.config.tooltip.shared||(h/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(a.paths.parentNode.getAttribute("data:realIndex"),10),d+n.tooltipRect.ttWidth>r.globals.gridWidth?d-=n.tooltipRect.ttWidth:d<0&&(d=0),n.w.config.tooltip.followCursor){var p=n.getElGrid().getBoundingClientRect();c=n.e.clientY-p.top}n.tooltip===null&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(h+i/2):n.tooltipPosition.moveXCrosshairs(h)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,l.style.left=d+r.globals.translateX+"px",l.style.top=c+"px")}}},{key:"getBarTooltipXY",value:function(e){var t=this,i=e.e,s=e.opt,a=this.w,r=null,n=this.ttCtx,l=0,h=0,d=0,c=0,u=0,g=i.target.classList;if(g.contains("apexcharts-bar-area")||g.contains("apexcharts-candlestick-area")||g.contains("apexcharts-boxPlot-area")||g.contains("apexcharts-rangebar-area")){var p=i.target,f=p.getBoundingClientRect(),x=s.elGrid.getBoundingClientRect(),m=f.height;u=f.height;var v=f.width,w=parseInt(p.getAttribute("cx"),10),C=parseInt(p.getAttribute("cy"),10);c=parseFloat(p.getAttribute("barWidth"));var k=i.type==="touchmove"?i.touches[0].clientX:i.clientX;r=parseInt(p.getAttribute("j"),10),l=parseInt(p.parentNode.getAttribute("rel"),10)-1;var T=p.getAttribute("data-range-y1"),A=p.getAttribute("data-range-y2");a.globals.comboCharts&&(l=parseInt(p.parentNode.getAttribute("data:realIndex"),10));var M=function(O){return a.globals.isXNumeric?w-v/2:t.isVerticalGroupedRangeBar?w+v/2:w-n.dataPointsDividedWidth+v/2},I=function(){return C-n.dataPointsDividedHeight+m/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:l,j:r,y1:T?parseInt(T,10):null,y2:A?parseInt(A,10):null,shared:!n.showOnIntersect&&a.config.tooltip.shared,e:i}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(h=k-x.left+15,d=I()):(h=M(),d=i.clientY-x.top-n.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((h=w)0&&i.setAttribute("width",t.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var e=this.w,t=this.ttCtx;t.ycrosshairs=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),t.ycrosshairsHidden=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(e,t,i){var s=this.ttCtx,a=this.w,r=a.globals,n=r.seriesYAxisMap[e];if(s.yaxisTooltips[e]&&n.length>0){var l=r.yLabelFormatters[e],h=s.getElGrid().getBoundingClientRect(),d=n[0],c=0;i.yRatio.length>1&&(c=d);var u=(t-h.top)*i.yRatio[c],g=r.maxYArr[d]-r.minYArr[d],p=r.minYArr[d]+(g-u);a.config.yaxis[e].reversed&&(p=r.maxYArr[d]-(g-u)),s.tooltipPosition.moveYCrosshairs(t-h.top),s.yaxisTooltipText[e].innerHTML=l(p),s.tooltipPosition.moveYAxisTooltip(e)}}}]),o}(),Sa=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w;var t=this.w;this.tConfig=t.config.tooltip,this.tooltipUtil=new ka(this),this.tooltipLabels=new yn(this),this.tooltipPosition=new Aa(this),this.marker=new wn(this),this.intersect=new kn(this),this.axesTooltip=new An(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!t.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return E(o,[{key:"getElTooltip",value:function(e){return e||(e=this),e.w.globals.dom.baseEl?e.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(e){var t=this.w;this.xyRatios=e,this.isXAxisTooltipEnabled=t.config.xaxis.tooltip.enabled&&t.globals.axisCharts,this.yaxisTooltips=t.config.yaxis.map(function(r,n){return!!(r.show&&r.tooltip.enabled&&t.globals.axisCharts)}),this.allTooltipSeriesGroups=[],t.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),t.config.tooltip.cssClass&&i.classList.add(t.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),t.globals.dom.elWrap.appendChild(i),t.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var s=new Zt(this.ctx);this.xAxisTicksPositions=s.getXAxisTicksPositions()}if(!t.globals.comboCharts&&!this.tConfig.intersect&&t.config.chart.type!=="rangeBar"||this.tConfig.shared||(this.showOnIntersect=!0),t.config.markers.size!==0&&t.globals.markers.largestSize!==0||this.marker.drawDynamicPoints(this),t.globals.collapsedSeries.length!==t.globals.series.length){this.dataPointsDividedHeight=t.globals.gridHeight/t.globals.dataPoints,this.dataPointsDividedWidth=t.globals.gridWidth/t.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||t.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var a=t.globals.series.length;(t.globals.xyCharts||t.globals.comboCharts)&&this.tConfig.shared&&(a=this.showOnIntersect?1:t.globals.series.length),this.legendLabels=t.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(a),this.addSVGEvents()}}},{key:"createTTElements",value:function(e){for(var t=this,i=this.w,s=[],a=this.getElTooltip(),r=function(l){var h=document.createElement("div");h.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(l)),h.style.order=i.config.tooltip.inverseOrder?e-l:l+1;var d=document.createElement("span");d.classList.add("apexcharts-tooltip-marker"),d.style.backgroundColor=i.globals.colors[l],h.appendChild(d);var c=document.createElement("div");c.classList.add("apexcharts-tooltip-text"),c.style.fontFamily=t.tConfig.style.fontFamily||i.config.chart.fontFamily,c.style.fontSize=t.tConfig.style.fontSize,["y","goals","z"].forEach(function(u){var g=document.createElement("div");g.classList.add("apexcharts-tooltip-".concat(u,"-group"));var p=document.createElement("span");p.classList.add("apexcharts-tooltip-text-".concat(u,"-label")),g.appendChild(p);var f=document.createElement("span");f.classList.add("apexcharts-tooltip-text-".concat(u,"-value")),g.appendChild(f),c.appendChild(g)}),h.appendChild(c),a.appendChild(h),s.push(h)},n=0;n0&&this.addPathsEventListeners(p,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var e=this.w,t=this.getElTooltip(),i=t.getBoundingClientRect(),s=i.width+10,a=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,l=this.tConfig.fixed.position.toLowerCase();return l.indexOf("right")>-1&&(r=r+e.globals.svgWidth-s+10),l.indexOf("bottom")>-1&&(n=n+e.globals.svgHeight-a-10),t.style.left=r+"px",t.style.top=n+"px",{x:r,y:n,ttWidth:s,ttHeight:a}}},{key:"addDatapointEventsListeners",value:function(e){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(t,e)}},{key:"addPathsEventListeners",value:function(e,t){for(var i=this,s=function(r){var n={paths:e[r],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(l){return e[r].addEventListener(l,i.onSeriesHover.bind(i,n),{capture:!1,passive:!0})})},a=0;a=20?this.seriesHover(e,t):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout(function(){i.seriesHover(e,t)},20-s))}},{key:"seriesHover",value:function(e,t){var i=this;this.lastHoverTime=Date.now();var s=[],a=this.w;a.config.chart.group&&(s=this.ctx.getGroupedCharts()),a.globals.axisCharts&&(a.globals.minX===-1/0&&a.globals.maxX===1/0||a.globals.dataPoints===0)||(s.length?s.forEach(function(r){var n=i.getElTooltip(r),l={paths:e.paths,tooltipEl:n,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:r.w.globals.tooltip.ttItems};r.w.globals.minX===i.w.globals.minX&&r.w.globals.maxX===i.w.globals.maxX&&r.w.globals.tooltip.seriesHoverByContext({chartCtx:r,ttCtx:r.w.globals.tooltip,opt:l,e:t})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:e,e:t}))}},{key:"seriesHoverByContext",value:function(e){var t=e.chartCtx,i=e.ttCtx,s=e.opt,a=e.e,r=t.w,n=this.getElTooltip(t);n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=a,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared&&this.tConfig.onDatasetHover.highlightDataSeries&&new $e(t).toggleSeriesOnHover(a,a.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(e){var t,i,s=e.e,a=e.opt,r=this.w,n=a.elGrid.getBoundingClientRect(),l=s.type==="touchmove"?s.touches[0].clientX:s.clientX,h=s.type==="touchmove"?s.touches[0].clientY:s.clientY;if(this.clientY=h,this.clientX=l,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,hn.top+n.height)this.handleMouseOut(a);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var d=parseInt(a.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(d)<0)return void this.handleMouseOut(a)}var c=this.getElTooltip(),u=this.getElXCrosshairs(),g=[];r.config.chart.group&&(g=this.ctx.getSyncedCharts());var p=r.globals.xyCharts||r.config.chart.type==="bar"&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(s.type==="mousemove"||s.type==="touchmove"||s.type==="mouseup"){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;u!==null&&u.classList.add("apexcharts-active");var f=this.yaxisTooltips.filter(function(v){return v===!0});if(this.ycrosshairs!==null&&f.length&&this.ycrosshairs.classList.add("apexcharts-active"),p&&!this.showOnIntersect||g.length>1)this.handleStickyTooltip(s,l,h,a);else if(r.config.chart.type==="heatmap"||r.config.chart.type==="treemap"){var x=this.intersect.handleHeatTreeTooltip({e:s,opt:a,x:t,y:i,type:r.config.chart.type});t=x.x,i=x.y,c.style.left=t+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:s,opt:a}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:s,opt:a,x:t,y:i});if(this.yaxisTooltips.length)for(var m=0;mh.width)this.handleMouseOut(s);else if(l!==null)this.handleStickyCapturedSeries(e,l,s,n);else if(this.tooltipUtil.isXoverlap(n)||a.globals.isBarHorizontal){var d=a.globals.series.findIndex(function(c,u){return!a.globals.collapsedSeriesIndices.includes(u)});this.create(e,this,d,n,s.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(e,t,i,s){var a=this.w;if(!this.tConfig.shared&&a.globals.series[t][s]===null)return void this.handleMouseOut(i);if(a.globals.series[t][s]!==void 0)this.tConfig.shared&&this.tooltipUtil.isXoverlap(s)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(e,this,t,s,i.ttItems):this.create(e,this,t,s,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(s)){var r=a.globals.series.findIndex(function(n,l){return!a.globals.collapsedSeriesIndices.includes(l)});this.create(e,this,r,s,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var e=this.w,t=new G(this.ctx),i=e.globals.dom.Paper.find(".apexcharts-bar-area"),s=0;s5&&arguments[5]!==void 0?arguments[5]:null,A=this.w,M=t;e.type==="mouseup"&&this.markerClick(e,i,s),T===null&&(T=this.tConfig.shared);var I=this.tooltipUtil.hasMarkers(i),O=this.tooltipUtil.getElBars();if(A.config.legend.tooltipHoverFormatter){var X=A.config.legend.tooltipHoverFormatter,H=Array.from(this.legendLabels);H.forEach(function(Se){var Ce=Se.getAttribute("data:default-text");Se.innerHTML=decodeURIComponent(Ce)});for(var N=0;N0?M.marker.enlargePoints(s):M.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(O),this.barSeriesHeight>0)){var te=new G(this.ctx),ae=A.globals.dom.Paper.find(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,i);for(var se=0;se0&&t.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=d*A)),T&&(g=g+u.height/2-v/2-2);var I=t.globals.series[i][s]<0,O=l;switch(this.barCtx.isReversed&&(O=l+(I?c:-c)),x.position){case"center":p=T?I?O-c/2+C:O+c/2-C:I?O-c/2+u.height/2+C:O+c/2+u.height/2-C;break;case"bottom":p=T?I?O-c+C:O+c-C:I?O-c+u.height+v+C:O+c-u.height/2+v-C;break;case"top":p=T?I?O+C:O-C:I?O-u.height/2-C:O+u.height+C}if(this.barCtx.lastActiveBarSerieIndex===a&&m.enabled){var X=new G(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:a,j:s}),f.fontSize);r=I?O-X.height/2-C-m.offsetY+18:O+X.height+C+m.offsetY-18;var H=M;n=k+(t.globals.isXNumeric?-d*t.globals.barGroups.length/2:t.globals.barGroups.length*d/2-(t.globals.barGroups.length-1)*d-H)+m.offsetX}return t.config.chart.stacked||(p<0?p=0+v:p+u.height/3>t.globals.gridHeight&&(p=t.globals.gridHeight-v)),{bcx:h,bcy:l,dataLabelsX:g,dataLabelsY:p,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(e){var t=this.w,i=e.x,s=e.i,a=e.j,r=e.realIndex,n=e.bcy,l=e.barHeight,h=e.barWidth,d=e.textRects,c=e.dataLabelsX,u=e.strokeWidth,g=e.dataLabelsConfig,p=e.barDataLabelsConfig,f=e.barTotalDataLabelsConfig,x=e.offX,m=e.offY,v=t.globals.gridHeight/t.globals.dataPoints;h=Math.abs(h);var w,C,k=n-(this.barCtx.isRangeBar?0:v)+l/2+d.height/2+m-3,T="start",A=t.globals.series[s][a]<0,M=i;switch(this.barCtx.isReversed&&(M=i+(A?-h:h),T=A?"start":"end"),p.position){case"center":c=A?M+h/2-x:Math.max(d.width/2,M-h/2)+x;break;case"bottom":c=A?M+h-u-x:M-h+u+x;break;case"top":c=A?M-u-x:M-u+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var I=new G(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:a}),g.fontSize);A?(w=M-u-x-f.offsetX,T="end"):w=M+x+f.offsetX+(this.barCtx.isReversed?-(h+u):u),C=k-d.height/2+I.height/2+f.offsetY+u}return t.config.chart.stacked||(g.textAnchor==="start"?c-d.width<0?c=A?d.width+u:u:c+d.width>t.globals.gridWidth&&(c=A?t.globals.gridWidth-u:t.globals.gridWidth-d.width-u):g.textAnchor==="middle"?c-d.width/2<0?c=d.width/2+u:c+d.width/2>t.globals.gridWidth&&(c=t.globals.gridWidth-d.width/2-u):g.textAnchor==="end"&&(c<1?c=d.width+u:c+1>t.globals.gridWidth&&(c=t.globals.gridWidth-d.width-u))),{bcx:i,bcy:n,dataLabelsX:c,dataLabelsY:k,totalDataLabelsX:w,totalDataLabelsY:C,totalDataLabelsAnchor:T}}},{key:"drawCalculatedDataLabels",value:function(e){var t=e.x,i=e.y,s=e.val,a=e.i,r=e.j,n=e.textRects,l=e.barHeight,h=e.barWidth,d=e.dataLabelsConfig,c=this.w,u="rotate(0)";c.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(u="rotate(-90, ".concat(t,", ").concat(i,")"));var g=new zt(this.barCtx.ctx),p=new G(this.barCtx.ctx),f=d.formatter,x=null,m=c.globals.collapsedSeriesIndices.indexOf(a)>-1;if(d.enabled&&!m){x=p.group({class:"apexcharts-data-labels",transform:u});var v="";s!==void 0&&(v=f(s,Y(Y({},c),{},{seriesIndex:a,dataPointIndex:r,w:c}))),!s&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");var w=c.globals.series[a][r]<0,C=c.config.plotOptions.bar.dataLabels.position;c.config.plotOptions.bar.dataLabels.orientation==="vertical"&&(C==="top"&&(d.textAnchor=w?"end":"start"),C==="center"&&(d.textAnchor="middle"),C==="bottom"&&(d.textAnchor=w?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&hMath.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=Y({},d);this.barCtx.isHorizontal&&s<0&&(d.textAnchor==="start"?k.textAnchor="end":d.textAnchor==="end"&&(k.textAnchor="start")),g.plotDataLabelsText({x:t,y:i,text:v,i:a,j:r,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(e){var t=e.x,i=e.y,s=e.val,a=e.realIndex,r=e.textAnchor,n=e.barTotalDataLabelsConfig;this.w;var l,h=new G(this.barCtx.ctx);return n.enabled&&t!==void 0&&i!==void 0&&this.barCtx.lastActiveBarSerieIndex===a&&(l=h.drawText({x:t,y:i,foreColor:n.style.color,text:s,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),l}}]),o}(),Cn=function(){function o(e){P(this,o),this.w=e.w,this.barCtx=e}return E(o,[{key:"initVariables",value:function(e){var t=this.w;this.barCtx.series=e,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=e[i].length),t.globals.isXNumeric)for(var s=0;st.globals.minX&&t.globals.seriesX[i][s]0&&(s=h.globals.minXDiff/u),(r=s/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}String(this.barCtx.barOptions.columnWidth).indexOf("%")===-1&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e=h.globals.padHorizontal+(s-r*this.barCtx.seriesLen)/2}return h.globals.barHeight=a,h.globals.barWidth=r,{x:e,y:t,yDivision:i,xDivision:s,barHeight:a,barWidth:r,zeroH:n,zeroW:l}}},{key:"initializeStackedPrevVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].prevY=[],e[t].prevX=[],e[t].prevYF=[],e[t].prevXF=[],e[t].prevYVal=[],e[t].prevXVal=[]})}},{key:"initializeStackedXYVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].xArrj=[],e[t].xArrjF=[],e[t].xArrjVal=[],e[t].yArrj=[],e[t].yArrjF=[],e[t].yArrjVal=[]})}},{key:"getPathFillColor",value:function(e,t,i,s){var a,r,n,l,h=this.w,d=this.barCtx.ctx.fill,c=null,u=this.barCtx.barOptions.distributed?i:t;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(function(g){e[t][i]>=g.from&&e[t][i]<=g.to&&(c=g.color)}),d.fillPath({seriesNumber:this.barCtx.barOptions.distributed?u:s,dataPointIndex:i,color:c,value:e[t][i],fillConfig:(a=h.config.series[t].data[i])===null||a===void 0?void 0:a.fill,fillType:(r=h.config.series[t].data[i])!==null&&r!==void 0&&(n=r.fill)!==null&&n!==void 0&&n.type?(l=h.config.series[t].data[i])===null||l===void 0?void 0:l.fill.type:Array.isArray(h.config.fill.type)?h.config.fill.type[s]:h.config.fill.type})}},{key:"getStrokeWidth",value:function(e,t,i){var s=0,a=this.w;return this.barCtx.series[e][t]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,a.config.stroke.show&&(this.barCtx.isNullValue||(s=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),s}},{key:"createBorderRadiusArr",value:function(e){var t,i=this.w,s=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,a=e.length,r=0|((t=e[0])===null||t===void 0?void 0:t.length),n=Array.from({length:a},function(){return Array(r).fill(s?"top":"none")});if(s)return n;for(var l=0;l0?(h.push(u),c++):g<0&&(d.push(u),c++)}if(h.length>0&&d.length===0)if(h.length===1)n[h[0]][l]="both";else{var p,f=h[0],x=h[h.length-1],m=F(h);try{for(m.s();!(p=m.n()).done;){var v=p.value;n[v][l]=v===f?"bottom":v===x?"top":"none"}}catch(q){m.e(q)}finally{m.f()}}else if(d.length>0&&h.length===0)if(d.length===1)n[d[0]][l]="both";else{var w,C=Math.max.apply(Math,d),k=Math.min.apply(Math,d),T=F(d);try{for(T.s();!(w=T.n()).done;){var A=w.value;n[A][l]=A===C?"bottom":A===k?"top":"none"}}catch(q){T.e(q)}finally{T.f()}}else if(h.length>0&&d.length>0){var M,I=h[h.length-1],O=F(h);try{for(O.s();!(M=O.n()).done;){var X=M.value;n[X][l]=X===I?"top":"none"}}catch(q){O.e(q)}finally{O.f()}var H,N=Math.max.apply(Math,d),B=F(d);try{for(B.s();!(H=B.n()).done;){var U=H.value;n[U][l]=U===N?"bottom":"none"}}catch(q){B.e(q)}finally{B.f()}}else c===1&&(n[h[0]||d[0]][l]="both")}return n}},{key:"barBackground",value:function(e){var t=e.j,i=e.i,s=e.x1,a=e.x2,r=e.y1,n=e.y2,l=e.elSeries,h=this.w,d=new G(this.barCtx.ctx),c=new $e(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);var u=this.barCtx.barOptions.colors.backgroundBarColors[t],g=d.drawRect(s!==void 0?s:0,r!==void 0?r:0,a!==void 0?a:h.globals.gridWidth,n!==void 0?n:h.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,u,this.barCtx.barOptions.colors.backgroundBarOpacity);l.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(e){var t,i=e.barWidth,s=e.barXPosition,a=e.y1,r=e.y2,n=e.strokeWidth,l=e.isReversed,h=e.series,d=e.seriesGroup,c=e.realIndex,u=e.i,g=e.j,p=e.w,f=new G(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var x=i,m=s;(t=p.config.series[c].data[g])!==null&&t!==void 0&&t.columnWidthOffset&&(m=s-p.config.series[c].data[g].columnWidthOffset/2,x=i+p.config.series[c].data[g].columnWidthOffset);var v=n/2,w=m+v,C=m+x-v,k=(h[u][g]>=0?1:-1)*(l?-1:1);a+=.001-v*k,r+=.001+v*k;var T=f.move(w,a),A=f.move(w,a),M=f.line(C,a);if(p.globals.previousPaths.length>0&&(A=this.barCtx.getPreviousPath(c,g,!1)),T=T+f.line(w,r)+f.line(C,r)+M+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),A=A+f.line(w,a)+M+M+M+M+M+f.line(w,a)+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),this.arrBorderRadius[c][g]!=="none"&&(T=f.roundPathCorners(T,p.config.plotOptions.bar.borderRadius)),p.config.chart.stacked){var I=this.barCtx;(I=this.barCtx[d]).yArrj.push(r-v*k),I.yArrjF.push(Math.abs(a-r+n*k)),I.yArrjVal.push(this.barCtx.series[u][g])}return{pathTo:T,pathFrom:A}}},{key:"getBarpaths",value:function(e){var t,i=e.barYPosition,s=e.barHeight,a=e.x1,r=e.x2,n=e.strokeWidth,l=e.isReversed,h=e.series,d=e.seriesGroup,c=e.realIndex,u=e.i,g=e.j,p=e.w,f=new G(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var x=i,m=s;(t=p.config.series[c].data[g])!==null&&t!==void 0&&t.barHeightOffset&&(x=i-p.config.series[c].data[g].barHeightOffset/2,m=s+p.config.series[c].data[g].barHeightOffset);var v=n/2,w=x+v,C=x+m-v,k=(h[u][g]>=0?1:-1)*(l?-1:1);a+=.001+v*k,r+=.001-v*k;var T=f.move(a,w),A=f.move(a,w);p.globals.previousPaths.length>0&&(A=this.barCtx.getPreviousPath(c,g,!1));var M=f.line(a,C);if(T=T+f.line(r,w)+f.line(r,C)+M+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),A=A+f.line(a,w)+M+M+M+M+M+f.line(a,w)+(p.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[c][g]==="both"?" Z":" z"),this.arrBorderRadius[c][g]!=="none"&&(T=f.roundPathCorners(T,p.config.plotOptions.bar.borderRadius)),p.config.chart.stacked){var I=this.barCtx;(I=this.barCtx[d]).xArrj.push(r+v*k),I.xArrjF.push(Math.abs(a-r-n*k)),I.xArrjVal.push(this.barCtx.series[u][g])}return{pathTo:T,pathFrom:A}}},{key:"checkZeroSeries",value:function(e){for(var t=e.series,i=this.w,s=0;s2&&arguments[2]!==void 0)||arguments[2]?t:null;return e!=null&&(i=t+e/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?e/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(e,t,i){var s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3]?t:null;return e!=null&&(s=t-e/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?e/this.barCtx.yRatio[i]:0)),s}},{key:"getGoalValues",value:function(e,t,i,s,a,r){var n=this,l=this.w,h=[],d=function(g,p){var f;h.push((W(f={},e,e==="x"?n.getXForValue(g,t,!1):n.getYForValue(g,i,r,!1)),W(f,"attrs",p),f))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][a]&&Array.isArray(l.globals.seriesGoals[s][a])&&l.globals.seriesGoals[s][a].forEach(function(g){d(g.value,g)}),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var c=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,u={strokeHeight:e==="x"?0:l.globals.markers.size[s],strokeWidth:e==="x"?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(c[s])?c[s][0]:c[s]};d(l.globals.seriesRangeStart[s][a],u),d(l.globals.seriesRangeEnd[s][a],Y(Y({},u),{},{strokeColor:Array.isArray(c[s])?c[s][1]:c[s]}))}return h}},{key:"drawGoalLine",value:function(e){var t=e.barXPosition,i=e.barYPosition,s=e.goalX,a=e.goalY,r=e.barWidth,n=e.barHeight,l=new G(this.barCtx.ctx),h=l.group({className:"apexcharts-bar-goals-groups"});h.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:h.node}),h.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var d=null;return this.barCtx.isHorizontal?Array.isArray(s)&&s.forEach(function(c){if(c.x>=-1&&c.x<=l.w.globals.gridWidth+1){var u=c.attrs.strokeHeight!==void 0?c.attrs.strokeHeight:n/2,g=i+u+n/2;d=l.drawLine(c.x,g-2*u,c.x,g,c.attrs.strokeColor?c.attrs.strokeColor:void 0,c.attrs.strokeDashArray,c.attrs.strokeWidth?c.attrs.strokeWidth:2,c.attrs.strokeLineCap),h.add(d)}}):Array.isArray(a)&&a.forEach(function(c){if(c.y>=-1&&c.y<=l.w.globals.gridHeight+1){var u=c.attrs.strokeWidth!==void 0?c.attrs.strokeWidth:r/2,g=t+u+r/2;d=l.drawLine(g-2*u,c.y,g,c.y,c.attrs.strokeColor?c.attrs.strokeColor:void 0,c.attrs.strokeDashArray,c.attrs.strokeHeight?c.attrs.strokeHeight:2,c.attrs.strokeLineCap),h.add(d)}}),h}},{key:"drawBarShadow",value:function(e){var t=e.prevPaths,i=e.currPaths,s=e.color,a=this.w,r=t.x,n=t.x1,l=t.barYPosition,h=i.x,d=i.x1,c=i.barYPosition,u=l+i.barHeight,g=new G(this.barCtx.ctx),p=new R,f=g.move(n,u)+g.line(r,u)+g.line(h,c)+g.line(d,c)+g.line(n,u)+(a.config.plotOptions.bar.borderRadiusApplication==="around"||this.arrBorderRadius[realIndex][j]==="both"?" Z":" z");return g.drawPath({d:f,fill:p.shadeColor(.5,R.rgb2hex(s)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}},{key:"getZeroValueEncounters",value:function(e){var t,i=e.i,s=e.j,a=this.w,r=0,n=0;return(a.config.plotOptions.bar.horizontal?a.globals.series.map(function(l,h){return h}):((t=a.globals.columnSeries)===null||t===void 0?void 0:t.i.map(function(l){return l}))||[]).forEach(function(l){var h=a.globals.seriesPercent[l][s];h&&r++,l-1}),s=this.barCtx.columnGroupIndices,a=s.indexOf(i);return a<0&&(s.push(i),a=s.length-1),{groupIndex:i,columnGroupIndex:a}}}]),o}(),Xt=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.isRangeBar=i.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&i.globals.seriesRange.length&&i.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=t,this.xyRatios!==null&&(this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.invertedXRatio=t.invertedXRatio,this.invertedYRatio=t.invertedYRatio,this.baseLineY=t.baseLineY,this.baseLineInvertedY=t.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var s=new $e(this.ctx);this.lastActiveBarSerieIndex=s.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var a=s.getBarSeriesIndices(),r=new Pe(this.ctx);this.stackedSeriesTotals=r.getStackedSeriesTotals(this.w.config.series.map(function(n,l){return a.indexOf(l)===-1?l:-1}).filter(function(n){return n!==-1})),this.barHelpers=new Cn(this)}return E(o,[{key:"draw",value:function(e,t){var i=this.w,s=new G(this.ctx),a=new Pe(this.ctx,i);e=a.getLogSeries(e),this.series=e,this.yRatio=a.getLogYRatios(this.yRatio),this.barHelpers.initVariables(e);var r=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var C=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[m],this.translationsIndex=m);var T=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var A=this.barHelpers.initialPositions();p=A.y,C=A.barHeight,d=A.yDivision,u=A.zeroW,g=A.x,k=A.barWidth,h=A.xDivision,c=A.zeroH,this.isHorizontal||x.push(g+k/2);var M=s.group({class:"apexcharts-datalabels","data:realIndex":m});i.globals.delayedElements.push({el:M.node}),M.node.classList.add("apexcharts-element-hidden");var I=s.group({class:"apexcharts-bar-goals-markers"}),O=s.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:O.node}),O.node.classList.add("apexcharts-element-hidden");for(var X=0;X0){var q=this.barHelpers.drawBarShadow({color:typeof U=="string"&&(U==null?void 0:U.indexOf("url"))===-1?U:R.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:N});O.add(q),i.config.chart.dropShadow.enabled&&new Re(this.ctx).dropShadow(q,i.config.chart.dropShadow,m)}this.pathArr.push(N);var $=this.barHelpers.drawGoalLine({barXPosition:N.barXPosition,barYPosition:N.barYPosition,goalX:N.goalX,goalY:N.goalY,barHeight:C,barWidth:k});$&&I.add($),p=N.y,g=N.x,X>0&&x.push(g+k/2),f.push(p),this.renderSeries({realIndex:m,pathFill:U,j:X,i:n,columnGroupIndex:v,pathFrom:N.pathFrom,pathTo:N.pathTo,strokeWidth:H,elSeries:w,x:g,y:p,series:e,barHeight:Math.abs(N.barHeight?N.barHeight:C),barWidth:Math.abs(N.barWidth?N.barWidth:k),elDataLabelsWrap:M,elGoalsMarkers:I,elBarShadows:O,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[m]=x,i.globals.seriesYvalues[m]=f,r.add(w)}return r}},{key:"renderSeries",value:function(e){var t=e.realIndex,i=e.pathFill,s=e.lineFill,a=e.j,r=e.i,n=e.columnGroupIndex,l=e.pathFrom,h=e.pathTo,d=e.strokeWidth,c=e.elSeries,u=e.x,g=e.y,p=e.y1,f=e.y2,x=e.series,m=e.barHeight,v=e.barWidth,w=e.barXPosition,C=e.barYPosition,k=e.elDataLabelsWrap,T=e.elGoalsMarkers,A=e.elBarShadows,M=e.visibleSeries,I=e.type,O=e.classes,X=this.w,H=new G(this.ctx);if(!s){var N=typeof X.globals.stroke.colors[t]=="function"?function(ie){var te,ae=X.config.stroke.colors;return Array.isArray(ae)&&ae.length>0&&((te=ae[ie])||(te=""),typeof te=="function")?te({value:X.globals.series[ie][a],dataPointIndex:a,w:X}):te}(t):X.globals.stroke.colors[t];s=this.barOptions.distributed?X.globals.stroke.colors[a]:N}X.config.series[r].data[a]&&X.config.series[r].data[a].strokeColor&&(s=X.config.series[r].data[a].strokeColor),this.isNullValue&&(i="none");var B=a/X.config.chart.animations.animateGradually.delay*(X.config.chart.animations.speed/X.globals.dataPoints)/2.4,U=H.renderPaths({i:r,j:a,realIndex:t,pathFrom:l,pathTo:h,stroke:s,strokeWidth:d,strokeLineCap:X.config.stroke.lineCap,fill:i,animationDelay:B,initialSpeed:X.config.chart.animations.speed,dataChangeSpeed:X.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(I,"-area ").concat(O),chartType:I});U.attr("clip-path","url(#gridRectBarMask".concat(X.globals.cuid,")"));var q=X.config.forecastDataPoints;q.count>0&&a>=X.globals.dataPoints-q.count&&(U.node.setAttribute("stroke-dasharray",q.dashArray),U.node.setAttribute("stroke-width",q.strokeWidth),U.node.setAttribute("fill-opacity",q.fillOpacity)),p!==void 0&&f!==void 0&&(U.attr("data-range-y1",p),U.attr("data-range-y2",f)),new Re(this.ctx).setSelectionFilter(U,t,a),c.add(U);var $=new Sn(this).handleBarDataLabels({x:u,y:g,y1:p,y2:f,i:r,j:a,series:x,realIndex:t,columnGroupIndex:n,barHeight:m,barWidth:v,barXPosition:w,barYPosition:C,renderedPath:U,visibleSeries:M});return $.dataLabels!==null&&k.add($.dataLabels),$.totalDataLabels&&k.add($.totalDataLabels),c.add(k),T&&c.add(T),A&&c.add(A),c}},{key:"drawBarPaths",value:function(e){var t,i=e.indexes,s=e.barHeight,a=e.strokeWidth,r=e.zeroW,n=e.x,l=e.y,h=e.yDivision,d=e.elSeries,c=this.w,u=i.i,g=i.j;if(c.globals.isXNumeric)t=(l=(c.globals.seriesX[u][g]-c.globals.minX)/this.invertedXRatio-s)+s*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var p=0,f=0;c.globals.seriesPercent.forEach(function(m,v){m[g]&&p++,v0&&(s=this.seriesLen*s/p),t=l+s*this.visibleI,t-=s*f}else t=l+s*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[u][g],r)-r)/2),n=this.barHelpers.getXForValue(this.series[u][g],r);var x=this.barHelpers.getBarpaths({barYPosition:t,barHeight:s,x1:r,x2:n,strokeWidth:a,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:u,j:g,w:c});return c.globals.isXNumeric||(l+=h),this.barHelpers.barBackground({j:g,i:u,y1:t-s*this.visibleI,y2:s*this.seriesLen,elSeries:d}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x1:r,x:n,y:l,goalX:this.barHelpers.getGoalValues("x",r,null,u,g),barYPosition:t,barHeight:s}}},{key:"drawColumnPaths",value:function(e){var t,i=e.indexes,s=e.x,a=e.y,r=e.xDivision,n=e.barWidth,l=e.zeroH,h=e.strokeWidth,d=e.elSeries,c=this.w,u=i.realIndex,g=i.translationsIndex,p=i.i,f=i.j,x=i.bc;if(c.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:s,j:f,realIndex:u,barWidth:n});s=m.x,t=m.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var v=this.barHelpers.getZeroValueEncounters({i:p,j:f}),w=v.nonZeroColumns,C=v.zeroEncounters;w>0&&(n=this.seriesLen*n/w),t=s+n*this.visibleI,t-=n*C}else t=s+n*this.visibleI;a=this.barHelpers.getYForValue(this.series[p][f],l,g);var k=this.barHelpers.getColumnPaths({barXPosition:t,barWidth:n,y1:l,y2:a,strokeWidth:h,isReversed:this.isReversed,series:this.series,realIndex:u,i:p,j:f,w:c});return c.globals.isXNumeric||(s+=r),this.barHelpers.barBackground({bc:x,j:f,i:p,x1:t-h/2-n*this.visibleI,x2:n*this.seriesLen+h/2,elSeries:d}),{pathTo:k.pathTo,pathFrom:k.pathFrom,x:s,y:a,goalY:this.barHelpers.getGoalValues("y",null,l,p,f,g),barXPosition:t,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(e){var t=e.x,i=e.barWidth,s=e.realIndex,a=e.j,r=this.w,n=s;return r.globals.seriesX[s].length||(n=r.globals.maxValsInArrayIndex),R.isNumber(r.globals.seriesX[n][a])&&(t=(r.globals.seriesX[n][a]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:t+i*this.visibleI,x:t}}},{key:"getPreviousPath",value:function(e,t){for(var i,s=this.w,a=0;a0&&parseInt(r.realIndex,10)===parseInt(e,10)&&s.globals.previousPaths[a].paths[t]!==void 0&&(i=s.globals.previousPaths[a].paths[t].d)}return i}}]),o}(),Ca=function(o){Z(t,o);var e=D(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s){var a=this,r=this.w;this.graphics=new G(this.ctx),this.bar=new Xt(this.ctx,this.xyRatios);var n=new Pe(this.ctx,r);i=n.getLogSeries(i),this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i),r.config.chart.stackType==="100%"&&(i=r.globals.comboCharts?s.map(function(p){return r.globals.seriesPercent[p]}):r.globals.seriesPercent.slice()),this.series=i,this.barHelpers.initializeStackedPrevVars(this);for(var l=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),h=0,d=0,c=function(p,f){var x=void 0,m=void 0,v=void 0,w=void 0,C=r.globals.comboCharts?s[p]:p,k=a.barHelpers.getGroupIndex(C),T=k.groupIndex,A=k.columnGroupIndex;a.groupCtx=a[r.globals.seriesGroups[T]];var M=[],I=[],O=0;a.yRatio.length>1&&(a.yaxisIndex=r.globals.seriesYAxisReverseMap[C][0],O=C),a.isReversed=r.config.yaxis[a.yaxisIndex]&&r.config.yaxis[a.yaxisIndex].reversed;var X=a.graphics.group({class:"apexcharts-series",seriesName:R.escapeString(r.globals.seriesNames[C]),rel:p+1,"data:realIndex":C});a.ctx.series.addCollapsedClassToSeries(X,C);var H=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":C}),N=a.graphics.group({class:"apexcharts-bar-goals-markers"}),B=0,U=0,q=a.initialPositions(h,d,x,m,v,w,O);d=q.y,B=q.barHeight,m=q.yDivision,w=q.zeroW,h=q.x,U=q.barWidth,x=q.xDivision,v=q.zeroH,r.globals.barHeight=B,r.globals.barWidth=U,a.barHelpers.initializeStackedXYVars(a),a.groupCtx.prevY.length===1&&a.groupCtx.prevY[0].every(function(Oe){return isNaN(Oe)})&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map(function(){return v}),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map(function(){return 0}));for(var $=0;$0||a.barHelpers.arrBorderRadius[C][$]==="top"&&r.globals.series[C][$]<0)&&(Ce=ye),X=a.renderSeries({realIndex:C,pathFill:Se,j:$,i:p,columnGroupIndex:A,pathFrom:ae.pathFrom,pathTo:ae.pathTo,strokeWidth:ie,elSeries:X,x:h,y:d,series:i,barHeight:B,barWidth:U,elDataLabelsWrap:H,elGoalsMarkers:N,type:"bar",visibleSeries:A,classes:Ce})}r.globals.seriesXvalues[C]=M,r.globals.seriesYvalues[C]=I,a.groupCtx.prevY.push(a.groupCtx.yArrj),a.groupCtx.prevYF.push(a.groupCtx.yArrjF),a.groupCtx.prevYVal.push(a.groupCtx.yArrjVal),a.groupCtx.prevX.push(a.groupCtx.xArrj),a.groupCtx.prevXF.push(a.groupCtx.xArrjF),a.groupCtx.prevXVal.push(a.groupCtx.xArrjVal),l.add(X)},u=0,g=0;u1?c=(a=u.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:String(p).indexOf("%")===-1?c=parseInt(p,10):c*=parseInt(p,10)/100,n=this.isReversed?this.baseLineY[h]:u.globals.gridHeight-this.baseLineY[h],i=u.globals.padHorizontal+(a-c)/2}var f=u.globals.barGroups.length||1;return{x:i,y:s,yDivision:r,xDivision:a,barHeight:d/f,barWidth:c/f,zeroH:n,zeroW:l}}},{key:"drawStackedBarPaths",value:function(i){for(var s,a=i.indexes,r=i.barHeight,n=i.strokeWidth,l=i.zeroW,h=i.x,d=i.y,c=i.columnGroupIndex,u=i.seriesGroup,g=i.yDivision,p=i.elSeries,f=this.w,x=d+c*r,m=a.i,v=a.j,w=a.realIndex,C=a.translationsIndex,k=0,T=0;T0){var M=l;this.groupCtx.prevXVal[A-1][v]<0?M=this.series[m][v]>=0?this.groupCtx.prevX[A-1][v]+k-2*(this.isReversed?k:0):this.groupCtx.prevX[A-1][v]:this.groupCtx.prevXVal[A-1][v]>=0&&(M=this.series[m][v]>=0?this.groupCtx.prevX[A-1][v]:this.groupCtx.prevX[A-1][v]-k+2*(this.isReversed?k:0)),s=M}else s=l;h=this.series[m][v]===null?s:s+this.series[m][v]/this.invertedYRatio-2*(this.isReversed?this.series[m][v]/this.invertedYRatio:0);var I=this.barHelpers.getBarpaths({barYPosition:x,barHeight:r,x1:s,x2:h,strokeWidth:n,isReversed:this.isReversed,series:this.series,realIndex:a.realIndex,seriesGroup:u,i:m,j:v,w:f});return this.barHelpers.barBackground({j:v,i:m,y1:x,y2:r,elSeries:p}),d+=g,{pathTo:I.pathTo,pathFrom:I.pathFrom,goalX:this.barHelpers.getGoalValues("x",l,null,m,v,C),barXPosition:s,barYPosition:x,x:h,y:d}}},{key:"drawStackedColumnPaths",value:function(i){var s=i.indexes,a=i.x,r=i.y,n=i.xDivision,l=i.barWidth,h=i.zeroH,d=i.columnGroupIndex,c=i.seriesGroup,u=i.elSeries,g=this.w,p=s.i,f=s.j,x=s.bc,m=s.realIndex,v=s.translationsIndex;if(g.globals.isXNumeric){var w=g.globals.seriesX[m][f];w||(w=0),a=(w-g.globals.minX)/this.xRatio-l/2*g.globals.barGroups.length}for(var C,k=a+d*l,T=0,A=0;A0&&!g.globals.isXNumeric||M>0&&g.globals.isXNumeric&&g.globals.seriesX[m-1][f]===g.globals.seriesX[m][f]){var I,O,X,H=Math.min(this.yRatio.length+1,m+1);if(this.groupCtx.prevY[M-1]!==void 0&&this.groupCtx.prevY[M-1].length)for(var N=1;N=0?X-T+2*(this.isReversed?T:0):X;break}if((($=this.groupCtx.prevYVal[M-U])===null||$===void 0?void 0:$[f])>=0){O=this.series[p][f]>=0?X:X+T-2*(this.isReversed?T:0);break}}O===void 0&&(O=g.globals.gridHeight),C=(I=this.groupCtx.prevYF[0])!==null&&I!==void 0&&I.every(function(te){return te===0})&&this.groupCtx.prevYF.slice(1,M).every(function(te){return te.every(function(ae){return isNaN(ae)})})?h:O}else C=h;r=this.series[p][f]?C-this.series[p][f]/this.yRatio[v]+2*(this.isReversed?this.series[p][f]/this.yRatio[v]:0):C;var ie=this.barHelpers.getColumnPaths({barXPosition:k,barWidth:l,y1:C,y2:r,yRatio:this.yRatio[v],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:c,realIndex:s.realIndex,i:p,j:f,w:g});return this.barHelpers.barBackground({bc:x,j:f,i:p,x1:k,x2:l,elSeries:u}),{pathTo:ie.pathTo,pathFrom:ie.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,h,p,f),barXPosition:k,x:g.globals.isXNumeric?a:a+n,y:r}}}]),t}(Xt),cs=function(o){Z(t,o);var e=D(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s,a){var r=this,n=this.w,l=new G(this.ctx),h=n.globals.comboCharts?s:n.config.chart.type,d=new et(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=n.config.plotOptions.bar.horizontal;var c=new Pe(this.ctx,n);i=c.getLogSeries(i),this.series=i,this.yRatio=c.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i);for(var u=l.group({class:"apexcharts-".concat(h,"-series apexcharts-plot-series")}),g=function(f){r.isBoxPlot=n.config.chart.type==="boxPlot"||n.config.series[f].type==="boxPlot";var x,m,v,w,C=void 0,k=void 0,T=[],A=[],M=n.globals.comboCharts?a[f]:f,I=r.barHelpers.getGroupIndex(M).columnGroupIndex,O=l.group({class:"apexcharts-series",seriesName:R.escapeString(n.globals.seriesNames[M]),rel:f+1,"data:realIndex":M});r.ctx.series.addCollapsedClassToSeries(O,M),i[f].length>0&&(r.visibleI=r.visibleI+1);var X,H,N=0;r.yRatio.length>1&&(r.yaxisIndex=n.globals.seriesYAxisReverseMap[M][0],N=M);var B=r.barHelpers.initialPositions();k=B.y,X=B.barHeight,m=B.yDivision,w=B.zeroW,C=B.x,H=B.barWidth,x=B.xDivision,v=B.zeroH,A.push(C+H/2);for(var U=l.group({class:"apexcharts-datalabels","data:realIndex":M}),q=l.group({class:"apexcharts-bar-goals-markers"}),$=function(te){var ae=r.barHelpers.getStrokeWidth(f,te,M),se=null,Se={indexes:{i:f,j:te,realIndex:M,translationsIndex:N},x:C,y:k,strokeWidth:ae,elSeries:O};se=r.isHorizontal?r.drawHorizontalBoxPaths(Y(Y({},Se),{},{yDivision:m,barHeight:X,zeroW:w})):r.drawVerticalBoxPaths(Y(Y({},Se),{},{xDivision:x,barWidth:H,zeroH:v})),k=se.y,C=se.x;var Ce=r.barHelpers.drawGoalLine({barXPosition:se.barXPosition,barYPosition:se.barYPosition,goalX:se.goalX,goalY:se.goalY,barHeight:X,barWidth:H});Ce&&q.add(Ce),te>0&&A.push(C+H/2),T.push(k),se.pathTo.forEach(function(ye,Oe){var ge=!r.isBoxPlot&&r.candlestickOptions.wick.useFillColor?se.color[Oe]:n.globals.stroke.colors[f],ue=d.fillPath({seriesNumber:M,dataPointIndex:te,color:se.color[Oe],value:i[f][te]});r.renderSeries({realIndex:M,pathFill:ue,lineFill:ge,j:te,i:f,pathFrom:se.pathFrom,pathTo:ye,strokeWidth:ae,elSeries:O,x:C,y:k,series:i,columnGroupIndex:I,barHeight:X,barWidth:H,elDataLabelsWrap:U,elGoalsMarkers:q,visibleSeries:r.visibleI,type:n.config.chart.type})})},ie=0;ie0&&(B=this.getPreviousPath(x,g,!0)),N=this.isBoxPlot?[c.move(H,I)+c.line(H+n/2,I)+c.line(H+n/2,T)+c.line(H+n/4,T)+c.line(H+n-n/4,T)+c.line(H+n/2,T)+c.line(H+n/2,I)+c.line(H+n,I)+c.line(H+n,X)+c.line(H,X)+c.line(H,I+h/2),c.move(H,X)+c.line(H+n,X)+c.line(H+n,O)+c.line(H+n/2,O)+c.line(H+n/2,A)+c.line(H+n-n/4,A)+c.line(H+n/4,A)+c.line(H+n/2,A)+c.line(H+n/2,O)+c.line(H,O)+c.line(H,X)+"z"]:[c.move(H,O)+c.line(H+n/2,O)+c.line(H+n/2,T)+c.line(H+n/2,O)+c.line(H+n,O)+c.line(H+n,I)+c.line(H+n/2,I)+c.line(H+n/2,A)+c.line(H+n/2,I)+c.line(H,I)+c.line(H,O-h/2)],B+=c.move(H,I),d.globals.isXNumeric||(a+=r),{pathTo:N,pathFrom:B,x:a,y:O,goalY:this.barHelpers.getGoalValues("y",null,l,u,g,s.translationsIndex),barXPosition:H,color:M}}},{key:"drawHorizontalBoxPaths",value:function(i){var s=i.indexes;i.x;var a=i.y,r=i.yDivision,n=i.barHeight,l=i.zeroW,h=i.strokeWidth,d=this.w,c=new G(this.ctx),u=s.i,g=s.j,p=this.boxOptions.colors.lower;this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var f=this.invertedYRatio,x=s.realIndex,m=this.getOHLCValue(x,g),v=l,w=l,C=Math.min(m.o,m.c),k=Math.max(m.o,m.c),T=m.m;d.globals.isXNumeric&&(a=(d.globals.seriesX[x][g]-d.globals.minX)/this.invertedXRatio-n/2);var A=a+n*this.visibleI;this.series[u][g]===void 0||this.series[u][g]===null?(C=l,k=l):(C=l+C/f,k=l+k/f,v=l+m.h/f,w=l+m.l/f,T=l+m.m/f);var M=c.move(l,A),I=c.move(C,A+n/2);return d.globals.previousPaths.length>0&&(I=this.getPreviousPath(x,g,!0)),M=[c.move(C,A)+c.line(C,A+n/2)+c.line(v,A+n/2)+c.line(v,A+n/2-n/4)+c.line(v,A+n/2+n/4)+c.line(v,A+n/2)+c.line(C,A+n/2)+c.line(C,A+n)+c.line(T,A+n)+c.line(T,A)+c.line(C+h/2,A),c.move(T,A)+c.line(T,A+n)+c.line(k,A+n)+c.line(k,A+n/2)+c.line(w,A+n/2)+c.line(w,A+n-n/4)+c.line(w,A+n/4)+c.line(w,A+n/2)+c.line(k,A+n/2)+c.line(k,A)+c.line(T,A)+"z"],I+=c.move(C,A),d.globals.isXNumeric||(a+=r),{pathTo:M,pathFrom:I,x:k,y:a,goalX:this.barHelpers.getGoalValues("x",l,null,u,g),barYPosition:A,color:p}}},{key:"getOHLCValue",value:function(i,s){var a=this.w,r=new Pe(this.ctx,a),n=r.getLogValAtSeriesIndex(a.globals.seriesCandleH[i][s],i),l=r.getLogValAtSeriesIndex(a.globals.seriesCandleO[i][s],i),h=r.getLogValAtSeriesIndex(a.globals.seriesCandleM[i][s],i),d=r.getLogValAtSeriesIndex(a.globals.seriesCandleC[i][s],i),c=r.getLogValAtSeriesIndex(a.globals.seriesCandleL[i][s],i);return{o:this.isBoxPlot?n:l,h:this.isBoxPlot?l:n,m:h,l:this.isBoxPlot?d:c,c:this.isBoxPlot?c:d}}}]),t}(Xt),La=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"checkColorRange",value:function(){var e=this.w,t=!1,i=e.config.plotOptions[e.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map(function(s,a){s.from<=0&&(t=!0)}),t}},{key:"getShadeColor",value:function(e,t,i,s){var a=this.w,r=1,n=a.config.plotOptions[e].shadeIntensity,l=this.determineColor(e,t,i);a.globals.hasNegs||s?r=a.config.plotOptions[e].reverseNegativeShade?l.percent<0?l.percent/100*(1.25*n):(1-l.percent/100)*(1.25*n):l.percent<=0?1-(1+l.percent/100)*n:(1-l.percent/100)*n:(r=1-l.percent/100,e==="treemap"&&(r=(1-l.percent/100)*(1.25*n)));var h=l.color,d=new R;if(a.config.plotOptions[e].enableShades)if(this.w.config.theme.mode==="dark"){var c=d.shadeColor(-1*r,l.color);h=R.hexToRgba(R.isColorHex(c)?c:R.rgb2hex(c),a.config.fill.opacity)}else{var u=d.shadeColor(r,l.color);h=R.hexToRgba(R.isColorHex(u)?u:R.rgb2hex(u),a.config.fill.opacity)}return{color:h,colorProps:l}}},{key:"determineColor",value:function(e,t,i){var s=this.w,a=s.globals.series[t][i],r=s.config.plotOptions[e],n=r.colorScale.inverse?i:t;r.distributed&&s.config.chart.type==="treemap"&&(n=i);var l=s.globals.colors[n],h=null,d=Math.min.apply(Math,he(s.globals.series[t])),c=Math.max.apply(Math,he(s.globals.series[t]));r.distributed||e!=="heatmap"||(d=s.globals.minY,c=s.globals.maxY),r.colorScale.min!==void 0&&(d=r.colorScale.mins.globals.maxY?r.colorScale.max:s.globals.maxY);var u=Math.abs(c)+Math.abs(d),g=100*a/(u===0?u-1e-6:u);return r.colorScale.ranges.length>0&&r.colorScale.ranges.map(function(p,f){if(a>=p.from&&a<=p.to){l=p.color,h=p.foreColor?p.foreColor:null,d=p.from,c=p.to;var x=Math.abs(c)+Math.abs(d);g=100*a/(x===0?x-1e-6:x)}}),{color:l,foreColor:h,percent:g}}},{key:"calculateDataLabels",value:function(e){var t=e.text,i=e.x,s=e.y,a=e.i,r=e.j,n=e.colorProps,l=e.fontSize,h=this.w.config.dataLabels,d=new G(this.ctx),c=new zt(this.ctx),u=null;if(h.enabled){u=d.group({class:"apexcharts-data-labels"});var g=h.offsetX,p=h.offsetY,f=i+g,x=s+parseFloat(h.style.fontSize)/3+p;c.plotDataLabelsText({x:f,y:x,text:t,i:a,j:r,color:n.foreColor,parent:u,fontSize:l,dataLabelsConfig:h})}return u}},{key:"addListeners",value:function(e){var t=new G(this.ctx);e.node.addEventListener("mouseenter",t.pathMouseEnter.bind(this,e)),e.node.addEventListener("mouseleave",t.pathMouseLeave.bind(this,e)),e.node.addEventListener("mousedown",t.pathMouseDown.bind(this,e))}}]),o}(),Ln=function(){function o(e,t){P(this,o),this.ctx=e,this.w=e.w,this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new La(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return E(o,[{key:"draw",value:function(e){var t=this.w,i=new G(this.ctx),s=i.group({class:"apexcharts-heatmap"});s.attr("clip-path","url(#gridRectMask".concat(t.globals.cuid,")"));var a=t.globals.gridWidth/t.globals.dataPoints,r=t.globals.gridHeight/t.globals.series.length,n=0,l=!1;this.negRange=this.helpers.checkColorRange();var h=e.slice();t.config.yaxis[0].reversed&&(l=!0,h.reverse());for(var d=l?0:h.length-1;l?d=0;l?d++:d--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:R.escapeString(t.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});if(this.ctx.series.addCollapsedClassToSeries(c,d),t.config.chart.dropShadow.enabled){var u=t.config.chart.dropShadow;new Re(this.ctx).dropShadow(c,u,d)}for(var g=0,p=t.config.plotOptions.heatmap.shadeIntensity,f=0,x=0;x=h[d].length)break;var m=this.helpers.getShadeColor(t.config.chart.type,d,f,this.negRange),v=m.color,w=m.colorProps;t.config.fill.type==="image"&&(v=new et(this.ctx).fillPath({seriesNumber:d,dataPointIndex:f,opacity:t.globals.hasNegs?w.percent<0?1-(1+w.percent/100):p+w.percent/100:w.percent/100,patternID:R.randomId(),width:t.config.fill.image.width?t.config.fill.image.width:a,height:t.config.fill.image.height?t.config.fill.image.height:r}));var C=this.rectRadius,k=i.drawRect(g,n,a,r,C);if(k.attr({cx:g,cy:n}),k.node.classList.add("apexcharts-heatmap-rect"),c.add(k),k.attr({fill:v,i:d,index:d,j:f,val:e[d][f],"stroke-width":this.strokeWidth,stroke:t.config.plotOptions.heatmap.useFillColorAsStroke?v:t.globals.stroke.colors[0],color:v}),this.helpers.addListeners(k),t.config.chart.animations.enabled&&!t.globals.dataChanged){var T=1;t.globals.resized||(T=t.config.chart.animations.speed),this.animateHeatMap(k,g,n,a,r,T)}if(t.globals.dataChanged){var A=1;if(this.dynamicAnim.enabled&&t.globals.shouldAnimate){A=this.dynamicAnim.speed;var M=t.globals.previousPaths[d]&&t.globals.previousPaths[d][f]&&t.globals.previousPaths[d][f].color;M||(M="rgba(255, 255, 255, 0)"),this.animateHeatColor(k,R.isColorHex(M)?M:R.rgb2hex(M),R.isColorHex(v)?v:R.rgb2hex(v),A)}}var I=(0,t.config.dataLabels.formatter)(t.globals.series[d][f],{value:t.globals.series[d][f],seriesIndex:d,dataPointIndex:f,w:t}),O=this.helpers.calculateDataLabels({text:I,x:g+a/2,y:n+r/2,i:d,j:f,colorProps:w,series:h});O!==null&&c.add(O),g+=a,f++}n+=r,s.add(c)}var X=t.globals.yAxisScale[0].result.slice();return t.config.yaxis[0].reversed?X.unshift(""):X.push(""),t.globals.yAxisScale[0].result=X,s}},{key:"animateHeatMap",value:function(e,t,i,s,a,r){var n=new He(this.ctx);n.animateRect(e,{x:t+s/2,y:i+a/2,width:0,height:0},{x:t,y:i,width:s,height:a},r,function(){n.animationCompleted(e)})}},{key:"animateHeatColor",value:function(e,t,i,s){e.attr({fill:t}).animate(s).attr({fill:i})}}]),o}(),Ma=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"drawYAxisTexts",value:function(e,t,i,s){var a=this.w,r=a.config.yaxis[0],n=a.globals.yLabelFormatters[0];return new G(this.ctx).drawText({x:e+r.labels.offsetX,y:t+r.labels.offsetY,text:n(s,i),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[i]:r.labels.style.colors})}}]),o}(),Pa=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w;var t=this.w;this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=t.globals.stroke.colors!==void 0?t.globals.stroke.colors:t.globals.colors,this.defaultSize=Math.min(t.globals.gridWidth,t.globals.gridHeight),this.centerY=this.defaultSize/2,this.centerX=t.globals.gridWidth/2,t.config.chart.type==="radialBar"?this.fullAngle=360:this.fullAngle=Math.abs(t.config.plotOptions.pie.endAngle-t.config.plotOptions.pie.startAngle),this.initialAngle=t.config.plotOptions.pie.startAngle%this.fullAngle,t.globals.radialSize=this.defaultSize/2.05-t.config.stroke.width-(t.config.chart.sparkline.enabled?0:t.config.chart.dropShadow.blur),this.donutSize=t.globals.radialSize*parseInt(t.config.plotOptions.pie.donut.size,10)/100;var i=t.config.plotOptions.pie.customScale,s=t.globals.gridWidth/2,a=t.globals.gridHeight/2;this.translateX=s-s*i,this.translateY=a-a*i,this.dataLabelsGroup=new G(this.ctx).group({class:"apexcharts-datalabels-group",transform:"translate(".concat(this.translateX,", ").concat(this.translateY,") scale(").concat(i,")")}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSectorAngleArr=[]}return E(o,[{key:"draw",value:function(e){var t=this,i=this.w,s=new G(this.ctx),a=s.group({class:"apexcharts-pie"});if(i.globals.noData)return a;for(var r=0,n=0;n-1&&this.pieClicked(u),i.config.dataLabels.enabled){var k=w.x,T=w.y,A=100*p/this.fullAngle+"%";if(p!==0&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?t.endAngle=t.endAngle-(s+n):s+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(d=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(d)>this.fullAngle&&(d-=this.fullAngle);var c=Math.PI*(d-90)/180,u=i.centerX+r*Math.cos(h),g=i.centerY+r*Math.sin(h),p=i.centerX+r*Math.cos(c),f=i.centerY+r*Math.sin(c),x=R.polarToCartesian(i.centerX,i.centerY,i.donutSize,d),m=R.polarToCartesian(i.centerX,i.centerY,i.donutSize,l),v=a>180?1:0,w=["M",u,g,"A",r,r,0,v,1,p,f];return t=i.chartType==="donut"?[].concat(w,["L",x.x,x.y,"A",i.donutSize,i.donutSize,0,v,0,m.x,m.y,"L",u,g,"z"]).join(" "):i.chartType==="pie"||i.chartType==="polarArea"?[].concat(w,["L",i.centerX,i.centerY,"L",u,g]).join(" "):[].concat(w).join(" "),n.roundPathCorners(t,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(e){var t=this.w,i=new va(this.ctx),s=new G(this.ctx),a=new Ma(this.ctx),r=s.group(),n=s.group(),l=i.niceScale(0,Math.ceil(this.maxY),0),h=l.result.reverse(),d=l.result.length;this.maxY=l.niceMax;for(var c=t.globals.radialSize,u=c/(d-1),g=0;g1&&e.total.show&&(a=e.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),l=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,e.value.formatter)(i,r),s||typeof e.total.formatter!="function"||(i=e.total.formatter(r));var h=t===e.total.label;t=this.donutDataLabels.total.label?e.name.formatter(t,h,r):"",n!==null&&(n.textContent=t),l!==null&&(l.textContent=i),n!==null&&(n.style.fill=a)}},{key:"printDataLabelsInner",value:function(e,t){var i=this.w,s=e.getAttribute("data:value"),a=i.globals.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(t,a,s,e);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");r!==null&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(e){var t=this,i=this.w,s=new G(this.ctx),a=i.config.plotOptions.polarArea.spokes;if(a.strokeWidth!==0){for(var r=[],n=360/i.globals.series.length,l=0;l0&&(T=t.getPreviousPath(m));for(var A=0;A=10?e.x>0?(i="start",s+=10):e.x<0&&(i="end",s-=10):i="middle",Math.abs(e.y)>=t-10&&(e.y<0?a-=10:e.y>0&&(a+=10)),{textAnchor:i,newX:s,newY:a}}},{key:"getPreviousPath",value:function(e){for(var t=this.w,i=null,s=0;s0&&parseInt(a.realIndex,10)===parseInt(e,10)&&t.globals.previousPaths[s].paths[0]!==void 0&&(i=t.globals.previousPaths[s].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.dataPointsLen;e=e||[],t=t||[];for(var s=[],a=0;a=360&&(f=360-Math.abs(this.startAngle)-.1);var x=a.drawPath({d:"",stroke:g,strokeWidth:h*parseInt(u.strokeWidth,10)/100,fill:"none",strokeOpacity:u.opacity,classes:"apexcharts-radialbar-area"});if(u.dropShadow.enabled){var m=u.dropShadow;n.dropShadow(x,m)}c.add(x),x.attr("id","apexcharts-radialbarTrack-"+d),this.animatePaths(x,{centerX:i.centerX,centerY:i.centerY,endAngle:f,startAngle:p,size:i.size,i:d,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return r}},{key:"drawArcs",value:function(i){var s=this.w,a=new G(this.ctx),r=new et(this.ctx),n=new Re(this.ctx),l=a.group(),h=this.getStrokeWidth(i);i.size=i.size-h/2;var d=s.config.plotOptions.radialBar.hollow.background,c=i.size-h*i.series.length-this.margin*i.series.length-h*parseInt(s.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,u=c-s.config.plotOptions.radialBar.hollow.margin;s.config.plotOptions.radialBar.hollow.image!==void 0&&(d=this.drawHollowImage(i,l,c,d));var g=this.drawHollow({size:u,centerX:i.centerX,centerY:i.centerY,fill:d||"transparent"});if(s.config.plotOptions.radialBar.hollow.dropShadow.enabled){var p=s.config.plotOptions.radialBar.hollow.dropShadow;n.dropShadow(g,p)}var f=1;!this.radialDataLabels.total.show&&s.globals.series.length>1&&(f=0);var x=null;if(this.radialDataLabels.show){var m=s.globals.dom.Paper.findOne(".apexcharts-datalabels-group");x=this.renderInnerDataLabels(m,this.radialDataLabels,{hollowSize:c,centerX:i.centerX,centerY:i.centerY,opacity:f})}s.config.plotOptions.radialBar.hollow.position==="back"&&(l.add(g),x&&l.add(x));var v=!1;s.config.plotOptions.radialBar.inverseOrder&&(v=!0);for(var w=v?i.series.length-1:0;v?w>=0:w100?100:i.series[w])/100,I=Math.round(this.totalAngle*M)+this.startAngle,O=void 0;s.globals.dataChanged&&(A=this.startAngle,O=Math.round(this.totalAngle*R.negToZero(s.globals.previousPaths[w])/100)+A),Math.abs(I)+Math.abs(T)>360&&(I-=.01),Math.abs(O)+Math.abs(A)>360&&(O-=.01);var X=I-T,H=Array.isArray(s.config.stroke.dashArray)?s.config.stroke.dashArray[w]:s.config.stroke.dashArray,N=a.drawPath({d:"",stroke:k,strokeWidth:h,fill:"none",fillOpacity:s.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+w,strokeDashArray:H});if(G.setAttrs(N.node,{"data:angle":X,"data:value":i.series[w]}),s.config.chart.dropShadow.enabled){var B=s.config.chart.dropShadow;n.dropShadow(N,B,w)}if(n.setSelectionFilter(N,0,w),this.addListeners(N,this.radialDataLabels),C.add(N),N.attr({index:0,j:w}),this.barLabels.enabled){var U=R.polarToCartesian(i.centerX,i.centerY,i.size,T),q=this.barLabels.formatter(s.globals.seriesNames[w],{seriesIndex:w,w:s}),$=["apexcharts-radialbar-label"];this.barLabels.onClick||$.push("apexcharts-no-click");var ie=this.barLabels.useSeriesColors?s.globals.colors[w]:s.config.chart.foreColor;ie||(ie=s.config.chart.foreColor);var te=U.x+this.barLabels.offsetX,ae=U.y+this.barLabels.offsetY,se=a.drawText({x:te,y:ae,text:q,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:ie,cssClass:$.join(" ")});se.on("click",this.onBarLabelClick),se.attr({rel:w+1}),T!==0&&se.attr({"transform-origin":"".concat(te," ").concat(ae),transform:"rotate(".concat(T," 0 0)")}),C.add(se)}var Se=0;!this.initialAnim||s.globals.resized||s.globals.dataChanged||(Se=s.config.chart.animations.speed),s.globals.dataChanged&&(Se=s.config.chart.animations.dynamicAnimation.speed),this.animDur=Se/(1.2*i.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(N,{centerX:i.centerX,centerY:i.centerY,endAngle:I,startAngle:T,prevEndAngle:O,prevStartAngle:A,size:i.size,i:w,totalItems:2,animBeginArr:this.animBeginArr,dur:Se,shouldSetPrevPaths:!0})}return{g:l,elHollow:g,dataLabels:x}}},{key:"drawHollow",value:function(i){var s=new G(this.ctx).drawCircle(2*i.size);return s.attr({class:"apexcharts-radialbar-hollow",cx:i.centerX,cy:i.centerY,r:i.size,fill:i.fill}),s}},{key:"drawHollowImage",value:function(i,s,a,r){var n=this.w,l=new et(this.ctx),h=R.randomId(),d=n.config.plotOptions.radialBar.hollow.image;if(n.config.plotOptions.radialBar.hollow.imageClipped)l.clippedImgArea({width:a,height:a,image:d,patternID:"pattern".concat(n.globals.cuid).concat(h)}),r="url(#pattern".concat(n.globals.cuid).concat(h,")");else{var c=n.config.plotOptions.radialBar.hollow.imageWidth,u=n.config.plotOptions.radialBar.hollow.imageHeight;if(c===void 0&&u===void 0){var g=n.globals.dom.Paper.image(d,function(f){this.move(i.centerX-f.width/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-f.height/2+n.config.plotOptions.radialBar.hollow.imageOffsetY)});s.add(g)}else{var p=n.globals.dom.Paper.image(d,function(f){this.move(i.centerX-c/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-u/2+n.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(c,u)});s.add(p)}}return r}},{key:"getStrokeWidth",value:function(i){var s=this.w;return i.size*(100-parseInt(s.config.plotOptions.radialBar.hollow.size,10))/100/(i.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(i){var s=parseInt(i.target.getAttribute("rel"),10)-1,a=this.barLabels.onClick,r=this.w;a&&a(r.globals.seriesNames[s],{w:r,seriesIndex:s})}}]),t}(Pa),Tn=function(o){Z(t,o);var e=D(t);function t(){return P(this,t),e.apply(this,arguments)}return E(t,[{key:"draw",value:function(i,s){var a=this.w,r=new G(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=i,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(i);for(var n=r.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),l=0;l0&&(this.visibleI=this.visibleI+1);var v=0,w=0,C=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[f][0],C=f);var k=this.barHelpers.initialPositions();p=k.y,u=k.zeroW,g=k.x,w=k.barWidth,v=k.barHeight,h=k.xDivision,d=k.yDivision,c=k.zeroH;for(var T=r.group({class:"apexcharts-datalabels","data:realIndex":f}),A=r.group({class:"apexcharts-rangebar-goals-markers"}),M=0;M0});return this.isHorizontal?(r=f.config.plotOptions.bar.rangeBarGroupRows?l+u*C:l+d*this.visibleI+u*C,k>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(x=f.globals.seriesRange[s][k].overlaps).indexOf(m)>-1&&(r=(d=p.barHeight/x.length)*this.visibleI+u*(100-parseInt(this.barOptions.barHeight,10))/100/2+d*(this.visibleI+x.indexOf(m))+u*C)):(C>-1&&!f.globals.timescaleLabels.length&&(n=f.config.plotOptions.bar.rangeBarGroupRows?h+g*C:h+c*this.visibleI+g*C),k>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(x=f.globals.seriesRange[s][k].overlaps).indexOf(m)>-1&&(n=(c=p.barWidth/x.length)*this.visibleI+g*(100-parseInt(this.barOptions.barWidth,10))/100/2+c*(this.visibleI+x.indexOf(m))+g*C)),{barYPosition:r,barXPosition:n,barHeight:d,barWidth:c}}},{key:"drawRangeColumnPaths",value:function(i){var s=i.indexes,a=i.x,r=i.xDivision,n=i.barWidth,l=i.barXPosition,h=i.zeroH,d=this.w,c=s.i,u=s.j,g=s.realIndex,p=s.translationsIndex,f=this.yRatio[p],x=this.getRangeValue(g,u),m=Math.min(x.start,x.end),v=Math.max(x.start,x.end);this.series[c][u]===void 0||this.series[c][u]===null?m=h:(m=h-m/f,v=h-v/f);var w=Math.abs(v-m),C=this.barHelpers.getColumnPaths({barXPosition:l,barWidth:n,y1:m,y2:v,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:g,i:g,j:u,w:d});if(d.globals.isXNumeric){var k=this.getBarXForNumericXAxis({x:a,j:u,realIndex:g,barWidth:n});a=k.x,l=k.barXPosition}else a+=r;return{pathTo:C.pathTo,pathFrom:C.pathFrom,barHeight:w,x:a,y:x.start<0&&x.end<0?m:v,goalY:this.barHelpers.getGoalValues("y",null,h,c,u,p),barXPosition:l}}},{key:"preventBarOverflow",value:function(i){var s=this.w;return i<0&&(i=0),i>s.globals.gridWidth&&(i=s.globals.gridWidth),i}},{key:"drawRangeBarPaths",value:function(i){var s=i.indexes,a=i.y,r=i.y1,n=i.y2,l=i.yDivision,h=i.barHeight,d=i.barYPosition,c=i.zeroW,u=this.w,g=s.realIndex,p=s.j,f=this.preventBarOverflow(c+r/this.invertedYRatio),x=this.preventBarOverflow(c+n/this.invertedYRatio),m=this.getRangeValue(g,p),v=Math.abs(x-f),w=this.barHelpers.getBarpaths({barYPosition:d,barHeight:h,x1:f,x2:x,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:g,realIndex:g,j:p,w:u});return u.globals.isXNumeric||(a+=l),{pathTo:w.pathTo,pathFrom:w.pathFrom,barWidth:v,x:m.start<0&&m.end<0?f:x,goalX:this.barHelpers.getGoalValues("x",c,null,g,p),y:a}}},{key:"getRangeValue",value:function(i,s){var a=this.w;return{start:a.globals.seriesRangeStart[i][s],end:a.globals.seriesRangeEnd[i][s]}}}]),t}(Xt),En=function(){function o(e){P(this,o),this.w=e.w,this.lineCtx=e}return E(o,[{key:"sameValueSeriesFix",value:function(e,t){var i=this.w;if((i.config.fill.type==="gradient"||i.config.fill.type[e]==="gradient")&&new Pe(this.lineCtx.ctx,i).seriesHaveSameValues(e)){var s=t[e].slice();s[s.length-1]=s[s.length-1]+1e-6,t[e]=s}return t}},{key:"calculatePoints",value:function(e){var t=e.series,i=e.realIndex,s=e.x,a=e.y,r=e.i,n=e.j,l=e.prevY,h=this.w,d=[],c=[];if(n===0){var u=this.lineCtx.categoryAxisCorrection+h.config.markers.offsetX;h.globals.isXNumeric&&(u=(h.globals.seriesX[i][0]-h.globals.minX)/this.lineCtx.xRatio+h.config.markers.offsetX),d.push(u),c.push(R.isNumber(t[r][0])?l+h.config.markers.offsetY:null),d.push(s+h.config.markers.offsetX),c.push(R.isNumber(t[r][n+1])?a+h.config.markers.offsetY:null)}else d.push(s+h.config.markers.offsetX),c.push(R.isNumber(t[r][n+1])?a+h.config.markers.offsetY:null);return{x:d,y:c}}},{key:"checkPreviousPaths",value:function(e){for(var t=e.pathFromLine,i=e.pathFromArea,s=e.realIndex,a=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(s,10)&&(n.type==="line"?(this.lineCtx.appendPathFrom=!1,t=a.globals.previousPaths[r].paths[0].d):n.type==="area"&&(this.lineCtx.appendPathFrom=!1,i=a.globals.previousPaths[r].paths[0].d,a.config.stroke.show&&a.globals.previousPaths[r].paths[1]&&(t=a.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:t,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(e){var t,i,s,a=e.i,r=e.realIndex,n=e.series,l=e.prevY,h=e.lineYPosition,d=e.translationsIndex,c=this.w,u=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[r])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[r])===null||i===void 0?void 0:i.type)==="column");if(((s=n[a])===null||s===void 0?void 0:s[0])!==void 0)l=(h=u&&a>0?this.lineCtx.prevSeriesY[a-1][0]:this.lineCtx.zeroY)-n[a][0]/this.lineCtx.yRatio[d]+2*(this.lineCtx.isReversed?n[a][0]/this.lineCtx.yRatio[d]:0);else if(u&&a>0&&n[a][0]===void 0){for(var g=a-1;g>=0;g--)if(n[g][0]!==null&&n[g][0]!==void 0){l=h=this.lineCtx.prevSeriesY[g][0];break}}return{prevY:l,lineYPosition:h}}}]),o}(),Rn=function(o){for(var e,t,i,s,a=function(d){for(var c=[],u=d[0],g=d[1],p=c[0]=ds(u,g),f=1,x=d.length-1;f9&&(s=3*i/Math.sqrt(s),a[l]=s*e,a[l+1]=s*t);for(var h=0;h<=r;h++)s=(o[Math.min(r,h+1)][0]-o[Math.max(0,h-1)][0])/(6*(1+a[h]*a[h])),n.push([s||0,a[h]*s||0]);return n},In=function(o){var e=Rn(o),t=o[1],i=o[0],s=[],a=e[1],r=e[0];s.push(i,[i[0]+r[0],i[1]+r[1],t[0]-a[0],t[1]-a[1],t[0],t[1]]);for(var n=2,l=e.length;n1&&i[1].length<6){var s=i[0].length;i[1]=[2*i[0][s-2]-i[0][s-4],2*i[0][s-1]-i[0][s-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i};function ds(o,e){return(e[1]-o[1])/(e[0]-o[0])}var us=function(){function o(e,t,i){P(this,o),this.ctx=e,this.w=e.w,this.xyRatios=t,this.pointsChart=!(this.w.config.chart.type!=="bubble"&&this.w.config.chart.type!=="scatter")||i,this.scatter=new ma(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new En(this),this.markers=new Ot(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return E(o,[{key:"draw",value:function(e,t,i,s){var a,r=this.w,n=new G(this.ctx),l=r.globals.comboCharts?t:r.config.chart.type,h=n.group({class:"apexcharts-".concat(l,"-series apexcharts-plot-series")}),d=new Pe(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=d.getLogSeries(e),this.yRatio=d.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],u=0;u1?g:0;this._initSerieVariables(e,u,g);var f=[],x=[],m=[],v=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(v=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),m.push(v);var w,C=v,k=void 0,T=C,A=this.zeroY,M=this.zeroY;A=this.lineHelpers.determineFirstPrevY({i:u,realIndex:g,series:e,prevY:A,lineYPosition:0,translationsIndex:p}).prevY,r.config.stroke.curve==="monotoneCubic"&&e[u][0]===null?f.push(null):f.push(A),w=A,l==="rangeArea"&&(k=M=this.lineHelpers.determineFirstPrevY({i:u,realIndex:g,series:s,prevY:M,lineYPosition:0,translationsIndex:p}).prevY,x.push(f[0]!==null?M:null));var I=this._calculatePathsFrom({type:l,series:e,i:u,realIndex:g,translationsIndex:p,prevX:T,prevY:A,prevY2:M}),O=[f[0]],X=[x[0]],H={type:l,series:e,realIndex:g,translationsIndex:p,i:u,x:v,y:1,pX:C,pY:w,pathsFrom:I,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:m,yArrj:f,y2Arrj:x,seriesRangeEnd:s},N=this._iterateOverDataPoints(Y(Y({},H),{},{iterations:l==="rangeArea"?e[u].length-1:void 0,isRangeStart:!0}));if(l==="rangeArea"){for(var B=this._calculatePathsFrom({series:s,i:u,realIndex:g,prevX:T,prevY:M}),U=this._iterateOverDataPoints(Y(Y({},H),{},{series:s,xArrj:[v],yArrj:O,y2Arrj:X,pY:k,areaPaths:N.areaPaths,pathsFrom:B,iterations:s[u].length-1,isRangeStart:!1})),q=N.linePaths.length/2,$=0;$=0;ie--)h.add(c[ie]);else for(var te=0;te1&&(this.yaxisIndex=s.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=s.config.yaxis[this.yaxisIndex]&&s.config.yaxis[this.yaxisIndex].reversed,this.zeroY=s.globals.gridHeight-this.baseLineY[r]-(this.isReversed?s.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>s.globals.gridHeight||s.config.plotOptions.area.fillTo==="end")&&(this.areaBottomY=s.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=a.group({class:"apexcharts-series",zIndex:s.config.series[i].zIndex!==void 0?s.config.series[i].zIndex:i,seriesName:R.escapeString(s.globals.seriesNames[i])}),this.elPointsMain=a.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=a.group({class:"apexcharts-datalabels","data:realIndex":i});var n=e[t].length===s.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:t+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(e){var t,i,s,a,r=e.type,n=e.series,l=e.i,h=e.realIndex,d=e.translationsIndex,c=e.prevX,u=e.prevY,g=e.prevY2,p=this.w,f=new G(this.ctx);if(n[l][0]===null){for(var x=0;x0){var m=this.lineHelpers.checkPreviousPaths({pathFromLine:s,pathFromArea:a,realIndex:h});s=m.pathFromLine,a=m.pathFromArea}return{prevX:c,prevY:u,linePath:t,areaPath:i,pathFromLine:s,pathFromArea:a}}},{key:"_handlePaths",value:function(e){var t=e.type,i=e.realIndex,s=e.i,a=e.paths,r=this.w,n=new G(this.ctx),l=new et(this.ctx);this.prevSeriesY.push(a.yArrj),r.globals.seriesXvalues[i]=a.xArrj,r.globals.seriesYvalues[i]=a.yArrj;var h=r.config.forecastDataPoints;if(h.count>0&&t!=="rangeArea"){var d=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-h.count-1],c=n.drawRect(d,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var u=n.drawRect(0,0,d,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(u.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:s,realIndex:i,animationDelay:s,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(t)};if(t==="area")for(var p=l.fillPath({seriesNumber:i}),f=0;f0&&t!=="rangeArea"){var A=n.renderPaths(k);A.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&A.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(A),A.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),T.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(e){var t,i,s=this,a=e.type,r=e.series,n=e.iterations,l=e.realIndex,h=e.translationsIndex,d=e.i,c=e.x,u=e.y,g=e.pX,p=e.pY,f=e.pathsFrom,x=e.linePaths,m=e.areaPaths,v=e.seriesIndex,w=e.lineYPosition,C=e.xArrj,k=e.yArrj,T=e.y2Arrj,A=e.isRangeStart,M=e.seriesRangeEnd,I=this.w,O=new G(this.ctx),X=this.yRatio,H=f.prevY,N=f.linePath,B=f.areaPath,U=f.pathFromLine,q=f.pathFromArea,$=R.isNumber(I.globals.minYArr[l])?I.globals.minYArr[l]:I.globals.minY;n||(n=I.globals.dataPoints>1?I.globals.dataPoints-1:I.globals.dataPoints);var ie=function(ze,Xe){return Xe-ze/X[h]+2*(s.isReversed?ze/X[h]:0)},te=u,ae=I.config.chart.stacked&&!I.globals.comboCharts||I.config.chart.stacked&&I.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||((t=this.w.config.series[l])===null||t===void 0?void 0:t.type)==="bar"||((i=this.w.config.series[l])===null||i===void 0?void 0:i.type)==="column"),se=I.config.stroke.curve;Array.isArray(se)&&(se=Array.isArray(v)?se[v[d]]:se[d]);for(var Se,Ce=0,ye=0;ye0&&I.globals.collapsedSeries.length0;Xe--){if(!(I.globals.collapsedSeriesIndices.indexOf((v==null?void 0:v[Xe])||Xe)>-1))return Xe;Xe--}return 0}(d-1)][ye+1]:w=this.zeroY:w=this.zeroY,Oe?u=ie($,w):(u=ie(r[d][ye+1],w),a==="rangeArea"&&(te=ie(M[d][ye+1],w))),C.push(c),!Oe||I.config.stroke.curve!=="smooth"&&I.config.stroke.curve!=="monotoneCubic"?(k.push(u),T.push(te)):(k.push(null),T.push(null));var ue=this.lineHelpers.calculatePoints({series:r,x:c,y:u,realIndex:l,i:d,j:ye,prevY:H}),me=this._createPaths({type:a,series:r,i:d,realIndex:l,j:ye,x:c,y:u,y2:te,xArrj:C,yArrj:k,y2Arrj:T,pX:g,pY:p,pathState:Ce,segmentStartX:Se,linePath:N,areaPath:B,linePaths:x,areaPaths:m,curve:se,isRangeStart:A});m=me.areaPaths,x=me.linePaths,g=me.pX,p=me.pY,Ce=me.pathState,Se=me.segmentStartX,B=me.areaPath,N=me.linePath,!this.appendPathFrom||I.globals.hasNullValues||se==="monotoneCubic"&&a==="rangeArea"||(U+=O.line(c,this.areaBottomY),q+=O.line(c,this.areaBottomY)),this.handleNullDataPoints(r,ue,d,ye,l),this._handleMarkersAndLabels({type:a,pointsPos:ue,i:d,j:ye,realIndex:l,isRangeStart:A})}return{yArrj:k,xArrj:C,pathFromArea:q,areaPaths:m,pathFromLine:U,linePaths:x,linePath:N,areaPath:B}}},{key:"_handleMarkersAndLabels",value:function(e){var t=e.type,i=e.pointsPos,s=e.isRangeStart,a=e.i,r=e.j,n=e.realIndex,l=this.w,h=new zt(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{l.globals.series[a].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var d=this.markers.plotChartMarkers(i,n,r+1);d!==null&&this.elPointsMain.add(d)}var c=h.drawDataLabel({type:t,isRangeStart:s,pos:i,i:n,j:r+1});c!==null&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(e){var t=e.type,i=e.series,s=e.i;e.realIndex;var a,r=e.j,n=e.x,l=e.y,h=e.xArrj,d=e.yArrj,c=e.y2,u=e.y2Arrj,g=e.pX,p=e.pY,f=e.pathState,x=e.segmentStartX,m=e.linePath,v=e.areaPath,w=e.linePaths,C=e.areaPaths,k=e.curve,T=e.isRangeStart,A=new G(this.ctx),M=this.areaBottomY,I=t==="rangeArea",O=t==="rangeArea"&&T;switch(k){case"monotoneCubic":var X=T?d:u;switch(f){case 0:if(X[r+1]===null)break;f=1;case 1:if(!(I?h.length===i[s].length:r===i[s].length-2))break;case 2:var H=T?h:h.slice().reverse(),N=T?X:X.slice().reverse(),B=(a=N,H.map(function(ge,ue){return[ge,a[ue]]}).filter(function(ge){return ge[1]!==null})),U=B.length>1?In(B):B,q=[];I&&(O?C=B:q=C.reverse());var $=0,ie=0;if(function(ge,ue){for(var me=function($t){var Ne=[],nt=0;return $t.forEach(function(_n){_n!==null?nt++:nt>0&&(Ne.push(nt),nt=0)}),nt>0&&Ne.push(nt),Ne}(ge),ze=[],Xe=0,it=0;Xe4?(it+="C".concat(Ne[0],", ").concat(Ne[1]),it+=", ".concat(Ne[2],", ").concat(Ne[3]),it+=", ".concat(Ne[4],", ").concat(Ne[5])):nt>2&&(it+="S".concat(Ne[0],", ").concat(Ne[1]),it+=", ".concat(Ne[2],", ").concat(Ne[3]))}return it}(ge),me=ie,ze=(ie+=ge.length)-1;O?m=A.move(B[me][0],B[me][1])+ue:I?m=A.move(q[me][0],q[me][1])+A.line(B[me][0],B[me][1])+ue+A.line(q[ze][0],q[ze][1]):(m=A.move(B[me][0],B[me][1])+ue,v=m+A.line(B[ze][0],M)+A.line(B[me][0],M)+"z",C.push(v)),w.push(m)}),I&&$>1&&!O){var te=w.slice($).reverse();w.splice($),te.forEach(function(ge){return w.push(ge)})}f=0}break;case"smooth":var ae=.35*(n-g);if(i[s][r]===null)f=0;else switch(f){case 0:if(x=g,m=O?A.move(g,u[r])+A.line(g,p):A.move(g,p),v=A.move(g,p),i[s][r+1]===null){w.push(m),C.push(v);break}if(f=1,r=i[s].length-2&&(O&&(m+=A.curve(n,l,n,l,n,c)+A.move(n,c)),v+=A.curve(n,l,n,l,n,M)+A.line(x,M)+"z",w.push(m),C.push(v),f=-1)}}g=n,p=l;break;default:var Ce=function(ge,ue,me){var ze=[];switch(ge){case"stepline":ze=A.line(ue,null,"H")+A.line(null,me,"V");break;case"linestep":ze=A.line(null,me,"V")+A.line(ue,null,"H");break;case"straight":ze=A.line(ue,me)}return ze};if(i[s][r]===null)f=0;else switch(f){case 0:if(x=g,m=O?A.move(g,u[r])+A.line(g,p):A.move(g,p),v=A.move(g,p),i[s][r+1]===null){w.push(m),C.push(v);break}if(f=1,r=i[s].length-2&&(O&&(m+=A.line(n,c)),v+=A.line(n,M)+A.line(x,M)+"z",w.push(m),C.push(v),f=-1)}}g=n,p=l}return{linePaths:w,areaPaths:C,pX:g,pY:p,pathState:f,segmentStartX:x,linePath:m,areaPath:v}}},{key:"handleNullDataPoints",value:function(e,t,i,s,a){var r=this.w;if(e[i][s]===null&&r.config.markers.showNullDataPoints||e[i].length===1){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var l=this.markers.plotChartMarkers(t,a,s+1,n,!0);l!==null&&this.elPointsMain.add(l)}}}]),o}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function o(n,l,h,d){this.xoffset=n,this.yoffset=l,this.height=d,this.width=h,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(c){var u,g=[],p=this.xoffset,f=this.yoffset,x=a(c)/this.height,m=a(c)/this.width;if(this.width>=this.height)for(u=0;u=this.height){var g=c/this.height,p=this.width-g;u=new o(this.xoffset+g,this.yoffset,p,this.height)}else{var f=c/this.width,x=this.height-f;u=new o(this.xoffset,this.yoffset+f,this.width,x)}return u}}function e(n,l,h,d,c){d=d===void 0?0:d,c=c===void 0?0:c;var u=t(function(g,p){var f,x=[],m=p/a(g);for(f=0;f=w}(l,u=n[0],c)?(l.push(u),t(n.slice(1),l,h,d)):(g=h.cutArea(a(l),d),d.push(h.getCoordinates(l)),t(n,[],g,d)),d;d.push(h.getCoordinates(l))}function i(n,l){var h=Math.min.apply(Math,n),d=Math.max.apply(Math,n),c=a(n);return Math.max(Math.pow(l,2)*d/Math.pow(c,2),Math.pow(c,2)/(Math.pow(l,2)*h))}function s(n){return n&&n.constructor===Array}function a(n){var l,h=0;for(l=0;lr-s&&h.width<=n-a){var d=l.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(-90 ".concat(d.x," ").concat(d.y,") translate(").concat(h.height/3,")"))}}},{key:"truncateLabels",value:function(e,t,i,s,a,r){var n=new G(this.ctx),l=n.getTextRects(e,t).width+this.w.config.stroke.width+5>a-i&&r-s>a-i?r-s:a-i,h=n.getTextBasedOnMaxWidth({text:e,maxWidth:l,fontSize:t});return e.length!==h.length&&l/t<5?"":h}},{key:"animateTreemap",value:function(e,t,i,s){var a=new He(this.ctx);a.animateRect(e,{x:t.x,y:t.y,width:t.width,height:t.height},{x:i.x,y:i.y,width:i.width,height:i.height},s,function(){a.animationCompleted(e)})}}]),o}(),Ta=86400,Xn=10/Ta,Fn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return E(o,[{key:"calculateTimeScaleTicks",value:function(e,t){var i=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var a=new Ie(this.ctx),r=(t-e)/864e5;this.determineInterval(r),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,r5e4&&(s.globals.disableZoomOut=!0);var n=a.getTimeUnitsfromTimestamp(e,t,this.utc),l=s.globals.gridWidth/r,h=l/24,d=h/60,c=d/60,u=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*Ta),f=Math.floor(r),x=Math.floor(r/30),m=Math.floor(r/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},w={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:d,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:u,numberOfDays:f,numberOfMonths:x,numberOfYears:m};switch(this.tickInterval){case"years":this.generateYearScale(w);break;case"months":case"half_year":this.generateMonthScale(w);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(w);break;case"hours":this.generateHourScale(w);break;case"minutes_fives":case"minutes":this.generateMinuteScale(w);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(w)}var C=this.timeScaleArray.map(function(k){var T={position:k.position,unit:k.unit,year:k.year,day:k.day?k.day:1,hour:k.hour?k.hour:0,month:k.month+1};return k.unit==="month"?Y(Y({},T),{},{day:1,value:k.value+1}):k.unit==="day"||k.unit==="hour"?Y(Y({},T),{},{value:k.value}):k.unit==="minute"?Y(Y({},T),{},{value:k.value,minute:k.value}):k.unit==="second"?Y(Y({},T),{},{value:k.value,minute:k.minute,second:k.second}):k});return C.filter(function(k){var T=1,A=Math.ceil(s.globals.gridWidth/120),M=k.value;s.config.xaxis.tickAmount!==void 0&&(A=s.config.xaxis.tickAmount),C.length>A&&(T=Math.floor(C.length/A));var I=!1,O=!1;switch(i.tickInterval){case"years":k.unit==="year"&&(I=!0);break;case"half_year":T=7,k.unit==="year"&&(I=!0);break;case"months":T=1,k.unit==="year"&&(I=!0);break;case"months_fortnight":T=15,k.unit!=="year"&&k.unit!=="month"||(I=!0),M===30&&(O=!0);break;case"months_days":T=10,k.unit==="month"&&(I=!0),M===30&&(O=!0);break;case"week_days":T=8,k.unit==="month"&&(I=!0);break;case"days":T=1,k.unit==="month"&&(I=!0);break;case"hours":k.unit==="day"&&(I=!0);break;case"minutes_fives":case"seconds_fives":M%5!=0&&(O=!0);break;case"seconds_tens":M%10!=0&&(O=!0)}if(i.tickInterval==="hours"||i.tickInterval==="minutes_fives"||i.tickInterval==="seconds_tens"||i.tickInterval==="seconds_fives"){if(!O)return!0}else if((M%T==0||I)&&!O)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(e,t){var i=this.w,s=this.formatDates(e),a=this.removeOverlappingTS(s);i.globals.timescaleLabels=a.slice(),new ui(this.ctx).plotCoords()}},{key:"determineInterval",value:function(e){var t=24*e,i=60*t;switch(!0){case e/365>5:this.tickInterval="years";break;case e>800:this.tickInterval="half_year";break;case e>180:this.tickInterval="months";break;case e>90:this.tickInterval="months_fortnight";break;case e>60:this.tickInterval="months_days";break;case e>30:this.tickInterval="week_days";break;case e>2:this.tickInterval="days";break;case t>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(e){var t=e.firstVal,i=e.currentMonth,s=e.currentYear,a=e.daysWidthOnXAxis,r=e.numberOfYears,n=t.minYear,l=0,h=new Ie(this.ctx),d="year";if(t.minDate>1||t.minMonth>0){var c=h.determineRemainingDaysOfYear(t.minYear,t.minMonth,t.minDate);l=(h.determineDaysOfYear(t.minYear)-c+1)*a,n=t.minYear+1,this.timeScaleArray.push({position:l,value:n,unit:d,year:n,month:R.monthMod(i+1)})}else t.minDate===1&&t.minMonth===0&&this.timeScaleArray.push({position:l,value:n,unit:d,year:s,month:R.monthMod(i+1)});for(var u=n,g=l,p=0;p1){h=(d.determineDaysOfMonths(s+1,t.minYear)-i+1)*r,l=R.monthMod(s+1);var g=a+u,p=R.monthMod(l),f=l;l===0&&(c="year",f=g,p=1,g+=u+=1),this.timeScaleArray.push({position:h,value:f,unit:c,year:g,month:p})}else this.timeScaleArray.push({position:h,value:l,unit:c,year:a,month:R.monthMod(s)});for(var x=l+1,m=h,v=0,w=1;vn.determineDaysOfMonths(C+1,k)&&(d=1,l="month",g=C+=1),C},u=(24-t.minHour)*a,g=h,p=c(d,i,s);t.minHour===0&&t.minDate===1?(u=0,g=R.monthMod(t.minMonth),l="month",d=t.minDate):t.minDate!==1&&t.minHour===0&&t.minMinute===0&&(u=0,h=t.minDate,g=h,p=c(d=h,i,s),g!==1&&(l="day")),this.timeScaleArray.push({position:u,value:g,unit:l,year:this._getYear(s,p,0),month:R.monthMod(p),day:d});for(var f=u,x=0;xl.determineDaysOfMonths(A+1,a)&&(x=1,A+=1),{month:A,date:x}},c=function(T,A){return T>l.determineDaysOfMonths(A+1,a)?A+=1:A},u=60-(t.minMinute+t.minSecond/60),g=u*r,p=t.minHour+1,f=p;u===60&&(g=0,f=p=t.minHour);var x=i;f>=24&&(f=0,h="day",p=x+=1);var m=d(x,s).month;m=c(x,m),this.timeScaleArray.push({position:g,value:p,unit:h,day:x,hour:f,year:a,month:R.monthMod(m)}),f++;for(var v=g,w=0;w=24&&(f=0,h="day",m=d(x+=1,m).month,m=c(x,m));var C=this._getYear(a,m,0);v=60*r+v;var k=f===0?x:f;this.timeScaleArray.push({position:v,value:k,unit:h,hour:f,day:x,year:C,month:R.monthMod(m)}),f++}}},{key:"generateMinuteScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,s=e.currentMinute,a=e.currentHour,r=e.currentDate,n=e.currentMonth,l=e.currentYear,h=e.minutesWidthOnXAxis,d=e.secondsWidthOnXAxis,c=e.numberOfMinutes,u=s+1,g=r,p=n,f=l,x=a,m=(60-i-t/1e3)*d,v=0;v=60&&(u=0,(x+=1)===24&&(x=0)),this.timeScaleArray.push({position:m,value:u,unit:"minute",hour:x,minute:u,day:g,year:this._getYear(f,p,0),month:R.monthMod(p)}),m+=h,u++}},{key:"generateSecondScale",value:function(e){for(var t=e.currentMillisecond,i=e.currentSecond,s=e.currentMinute,a=e.currentHour,r=e.currentDate,n=e.currentMonth,l=e.currentYear,h=e.secondsWidthOnXAxis,d=e.numberOfSeconds,c=i+1,u=s,g=r,p=n,f=l,x=a,m=(1e3-t)/1e3*h,v=0;v=60&&(c=0,++u>=60&&(u=0,++x===24&&(x=0))),this.timeScaleArray.push({position:m,value:c,unit:"second",hour:x,minute:u,second:c,day:g,year:this._getYear(f,p,0),month:R.monthMod(p)}),m+=h,c++}},{key:"createRawDateString",value:function(e,t){var i=e.year;return e.month===0&&(e.month=1),i+="-"+("0"+e.month.toString()).slice(-2),e.unit==="day"?i+=e.unit==="day"?"-"+("0"+t).slice(-2):"-01":i+="-"+("0"+(e.day?e.day:"1")).slice(-2),e.unit==="hour"?i+=e.unit==="hour"?"T"+("0"+t).slice(-2):"T00":i+="T"+("0"+(e.hour?e.hour:"0")).slice(-2),e.unit==="minute"?i+=":"+("0"+t).slice(-2):i+=":"+(e.minute?("0"+e.minute).slice(-2):"00"),e.unit==="second"?i+=":"+("0"+t).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(e){var t=this,i=this.w;return e.map(function(s){var a=s.value.toString(),r=new Ie(t.ctx),n=t.createRawDateString(s,a),l=r.getDate(r.parseDate(n));if(t.utc||(l=r.getDate(r.parseDateWithTimezone(n))),i.config.xaxis.labels.format===void 0){var h="dd MMM",d=i.config.xaxis.labels.datetimeFormatter;s.unit==="year"&&(h=d.year),s.unit==="month"&&(h=d.month),s.unit==="day"&&(h=d.day),s.unit==="hour"&&(h=d.hour),s.unit==="minute"&&(h=d.minute),s.unit==="second"&&(h=d.second),a=r.formatDate(l,h)}else a=r.formatDate(l,i.config.xaxis.labels.format);return{dateString:n,position:s.position,value:a,unit:s.unit,year:s.year,month:s.month}})}},{key:"removeOverlappingTS",value:function(e){var t,i=this,s=new G(this.ctx),a=!1;e.length>0&&e[0].value&&e.every(function(l){return l.value.length===e[0].value.length})&&(a=!0,t=s.getTextRects(e[0].value).width);var r=0,n=e.map(function(l,h){if(h>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var d=a?t:s.getTextRects(e[r].value).width,c=e[r].position;return l.position>c+d+10?(r=h,l):null}return l});return n=n.filter(function(l){return l!==null})}},{key:"_getYear",value:function(e,t,i){return e+Math.floor(t/12)+i}}]),o}(),Hn=function(){function o(e,t){P(this,o),this.ctx=t,this.w=t.w,this.el=e}return E(o,[{key:"setupElements",value:function(){var e=this.w,t=e.globals,i=e.config,s=i.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].includes(s),t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].includes(s),t.isBarHorizontal=["bar","rangeBar","boxPlot"].includes(s)&&i.plotOptions.bar.horizontal,t.chartClass=".apexcharts".concat(t.chartID),t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),G.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas ".concat(t.chartClass.substring(1))}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=window.SVG().addTo(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(i.chart.offsetX,", ").concat(i.chart.offsetY,")")}),t.dom.Paper.node.style.background=i.theme.mode!=="dark"||i.chart.background?i.theme.mode!=="light"||i.chart.background?i.chart.background:"#fff":"#424242",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),G.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(e,t){var i=this.w,s=this.ctx,a=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},l=a.chart.type||"line",h=null,d=0;r.series.forEach(function(T,A){var M=e[A].type||l;n[M]?(M==="rangeArea"?(n[M].series.push(r.seriesRangeStart[A]),n[M].seriesRangeEnd.push(r.seriesRangeEnd[A])):n[M].series.push(T),n[M].i.push(A),M!=="column"&&M!=="bar"||(i.globals.columnSeries=n.column)):["heatmap","treemap","pie","donut","polarArea","radialBar","radar"].includes(M)?h=M:M==="bar"?(n.column.series.push(T),n.column.i.push(A)):console.warn("You have specified an unrecognized series type (".concat(M,").")),l!==M&&M!=="scatter"&&d++}),d>0&&(h&&console.warn("Chart or series type ".concat(h," cannot appear with other chart or series types.")),n.column.series.length>0&&a.plotOptions.bar.horizontal&&(d-=n.column.series.length,n.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),r.comboCharts||(r.comboCharts=d>0);var c=new us(s,t),u=new cs(s,t);s.pie=new Pa(s);var g=new Pn(s);s.rangeBar=new Tn(s,t);var p=new Mn(s),f=[];if(r.comboCharts){var x,m,v=new Pe(s);if(n.area.series.length>0&&(x=f).push.apply(x,he(v.drawSeriesByGroup(n.area,r.areaGroups,"area",c))),n.column.series.length>0)if(a.chart.stacked){var w=new Ca(s,t);f.push(w.draw(n.column.series,n.column.i))}else s.bar=new Xt(s,t),f.push(s.bar.draw(n.column.series,n.column.i));if(n.rangeArea.series.length>0&&f.push(c.draw(n.rangeArea.series,"rangeArea",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0&&(m=f).push.apply(m,he(v.drawSeriesByGroup(n.line,r.lineGroups,"line",c))),n.candlestick.series.length>0&&f.push(u.draw(n.candlestick.series,"candlestick",n.candlestick.i)),n.boxPlot.series.length>0&&f.push(u.draw(n.boxPlot.series,"boxPlot",n.boxPlot.i)),n.rangeBar.series.length>0&&f.push(s.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var C=new us(s,t,!0);f.push(C.draw(n.scatter.series,"scatter",n.scatter.i))}if(n.bubble.series.length>0){var k=new us(s,t,!0);f.push(k.draw(n.bubble.series,"bubble",n.bubble.i))}}else switch(a.chart.type){case"line":f=c.draw(r.series,"line");break;case"area":f=c.draw(r.series,"area");break;case"bar":a.chart.stacked?f=new Ca(s,t).draw(r.series):(s.bar=new Xt(s,t),f=s.bar.draw(r.series));break;case"candlestick":f=new cs(s,t).draw(r.series,"candlestick");break;case"boxPlot":f=new cs(s,t).draw(r.series,a.chart.type);break;case"rangeBar":f=s.rangeBar.draw(r.series);break;case"rangeArea":f=c.draw(r.seriesRangeStart,"rangeArea",void 0,r.seriesRangeEnd);break;case"heatmap":f=new Ln(s,t).draw(r.series);break;case"treemap":f=new zn(s,t).draw(r.series);break;case"pie":case"donut":case"polarArea":f=s.pie.draw(r.series);break;case"radialBar":f=g.draw(r.series);break;case"radar":f=p.draw(r.series);break;default:f=c.draw(r.series)}return f}},{key:"setSVGDimensions",value:function(){var e=this.w,t=e.globals,i=e.config;i.chart.width=i.chart.width||"100%",i.chart.height=i.chart.height||"auto",t.svgWidth=i.chart.width,t.svgHeight=i.chart.height;var s=R.getDimensions(this.el),a=i.chart.width.toString().split(/[0-9]+/g).pop();a==="%"?R.isNumber(s[0])&&(s[0].width===0&&(s=R.getDimensions(this.el.parentNode)),t.svgWidth=s[0]*parseInt(i.chart.width,10)/100):a!=="px"&&a!==""||(t.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if(t.svgHeight!=="auto"&&t.svgHeight!=="")if(r==="%"){var n=R.getDimensions(this.el.parentNode);t.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else t.svgHeight=parseInt(i.chart.height,10);else t.svgHeight=t.axisCharts?t.svgWidth/1.61:t.svgWidth/1.2;if(t.svgWidth=Math.max(t.svgWidth,0),t.svgHeight=Math.max(t.svgHeight,0),G.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),r!=="%"){var l=i.chart.sparkline.enabled?0:t.axisCharts?i.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(t.svgHeight+l,"px")}t.dom.elWrap.style.width="".concat(t.svgWidth,"px"),t.dom.elWrap.style.height="".concat(t.svgHeight,"px")}},{key:"shiftGraphPosition",value:function(){var e=this.w.globals,t=e.translateY,i=e.translateX;G.setAttrs(e.dom.elGraphical.node,{transform:"translate(".concat(i,", ").concat(t,")")})}},{key:"resizeNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=0,s=e.config.chart.sparkline.enabled?1:15;s+=e.config.grid.padding.bottom,["top","bottom"].includes(e.config.legend.position)&&e.config.legend.show&&!e.config.legend.floating&&(i=new ya(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var a=e.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*e.globals.radialSize;if(a&&!e.config.chart.sparkline.enabled&&e.config.plotOptions.radialBar.startAngle!==0){var n=R.getBoundingClientRect(a);r=n.bottom;var l=n.bottom-n.top;r=Math.max(2.05*e.globals.radialSize,l)}var h=Math.ceil(r+t.translateY+i+s);t.dom.elLegendForeign&&t.dom.elLegendForeign.setAttribute("height",h),e.config.chart.height&&String(e.config.chart.height).includes("%")||(t.dom.elWrap.style.height="".concat(h,"px"),G.setAttrs(t.dom.Paper.node,{height:h}),t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(h,"px"))}},{key:"coreCalculations",value:function(){new os(this.ctx).init()}},{key:"resetGlobals",value:function(){var e=this,t=function(){return e.w.config.series.map(function(){return[]})},i=new xa,s=this.w.globals;i.initGlobalVars(s),s.seriesXvalues=t(),s.seriesYvalues=t()}},{key:"isMultipleY",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:"xySettings",value:function(){var e=this.w,t=null;if(e.globals.axisCharts){if(e.config.xaxis.crosshairs.position==="back"&&new hs(this.ctx).drawXCrosshairs(),e.config.yaxis[0].crosshairs.position==="back"&&new hs(this.ctx).drawYCrosshairs(),e.config.xaxis.type==="datetime"&&e.config.xaxis.labels.formatter===void 0){this.ctx.timeScale=new Fn(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new Pe(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(e){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var e=this,t=this.w;if(t.config.chart.brush.enabled&&typeof t.config.chart.events.selection!="function"){var i=Array.isArray(t.config.chart.brush.targets)?t.config.chart.brush.targets:[t.config.chart.brush.target];i.forEach(function(s){var a=ApexCharts.getChartByID(s);a.w.globals.brushSource=e.ctx,typeof a.w.config.chart.events.zoomed!="function"&&(a.w.config.chart.events.zoomed=function(){return e.updateSourceChart(a)}),typeof a.w.config.chart.events.scrolled!="function"&&(a.w.config.chart.events.scrolled=function(){return e.updateSourceChart(a)})}),t.config.chart.events.selection=function(s,a){i.forEach(function(r){ApexCharts.getChartByID(r).ctx.updateHelpers._updateOptions({xaxis:{min:a.xaxis.min,max:a.xaxis.max}},!1,!1,!1,!1)})}}}}]),o}(),Yn=function(){function o(e){P(this,o),this.ctx=e,this.w=e.w}return E(o,[{key:"_updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],s=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=arguments.length>4&&arguments[4]!==void 0&&arguments[4];return new Promise(function(n){var l=[t.ctx];a&&(l=t.ctx.getSyncedCharts()),t.ctx.w.globals.isExecCalled&&(l=[t.ctx],t.ctx.w.globals.isExecCalled=!1),l.forEach(function(h,d){var c=h.w;if(c.globals.shouldAnimate=s,i||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&h.series.getPreviousPaths()),e&&Ae(e)==="object"&&(h.config=new qt(e),e=Pe.extendArrayProps(h.config,e,c),h.w.globals.chartID!==t.ctx.w.globals.chartID&&delete e.series,c.config=R.extend(c.config,e),r&&(c.globals.lastXAxis=e.xaxis?R.clone(e.xaxis):[],c.globals.lastYAxis=e.yaxis?R.clone(e.yaxis):[],c.globals.initialConfig=R.extend({},c.config),c.globals.initialSeries=R.clone(c.config.series),e.series))){for(var u=0;u2&&arguments[2]!==void 0&&arguments[2];return new Promise(function(a){var r,n=i.w;return n.globals.shouldAnimate=t,n.globals.dataChanged=!0,t&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?((r=e.map(function(l,h){return i._extendSeries(l,h)})).length===0&&(r=[{data:[]}]),n.config.series=r):n.config.series=e.slice(),s&&(n.globals.initialConfig.series=R.clone(n.config.series),n.globals.initialSeries=R.clone(n.config.series)),i.ctx.update().then(function(){a(i.ctx)})})}},{key:"_extendSeries",value:function(e,t){var i=this.w,s=i.config.series[t];return Y(Y({},i.config.series[t]),{},{name:e.name?e.name:s==null?void 0:s.name,color:e.color?e.color:s==null?void 0:s.color,type:e.type?e.type:s==null?void 0:s.type,group:e.group?e.group:s==null?void 0:s.group,hidden:e.hidden!==void 0?e.hidden:s==null?void 0:s.hidden,data:e.data?e.data:s==null?void 0:s.data,zIndex:e.zIndex!==void 0?e.zIndex:t})}},{key:"toggleDataPointSelection",value:function(e,t){var i=this.w,s=null,a=".apexcharts-series[data\\:realIndex='".concat(e,"']");return i.globals.axisCharts?s=i.globals.dom.Paper.findOne("".concat(a," path[j='").concat(t,"'], ").concat(a," circle[j='").concat(t,"'], ").concat(a," rect[j='").concat(t,"']")):t===void 0&&(s=i.globals.dom.Paper.findOne("".concat(a," path[j='").concat(e,"']")),i.config.chart.type!=="pie"&&i.config.chart.type!=="polarArea"&&i.config.chart.type!=="donut"||this.ctx.pie.pieClicked(e)),s?(new G(this.ctx).pathMouseDown(s,null),s.node?s.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(e){var t=this.w;if(["min","max"].forEach(function(s){e.xaxis[s]!==void 0&&(t.config.xaxis[s]=e.xaxis[s],t.globals.lastXAxis[s]=e.xaxis[s])}),e.xaxis.categories&&e.xaxis.categories.length&&(t.config.xaxis.categories=e.xaxis.categories),t.config.xaxis.convertedCatToNumeric){var i=new Ut(e);e=i.convertCatToNumericXaxis(e,this.ctx)}return e}},{key:"forceYAxisUpdate",value:function(e){return e.chart&&e.chart.stacked&&e.chart.stackType==="100%"&&(Array.isArray(e.yaxis)?e.yaxis.forEach(function(t,i){e.yaxis[i].min=0,e.yaxis[i].max=100}):(e.yaxis.min=0,e.yaxis.max=100)),e}},{key:"revertDefaultAxisMinMax",value:function(e){var t=this,i=this.w,s=i.globals.lastXAxis,a=i.globals.lastYAxis;e&&e.xaxis&&(s=e.xaxis),e&&e.yaxis&&(a=e.yaxis),i.config.xaxis.min=s.min,i.config.xaxis.max=s.max;var r=function(n){a[n]!==void 0&&(i.config.yaxis[n].min=a[n].min,i.config.yaxis[n].max=a[n].max)};i.config.yaxis.map(function(n,l){i.globals.zoomed||a[l]!==void 0?r(l):t.ctx.opts.yaxis[l]!==void 0&&(n.min=t.ctx.opts.yaxis[l].min,n.max=t.ctx.opts.yaxis[l].max)})}}]),o}();(function(){function o(){for(var a=arguments.length>0&&arguments[0]!==c?arguments[0]:[],r=arguments.length>1?arguments[1]:c,n=arguments.length>2?arguments[2]:c,l=arguments.length>3?arguments[3]:c,h=arguments.length>4?arguments[4]:c,d=arguments.length>5?arguments[5]:c,c=arguments.length>6?arguments[6]:c,u=a.slice(r,n||c),g=l.slice(h,d||c),p=0,f={pos:[0,0],start:[0,0]},x={pos:[0,0],start:[0,0]};u[p]=e.call(f,u[p]),g[p]=e.call(x,g[p]),u[p][0]!=g[p][0]||u[p][0]=="M"||u[p][0]=="A"&&(u[p][4]!=g[p][4]||u[p][5]!=g[p][5])?(Array.prototype.splice.apply(u,[p,1].concat(i.call(f,u[p]))),Array.prototype.splice.apply(g,[p,1].concat(i.call(x,g[p])))):(u[p]=t.call(f,u[p]),g[p]=t.call(x,g[p])),!(++p==u.length&&p==g.length);)p==u.length&&u.push(["C",f.pos[0],f.pos[1],f.pos[0],f.pos[1],f.pos[0],f.pos[1]]),p==g.length&&g.push(["C",x.pos[0],x.pos[1],x.pos[0],x.pos[1],x.pos[0],x.pos[1]]);return{start:u,dest:g}}function e(a){switch(a[0]){case"z":case"Z":a[0]="L",a[1]=this.start[0],a[2]=this.start[1];break;case"H":a[0]="L",a[2]=this.pos[1];break;case"V":a[0]="L",a[2]=a[1],a[1]=this.pos[0];break;case"T":a[0]="Q",a[3]=a[1],a[4]=a[2],a[1]=this.reflection[1],a[2]=this.reflection[0];break;case"S":a[0]="C",a[6]=a[4],a[5]=a[3],a[4]=a[2],a[3]=a[1],a[2]=this.reflection[1],a[1]=this.reflection[0]}return a}function t(a){var r=a.length;return this.pos=[a[r-2],a[r-1]],"SCQT".indexOf(a[0])!=-1&&(this.reflection=[2*this.pos[0]-a[r-4],2*this.pos[1]-a[r-3]]),a}function i(a){var r=[a];switch(a[0]){case"M":return this.pos=this.start=[a[1],a[2]],r;case"L":a[5]=a[3]=a[1],a[6]=a[4]=a[2],a[1]=this.pos[0],a[2]=this.pos[1];break;case"Q":a[6]=a[4],a[5]=a[3],a[4]=1*a[4]/3+2*a[2]/3,a[3]=1*a[3]/3+2*a[1]/3,a[2]=1*this.pos[1]/3+2*a[2]/3,a[1]=1*this.pos[0]/3+2*a[1]/3;break;case"A":r=function(n,l){var h,d,c,u,g,p,f,x,m,v,w,C,k,T,A,M,I,O,X,H,N,B,U,q,$,ie,te=Math.abs(l[1]),ae=Math.abs(l[2]),se=l[3]%360,Se=l[4],Ce=l[5],ye=l[6],Oe=l[7],ge=new fe(n),ue=new fe(ye,Oe),me=[];if(te===0||ae===0||ge.x===ue.x&&ge.y===ue.y)return[["C",ge.x,ge.y,ue.x,ue.y,ue.x,ue.y]];for(h=new fe((ge.x-ue.x)/2,(ge.y-ue.y)/2).transform(new K().rotate(se)),d=h.x*h.x/(te*te)+h.y*h.y/(ae*ae),d>1&&(te*=d=Math.sqrt(d),ae*=d),c=new K().rotate(se).scale(1/te,1/ae).rotate(-se),ge=ge.transform(c),ue=ue.transform(c),u=[ue.x-ge.x,ue.y-ge.y],p=u[0]*u[0]+u[1]*u[1],g=Math.sqrt(p),u[0]/=g,u[1]/=g,f=p<4?Math.sqrt(1-p/4):0,Se===Ce&&(f*=-1),x=new fe((ue.x+ge.x)/2+f*-u[1],(ue.y+ge.y)/2+f*u[0]),m=new fe(ge.x-x.x,ge.y-x.y),v=new fe(ue.x-x.x,ue.y-x.y),w=Math.acos(m.x/Math.sqrt(m.x*m.x+m.y*m.y)),m.y<0&&(w*=-1),C=Math.acos(v.x/Math.sqrt(v.x*v.x+v.y*v.y)),v.y<0&&(C*=-1),Ce&&w>C&&(C+=2*Math.PI),!Ce&&w0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;if(r===!1)return!1;for(var n=r,l=a.length;n(o.changedTouches&&(o=o.changedTouches[0]),{x:o.clientX,y:o.clientY});class Dn{constructor(e){e.remember("_draggable",this),this.el=e,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(e){e?(this.el.on("mousedown.drag",this.startDrag),this.el.on("touchstart.drag",this.startDrag,{passive:!1})):(this.el.off("mousedown.drag"),this.el.off("touchstart.drag"))}startDrag(e){const t=!e.type.indexOf("mouse");if(t&&e.which!==1&&e.buttons!==0||this.el.dispatch("beforedrag",{event:e,handler:this}).defaultPrevented)return;e.preventDefault(),e.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point(Ea(e));const i=(t?"mouseup":"touchend")+".drag";rt(window,(t?"mousemove":"touchmove")+".drag",this.drag,this,{passive:!1}),rt(window,i,this.endDrag,this,{passive:!1}),this.el.fire("dragstart",{event:e,handler:this,box:this.box})}drag(e){const{box:t,lastClick:i}=this,s=this.el.point(Ea(e)),a=s.x-i.x,r=s.y-i.y;if(!a&&!r)return t;const n=t.x+a,l=t.y+r;this.box=new Me(n,l,t.w,t.h),this.lastClick=s,this.el.dispatch("dragmove",{event:e,handler:this,box:this.box}).defaultPrevented||this.move(n,l)}move(e,t){this.el.type==="svg"?ct.prototype.move.call(this.el,e,t):this.el.move(e,t)}endDrag(e){this.drag(e),this.el.fire("dragend",{event:e,handler:this,box:this.box}),qe(window,"mousemove.drag"),qe(window,"touchmove.drag"),qe(window,"mouseup.drag"),qe(window,"touchend.drag"),this.init(!0)}}/*! + * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse + * @version 4.0.1 + * https://github.com/svgdotjs/svg.select.js + * + * @copyright Ulrich-Matthias Schäfer + * @license MIT + * + * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) + */function gs(o,e,t,i=null){return function(s){s.preventDefault(),s.stopPropagation();var a=s.pageX||s.touches[0].pageX,r=s.pageY||s.touches[0].pageY;e.fire(o,{x:a,y:r,event:s,index:i,points:t})}}function fs([o,e],{a:t,b:i,c:s,d:a,e:r,f:n}){return[o*t+e*s+r,o*i+e*a+n]}Q(Ee,{draggable(o=!0){return(this.remember("_draggable")||new Dn(this)).init(o),this}});let Ra=class{constructor(o){this.el=o,o.remember("_selectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.createRot=o.createRot||this.createRotFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.updateRot=o.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach((o,e,t)=>{const i=this.order[e];this.createHandle.call(this,this.selection,o,e,t,i),this.selection.get(e+1).addClass("svg_select_handle svg_select_handle_"+i).on("mousedown.selection touchstart.selection",gs(i,this.el,this.handlePoints,e))})}createHandleFn(o){o.polyline()}updateHandleFn(o,e,t,i){const s=i.at(t-1),a=i[(t+1)%i.length],r=e,n=[r[0]-s[0],r[1]-s[1]],l=[r[0]-a[0],r[1]-a[1]],h=Math.sqrt(n[0]*n[0]+n[1]*n[1]),d=Math.sqrt(l[0]*l[0]+l[1]*l[1]),c=[n[0]/h,n[1]/h],u=[l[0]/d,l[1]/d],g=[r[0]-10*c[0],r[1]-10*c[1]],p=[r[0]-10*u[0],r[1]-10*u[1]];o.plot([g,r,p])}updateResizeHandles(){this.handlePoints.forEach((o,e,t)=>{const i=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),o,e,t,i)})}createRotFn(o){o.line(),o.circle(5)}getPoint(o){return this.handlePoints[this.order.indexOf(o)]}getPointHandle(o){return this.selection.get(this.order.indexOf(o)+1)}updateRotFn(o,e){const t=this.getPoint("t");o.get(0).plot(t[0],t[1],e[0],e[1]),o.get(1).center(e[0],e[1])}createRotationHandle(){const o=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",gs("rot",this.el,this.handlePoints));this.createRot.call(this,o)}updateRotationHandle(){const o=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(o,this.rotationPoint,this.handlePoints)}updatePoints(){const o=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(o).map(t=>fs(t,e)),this.rotationPoint=fs(this.getRotationPoint(o),e)}getHandlePoints({x:o,x2:e,y:t,y2:i,cx:s,cy:a}=this.el.bbox()){return[[o,t],[s,t],[e,t],[e,a],[e,i],[s,i],[o,i],[o,a]]}getRotationPoint({y:o,cx:e}=this.el.bbox()){return[e,o-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const Ia=o=>function(e=!0,t={}){typeof e=="object"&&(t=e,e=!0);let i=this.remember("_"+o.name);return i||(e.prototype instanceof Ra?(i=new e(this),e=!0):i=new o(this),this.remember("_"+o.name,i)),i.active(e,t),this};/*! + * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected + * @version 2.0.4 + * https://github.com/svgdotjs/svg.resize.js + * + * @copyright [object Object] + * @license MIT + * + * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time) + *//*! + * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse + * @version 4.0.1 + * https://github.com/svgdotjs/svg.select.js + * + * @copyright Ulrich-Matthias Schäfer + * @license MIT + * + * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) + */function ps(o,e,t,i=null){return function(s){s.preventDefault(),s.stopPropagation();var a=s.pageX||s.touches[0].pageX,r=s.pageY||s.touches[0].pageY;e.fire(o,{x:a,y:r,event:s,index:i,points:t})}}function xs([o,e],{a:t,b:i,c:s,d:a,e:r,f:n}){return[o*t+e*s+r,o*i+e*a+n]}Q(Ee,{select:Ia(Ra)}),Q([yt,wt,mt],{pointSelect:Ia(class{constructor(o){this.el=o,o.remember("_pointSelectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach((o,e,t)=>{this.createHandle.call(this,this.selection,o,e,t),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",gs("point",this.el,this.points,e))})}createHandleFn(o){o.circle(5)}updateHandleFn(o,e){o.center(e[0],e[1])}updatePointHandles(){this.points.forEach((o,e,t)=>{this.updateHandle.call(this,this.selection.get(e+1),o,e,t)})}updatePoints(){const o=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map(e=>fs(e,o))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class Oa{constructor(e){this.el=e,e.remember("_selectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const t=Yt();this.observer=new t.MutationObserver(this.mutationHandler)}init(e){this.createHandle=e.createHandle||this.createHandleFn,this.createRot=e.createRot||this.createRotFn,this.updateHandle=e.updateHandle||this.updateHandleFn,this.updateRot=e.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(e,t){if(!e)return this.selection.clear().remove(),void this.observer.disconnect();this.init(t)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach((e,t,i)=>{const s=this.order[t];this.createHandle.call(this,this.selection,e,t,i,s),this.selection.get(t+1).addClass("svg_select_handle svg_select_handle_"+s).on("mousedown.selection touchstart.selection",ps(s,this.el,this.handlePoints,t))})}createHandleFn(e){e.polyline()}updateHandleFn(e,t,i,s){const a=s.at(i-1),r=s[(i+1)%s.length],n=t,l=[n[0]-a[0],n[1]-a[1]],h=[n[0]-r[0],n[1]-r[1]],d=Math.sqrt(l[0]*l[0]+l[1]*l[1]),c=Math.sqrt(h[0]*h[0]+h[1]*h[1]),u=[l[0]/d,l[1]/d],g=[h[0]/c,h[1]/c],p=[n[0]-10*u[0],n[1]-10*u[1]],f=[n[0]-10*g[0],n[1]-10*g[1]];e.plot([p,n,f])}updateResizeHandles(){this.handlePoints.forEach((e,t,i)=>{const s=this.order[t];this.updateHandle.call(this,this.selection.get(t+1),e,t,i,s)})}createRotFn(e){e.line(),e.circle(5)}getPoint(e){return this.handlePoints[this.order.indexOf(e)]}getPointHandle(e){return this.selection.get(this.order.indexOf(e)+1)}updateRotFn(e,t){const i=this.getPoint("t");e.get(0).plot(i[0],i[1],t[0],t[1]),e.get(1).center(t[0],t[1])}createRotationHandle(){const e=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",ps("rot",this.el,this.handlePoints));this.createRot.call(this,e)}updateRotationHandle(){const e=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(e,this.rotationPoint,this.handlePoints)}updatePoints(){const e=this.el.bbox(),t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(e).map(i=>xs(i,t)),this.rotationPoint=xs(this.getRotationPoint(e),t)}getHandlePoints({x:e,x2:t,y:i,y2:s,cx:a,cy:r}=this.el.bbox()){return[[e,i],[a,i],[t,i],[t,r],[t,s],[a,s],[e,s],[e,r]]}getRotationPoint({y:e,cx:t}=this.el.bbox()){return[t,e-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const za=o=>function(e=!0,t={}){typeof e=="object"&&(t=e,e=!0);let i=this.remember("_"+o.name);return i||(e.prototype instanceof Oa?(i=new e(this),e=!0):i=new o(this),this.remember("_"+o.name,i)),i.active(e,t),this};Q(Ee,{select:za(Oa)}),Q([yt,wt,mt],{pointSelect:za(class{constructor(o){this.el=o,o.remember("_pointSelectHandler",this),this.selection=new ct,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=Yt();this.observer=new e.MutationObserver(this.mutationHandler)}init(o){this.createHandle=o.createHandle||this.createHandleFn,this.updateHandle=o.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(o,e){if(!o)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach((o,e,t)=>{this.createHandle.call(this,this.selection,o,e,t),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",ps("point",this.el,this.points,e))})}createHandleFn(o){o.circle(5)}updateHandleFn(o,e){o.center(e[0],e[1])}updatePointHandles(){this.points.forEach((o,e,t)=>{this.updateHandle.call(this,this.selection.get(e+1),o,e,t)})}updatePoints(){const o=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map(e=>xs(e,o))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const gi=o=>(o.changedTouches&&(o=o.changedTouches[0]),{x:o.clientX,y:o.clientY}),Xa=o=>{let e=1/0,t=1/0,i=-1/0,s=-1/0;for(let a=0;a{const T=C-m[0],A=(k-m[1])*v;return[T*v+m[0],A+m[1]]});return Xa(w)}(this.box,p,f)}this.el.dispatch("resize",{box:new Me(h),angle:0,eventType:this.eventType,event:e,handler:this}).defaultPrevented||this.el.size(h.width,h.height).move(h.x,h.y)}movePoint(e){this.lastEvent=e;const{x:t,y:i}=this.snapToGrid(this.el.point(gi(e))),s=this.el.array().slice();s[this.index]=[t,i],this.el.dispatch("resize",{box:Xa(s),angle:0,eventType:this.eventType,event:e,handler:this}).defaultPrevented||this.el.plot(s)}rotate(e){this.lastEvent=e;const t=this.startPoint,i=this.el.point(gi(e)),{cx:s,cy:a}=this.box,r=t.x-s,n=t.y-a,l=i.x-s,h=i.y-a,d=Math.sqrt(r*r+n*n)*Math.sqrt(l*l+h*h);if(d===0)return;let c=Math.acos((r*l+n*h)/d)/Math.PI*180;if(!c)return;i.xdiv { + margin: 4px 0 +} + +.apexcharts-tooltip-box span.value { + font-weight: 700 +} + +.apexcharts-tooltip-rangebar { + padding: 5px 8px +} + +.apexcharts-tooltip-rangebar .category { + font-weight: 600; + color: #777 +} + +.apexcharts-tooltip-rangebar .series-name { + font-weight: 700; + display: block; + margin-bottom: 5px +} + +.apexcharts-xaxistooltip, +.apexcharts-yaxistooltip { + opacity: 0; + pointer-events: none; + color: #373d3f; + font-size: 13px; + text-align: center; + border-radius: 2px; + position: absolute; + z-index: 10; + background: #eceff1; + border: 1px solid #90a4ae +} + +.apexcharts-xaxistooltip { + padding: 9px 10px; + transition: .15s ease all +} + +.apexcharts-xaxistooltip.apexcharts-theme-dark { + background: rgba(0, 0, 0, .7); + border: 1px solid rgba(0, 0, 0, .5); + color: #fff +} + +.apexcharts-xaxistooltip:after, +.apexcharts-xaxistooltip:before { + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-xaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-left: -6px +} + +.apexcharts-xaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-left: -7px +} + +.apexcharts-xaxistooltip-bottom:after, +.apexcharts-xaxistooltip-bottom:before { + bottom: 100% +} + +.apexcharts-xaxistooltip-top:after, +.apexcharts-xaxistooltip-top:before { + top: 100% +} + +.apexcharts-xaxistooltip-bottom:after { + border-bottom-color: #eceff1 +} + +.apexcharts-xaxistooltip-bottom:before { + border-bottom-color: #90a4ae +} + +.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after, +.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before { + border-bottom-color: rgba(0, 0, 0, .5) +} + +.apexcharts-xaxistooltip-top:after { + border-top-color: #eceff1 +} + +.apexcharts-xaxistooltip-top:before { + border-top-color: #90a4ae +} + +.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after, +.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before { + border-top-color: rgba(0, 0, 0, .5) +} + +.apexcharts-xaxistooltip.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-yaxistooltip { + padding: 4px 10px +} + +.apexcharts-yaxistooltip.apexcharts-theme-dark { + background: rgba(0, 0, 0, .7); + border: 1px solid rgba(0, 0, 0, .5); + color: #fff +} + +.apexcharts-yaxistooltip:after, +.apexcharts-yaxistooltip:before { + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none +} + +.apexcharts-yaxistooltip:after { + border-color: transparent; + border-width: 6px; + margin-top: -6px +} + +.apexcharts-yaxistooltip:before { + border-color: transparent; + border-width: 7px; + margin-top: -7px +} + +.apexcharts-yaxistooltip-left:after, +.apexcharts-yaxistooltip-left:before { + left: 100% +} + +.apexcharts-yaxistooltip-right:after, +.apexcharts-yaxistooltip-right:before { + right: 100% +} + +.apexcharts-yaxistooltip-left:after { + border-left-color: #eceff1 +} + +.apexcharts-yaxistooltip-left:before { + border-left-color: #90a4ae +} + +.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after, +.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before { + border-left-color: rgba(0, 0, 0, .5) +} + +.apexcharts-yaxistooltip-right:after { + border-right-color: #eceff1 +} + +.apexcharts-yaxistooltip-right:before { + border-right-color: #90a4ae +} + +.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after, +.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before { + border-right-color: rgba(0, 0, 0, .5) +} + +.apexcharts-yaxistooltip.apexcharts-active { + opacity: 1 +} + +.apexcharts-yaxistooltip-hidden { + display: none +} + +.apexcharts-xcrosshairs, +.apexcharts-ycrosshairs { + pointer-events: none; + opacity: 0; + transition: .15s ease all +} + +.apexcharts-xcrosshairs.apexcharts-active, +.apexcharts-ycrosshairs.apexcharts-active { + opacity: 1; + transition: .15s ease all +} + +.apexcharts-ycrosshairs-hidden { + opacity: 0 +} + +.apexcharts-selection-rect { + cursor: move +} + +.svg_select_shape { + stroke-width: 1; + stroke-dasharray: 10 10; + stroke: black; + stroke-opacity: 0.1; + pointer-events: none; + fill: none; +} + +.svg_select_handle { + stroke-width: 3; + stroke: black; + fill: none; +} + +.svg_select_handle_r { + cursor: e-resize; +} + +.svg_select_handle_l { + cursor: w-resize; +} + +.apexcharts-svg.apexcharts-zoomable.hovering-zoom { + cursor: crosshair +} + +.apexcharts-svg.apexcharts-zoomable.hovering-pan { + cursor: move +} + +.apexcharts-menu-icon, +.apexcharts-pan-icon, +.apexcharts-reset-icon, +.apexcharts-selection-icon, +.apexcharts-toolbar-custom-icon, +.apexcharts-zoom-icon, +.apexcharts-zoomin-icon, +.apexcharts-zoomout-icon { + cursor: pointer; + width: 20px; + height: 20px; + line-height: 24px; + color: #6e8192; + text-align: center +} + +.apexcharts-menu-icon svg, +.apexcharts-reset-icon svg, +.apexcharts-zoom-icon svg, +.apexcharts-zoomin-icon svg, +.apexcharts-zoomout-icon svg { + fill: #6e8192 +} + +.apexcharts-selection-icon svg { + fill: #444; + transform: scale(.76) +} + +.apexcharts-theme-dark .apexcharts-menu-icon svg, +.apexcharts-theme-dark .apexcharts-pan-icon svg, +.apexcharts-theme-dark .apexcharts-reset-icon svg, +.apexcharts-theme-dark .apexcharts-selection-icon svg, +.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg, +.apexcharts-theme-dark .apexcharts-zoom-icon svg, +.apexcharts-theme-dark .apexcharts-zoomin-icon svg, +.apexcharts-theme-dark .apexcharts-zoomout-icon svg { + fill: #f3f4f5 +} + +.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg, +.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg, +.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg { + fill: #008ffb +} + +.apexcharts-theme-light .apexcharts-menu-icon:hover svg, +.apexcharts-theme-light .apexcharts-reset-icon:hover svg, +.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg, +.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg, +.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg, +.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg { + fill: #333 +} + +.apexcharts-menu-icon, +.apexcharts-selection-icon { + position: relative +} + +.apexcharts-reset-icon { + margin-left: 5px +} + +.apexcharts-menu-icon, +.apexcharts-reset-icon, +.apexcharts-zoom-icon { + transform: scale(.85) +} + +.apexcharts-zoomin-icon, +.apexcharts-zoomout-icon { + transform: scale(.7) +} + +.apexcharts-zoomout-icon { + margin-right: 3px +} + +.apexcharts-pan-icon { + transform: scale(.62); + position: relative; + left: 1px; + top: 0 +} + +.apexcharts-pan-icon svg { + fill: #fff; + stroke: #6e8192; + stroke-width: 2 +} + +.apexcharts-pan-icon.apexcharts-selected svg { + stroke: #008ffb +} + +.apexcharts-pan-icon:not(.apexcharts-selected):hover svg { + stroke: #333 +} + +.apexcharts-toolbar { + position: absolute; + z-index: 11; + max-width: 176px; + text-align: right; + border-radius: 3px; + padding: 0 6px 2px; + display: flex; + justify-content: space-between; + align-items: center +} + +.apexcharts-menu { + background: #fff; + position: absolute; + top: 100%; + border: 1px solid #ddd; + border-radius: 3px; + padding: 3px; + right: 10px; + opacity: 0; + min-width: 110px; + transition: .15s ease all; + pointer-events: none +} + +.apexcharts-menu.apexcharts-menu-open { + opacity: 1; + pointer-events: all; + transition: .15s ease all +} + +.apexcharts-menu-item { + padding: 6px 7px; + font-size: 12px; + cursor: pointer +} + +.apexcharts-theme-light .apexcharts-menu-item:hover { + background: #eee +} + +.apexcharts-theme-dark .apexcharts-menu { + background: rgba(0, 0, 0, .7); + color: #fff +} + +@media screen and (min-width:768px) { + .apexcharts-canvas:hover .apexcharts-toolbar { + opacity: 1 + } +} + +.apexcharts-canvas .apexcharts-element-hidden, +.apexcharts-datalabel.apexcharts-element-hidden, +.apexcharts-hide .apexcharts-series-points { + opacity: 0; +} + +.apexcharts-hidden-element-shown { + opacity: 1; + transition: 0.25s ease all; +} + +.apexcharts-datalabel, +.apexcharts-datalabel-label, +.apexcharts-datalabel-value, +.apexcharts-datalabels, +.apexcharts-pie-label { + cursor: default; + pointer-events: none +} + +.apexcharts-pie-label-delay { + opacity: 0; + animation-name: opaque; + animation-duration: .3s; + animation-fill-mode: forwards; + animation-timing-function: ease +} + +.apexcharts-radialbar-label { + cursor: pointer; +} + +.apexcharts-annotation-rect, +.apexcharts-area-series .apexcharts-area, +.apexcharts-gridline, +.apexcharts-line, +.apexcharts-point-annotation-label, +.apexcharts-radar-series path:not(.apexcharts-marker), +.apexcharts-radar-series polygon, +.apexcharts-toolbar svg, +.apexcharts-tooltip .apexcharts-marker, +.apexcharts-xaxis-annotation-label, +.apexcharts-yaxis-annotation-label, +.apexcharts-zoom-rect, +.no-pointer-events { + pointer-events: none +} + +.apexcharts-tooltip-active .apexcharts-marker { + transition: .15s ease all +} + +.resize-triggers { + animation: 1ms resizeanim; + visibility: hidden; + opacity: 0; + height: 100%; + width: 100%; + overflow: hidden +} + +.contract-trigger:before, +.resize-triggers, +.resize-triggers>div { + content: " "; + display: block; + position: absolute; + top: 0; + left: 0 +} + +.resize-triggers>div { + height: 100%; + width: 100%; + background: #eee; + overflow: auto +} + +.contract-trigger:before { + overflow: hidden; + width: 200%; + height: 200% +} + +.apexcharts-bar-goals-markers { + pointer-events: none +} + +.apexcharts-bar-shadows { + pointer-events: none +} + +.apexcharts-rangebar-goals-markers { + pointer-events: none +}`;var d=((h=e.opts.chart)===null||h===void 0?void 0:h.nonce)||e.w.config.chart.nonce;d&&l.setAttribute("nonce",d),r?a.prepend(l):n.head.appendChild(l)}var c=e.create(e.w.config.series,{});if(!c)return t(e);e.mount(c).then(function(){typeof e.w.config.chart.events.mounted=="function"&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent("mounted",[e,e.w]),t(c)}).catch(function(u){i(u)})}else i(new Error("Element not found"))})}},{key:"create",value:function(e,t){var i=this,s=this.w;new Ha(this).initModules();var a=this.w.globals;if(a.noData=!1,a.animationEnded=!1,!R.elementExists(this.el))return a.animationEnded=!0,this.destroy(),null;if(this.responsive.checkResponsiveConfig(t),s.config.xaxis.convertedCatToNumeric&&new Ut(s.config).convertCatToNumericXaxis(s.config,this.ctx),this.core.setupElements(),s.config.chart.type==="treemap"&&(s.config.grid.show=!1,s.config.yaxis[0].show=!1),a.svgWidth===0)return a.animationEnded=!0,null;var r=e;e.forEach(function(u,g){u.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:g}))});var n=Pe.checkComboSeries(r,s.config.chart.type);a.comboCharts=n.comboCharts,a.comboBarCount=n.comboBarCount;var l=r.every(function(u){return u.data&&u.data.length===0});(r.length===0||l&&a.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Ot(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!s.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),s.config.xaxis.type!=="category"&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=s.globals.minX,this.ctx.toolbar.maxX=s.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pe(this).getLargestMarkerSize(),this.dimensions.plotCoords();var h=this.core.xySettings();this.grid.createGridMask();var d=this.core.plotChartType(r,h),c=new zt(this);return c.bringForward(),s.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:d,xyRatios:h,dimensions:{plot:{left:s.globals.translateX,top:s.globals.translateY,width:s.globals.gridWidth,height:s.globals.gridHeight}}}}},{key:"mount",value:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=this,s=i.w;return new Promise(function(a,r){if(i.el===null)return r(new Error("Not enough data to display or target element not found"));(t===null||s.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new ba(i);var n,l,h=i.grid.drawGrid();if(i.annotations=new nn(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),s.config.grid.position==="back"&&(h&&s.globals.dom.elGraphical.add(h.el),h!=null&&(n=h.elGridBorders)!==null&&n!==void 0&&n.node&&s.globals.dom.elGraphical.add(h.elGridBorders)),Array.isArray(t.elGraph))for(var d=0;d0&&s.globals.memory.methodsToExec.forEach(function(p){p.method(p.params,!1,p.context)}),s.globals.axisCharts||s.globals.noData||i.core.resizeNonAxisCharts(),a(i)})}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),function(t,i){var s=ms.get(i);s&&(s.disconnect(),ms.delete(i))}(this.el.parentNode,this.parentResizeHandler);var e=this.w.config.chart.id;e&&Apex._chartInstances.forEach(function(t,i){t.id===R.escapeString(e)&&Apex._chartInstances.splice(i,1)}),new Ya(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(e){var t=this,i=arguments.length>1&&arguments[1]!==void 0&&arguments[1],s=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],a=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],n=this.w;return this.opts=e,n.globals.selection=void 0,e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map(function(l,h){return t.updateHelpers._extendSeries(l,h)})),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,i,s,a,r)}},{key:"updateSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,i)}},{key:"appendSeries",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2],s=this.w.config.series.slice();return s.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(s,t,i)}},{key:"appendData",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var s=i.w.config.series.slice(),a=0;a0&&arguments[0]!==void 0)||arguments[0],t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];this.series.resetSeries(e,t)}},{key:"addEventListener",value:function(e,t){this.events.addEventListener(e,t)}},{key:"removeEventListener",value:function(e,t){this.events.removeEventListener(e,t)}},{key:"addXaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addXaxisAnnotationExternal(e,t,s)}},{key:"addYaxisAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addYaxisAnnotationExternal(e,t,s)}},{key:"addPointAnnotation",value:function(e){var t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addPointAnnotationExternal(e,t,s)}},{key:"clearAnnotations",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:"removeAnnotation",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,i=this;t&&(i=t),i.annotations.removeAnnotation(i,e)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:"getHighestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new os(this.ctx).getMinYMaxY(e).highestY}},{key:"getLowestValueInSeries",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return new os(this.ctx).getMinYMaxY(e).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:"zoomX",value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:"setLocale",value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:"dataURI",value:function(e){return new di(this.ctx).dataURI(e)}},{key:"exportToCSV",value:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return new di(this.ctx).exportToCSV(e)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()},150)}},{key:"_windowResizeHandler",value:function(){var e=this.w.config.chart.redrawOnWindowResize;typeof e=="function"&&(e=e()),e&&this._windowResize()}}],[{key:"getChartByID",value:function(e){var t=R.escapeString(e);if(Apex._chartInstances){var i=Apex._chartInstances.filter(function(s){return s.id===t})[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),t=0;t2?a-2:0),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

6YDvmHdt+&#dGtmOQtT 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 literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/assets/vue-apexcharts-SftWG7rg.js.map b/src/web/assets/dist/assets/vue-apexcharts-SftWG7rg.js.map new file mode 100644 index 00000000..d7da7cce --- /dev/null +++ b/src/web/assets/dist/assets/vue-apexcharts-SftWG7rg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"vue-apexcharts-SftWG7rg.js","sources":["../../../../../buildchain/node_modules/axios/lib/helpers/bind.js","../../../../../buildchain/node_modules/axios/lib/utils.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/null.js","../../../../../buildchain/node_modules/axios/lib/helpers/toFormData.js","../../../../../buildchain/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/helpers/buildURL.js","../../../../../buildchain/node_modules/axios/lib/core/InterceptorManager.js","../../../../../buildchain/node_modules/axios/lib/defaults/transitional.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../buildchain/node_modules/axios/lib/platform/browser/index.js","../../../../../buildchain/node_modules/axios/lib/platform/common/utils.js","../../../../../buildchain/node_modules/axios/lib/platform/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../buildchain/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../buildchain/node_modules/axios/lib/defaults/index.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/AxiosHeaders.js","../../../../../buildchain/node_modules/axios/lib/core/transformData.js","../../../../../buildchain/node_modules/axios/lib/cancel/isCancel.js","../../../../../buildchain/node_modules/axios/lib/cancel/CanceledError.js","../../../../../buildchain/node_modules/axios/lib/core/settle.js","../../../../../buildchain/node_modules/axios/lib/helpers/parseProtocol.js","../../../../../buildchain/node_modules/axios/lib/helpers/speedometer.js","../../../../../buildchain/node_modules/axios/lib/helpers/throttle.js","../../../../../buildchain/node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../buildchain/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../buildchain/node_modules/axios/lib/helpers/cookies.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../buildchain/node_modules/axios/lib/helpers/combineURLs.js","../../../../../buildchain/node_modules/axios/lib/core/buildFullPath.js","../../../../../buildchain/node_modules/axios/lib/core/mergeConfig.js","../../../../../buildchain/node_modules/axios/lib/helpers/resolveConfig.js","../../../../../buildchain/node_modules/axios/lib/adapters/xhr.js","../../../../../buildchain/node_modules/axios/lib/helpers/composeSignals.js","../../../../../buildchain/node_modules/axios/lib/helpers/trackStream.js","../../../../../buildchain/node_modules/axios/lib/adapters/fetch.js","../../../../../buildchain/node_modules/axios/lib/adapters/adapters.js","../../../../../buildchain/node_modules/axios/lib/core/dispatchRequest.js","../../../../../buildchain/node_modules/axios/lib/env/data.js","../../../../../buildchain/node_modules/axios/lib/helpers/validator.js","../../../../../buildchain/node_modules/axios/lib/core/Axios.js","../../../../../buildchain/node_modules/axios/lib/cancel/CancelToken.js","../../../../../buildchain/node_modules/axios/lib/helpers/spread.js","../../../../../buildchain/node_modules/axios/lib/helpers/isAxiosError.js","../../../../../buildchain/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../buildchain/node_modules/axios/lib/axios.js","../../../../../buildchain/node_modules/apexcharts/dist/apexcharts.min.js","../../../../../buildchain/node_modules/vue-apexcharts/dist/vue-apexcharts.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*!\n * ApexCharts v4.2.0\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,n=!0,o=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return n=t.done,t},e:function(t){o=!0,r=t},f:function(){try{n||null==i.return||i.return()}finally{if(o)throw r}}}}function n(t){var i=c();return function(){var a,s=l(t);if(i){var r=l(this).constructor;a=Reflect.construct(s,arguments,r)}else a=s.apply(this,arguments);return function(t,i){if(i&&(\"object\"==typeof i||\"function\"==typeof i))return i;if(void 0!==i)throw new TypeError(\"Derived constructors may only return object or undefined\");return e(t)}(this,a)}}function o(t,e,i){return(e=x(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function h(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&g(t,e)}function c(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(c=function(){return!!t})()}function d(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function u(t){for(var e=1;e>16,n=i>>8&255,o=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===b(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"elementExists\",value:function(t){return!(!t||!t.isConnected)}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"preciseAddition\",value:function(t,e){var i=(String(t).split(\".\")[1]||\"\").length,a=(String(e).split(\".\")[1]||\"\").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isMsEdge\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"Edge/\");return e>0&&parseInt(t.substring(e+5,t.indexOf(\".\",e)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a){t.attr({opacity:0}).animate(e).attr({opacity:1}).after((function(){a()}))}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).after((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,n=t.pathTo,o=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,n,o,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,n,o){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(n=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r.trim()||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(n=1),t.plot(s).animate(1,o).plot(s).animate(n,o).plot(r).after((function(){v.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}();const w={},k=[];function A(t,e){if(Array.isArray(t))for(const i of t)A(i,e);else if(\"object\"!=typeof t)S(Object.getOwnPropertyNames(e)),w[t]=Object.assign(w[t]||{},e);else for(const e in t)A(e,t[e])}function C(t){return w[t]||{}}function S(t){k.push(...t)}function L(t,e){let i;const a=t.length,s=[];for(i=0;iz.has(t.nodeName),R=(t,e,i={})=>{const a={...e};for(const t in a)a[t].valueOf()===i[t]&&delete a[t];Object.keys(a).length?t.node.setAttribute(\"data-svgjs\",JSON.stringify(a)):(t.node.removeAttribute(\"data-svgjs\"),t.node.removeAttribute(\"svgjs:data\"))},E=\"http://www.w3.org/2000/svg\",Y=\"http://www.w3.org/2000/xmlns/\",H=\"http://www.w3.org/1999/xlink\",O={window:\"undefined\"==typeof window?null:window,document:\"undefined\"==typeof document?null:document};function F(){return O.window}let D=class{};const _={},N=\"___SYMBOL___ROOT___\";function W(t,e=E){return O.document.createElementNS(e,t)}function B(t,e=!1){if(t instanceof D)return t;if(\"object\"==typeof t)return U(t);if(null==t)return new _[N];if(\"string\"==typeof t&&\"<\"!==t.charAt(0))return U(O.document.querySelector(t));const i=e?O.document.createElement(\"div\"):W(\"svg\");return i.innerHTML=t,t=U(i.firstChild),i.removeChild(i.firstChild),t}function G(t,e){return e&&(e instanceof O.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:W(t)}function V(t){if(!t)return null;if(t.instance instanceof D)return t.instance;if(\"#document-fragment\"===t.nodeName)return new _.Fragment(t);let e=P(t.nodeName||\"Dom\");return\"LinearGradient\"===e||\"RadialGradient\"===e?e=\"Gradient\":_[e]||(e=\"Dom\"),new _[e](t)}let U=V;function q(t,e=t.name,i=!1){return _[e]=t,i&&(_[N]=t),S(Object.getOwnPropertyNames(t.prototype)),t}let Z=1e3;function $(t){return\"Svgjs\"+P(t)+Z++}function J(t){for(let e=t.children.length-1;e>=0;e--)J(t.children[e]);return t.id?(t.id=$(t.nodeName),t):t}function Q(t,e){let i,a;for(a=(t=Array.isArray(t)?t:[t]).length-1;a>=0;a--)for(i in e)t[a].prototype[i]=e[i]}function K(t){return function(...e){const i=e[e.length-1];return!i||i.constructor!==Object||i instanceof Array?t.apply(this,e):t.apply(this,e.slice(0,-1)).attr(i)}}A(\"Dom\",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const t=this.position();return this.parent().add(this.remove(),t+1),this},backward:function(){const t=this.position();return this.parent().add(this.remove(),t?t-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e),this},after:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e+1),this},insertBefore:function(t){return(t=B(t)).before(this),this},insertAfter:function(t){return(t=B(t)).after(this),this}});const tt=/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,et=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,it=/rgb\\((\\d+),(\\d+),(\\d+)\\)/,at=/(#[a-z_][a-z0-9\\-_]*)/i,st=/\\)\\s*,?\\s*/,rt=/\\s/g,nt=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,ot=/^rgb\\(/,lt=/^(\\s+)?$/,ht=/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,ct=/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,dt=/[\\s,]+/,ut=/[MLHVCSQTAZ]/i;function gt(t){const e=Math.round(t),i=Math.max(0,Math.min(255,e)).toString(16);return 1===i.length?\"0\"+i:i}function pt(t,e){for(let i=e.length;i--;)if(null==t[e[i]])return!1;return!0}function ft(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}A(\"Dom\",{classes:function(){const t=this.attr(\"class\");return null==t?[]:t.trim().split(dt)},hasClass:function(t){return-1!==this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){const e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!==t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)}}),A(\"Dom\",{css:function(t,e){const i={};if(0===arguments.length)return this.node.style.cssText.split(/\\s*;\\s*/).filter((function(t){return!!t.length})).forEach((function(t){const e=t.split(/\\s*:\\s*/);i[e[0]]=e[1]})),i;if(arguments.length<2){if(Array.isArray(t)){for(const e of t){const t=e;i[e]=this.node.style.getPropertyValue(t)}return i}if(\"string\"==typeof t)return this.node.style.getPropertyValue(t);if(\"object\"==typeof t)for(const e in t)this.node.style.setProperty(e,null==t[e]||lt.test(t[e])?\"\":t[e])}return 2===arguments.length&&this.node.style.setProperty(t,null==e||lt.test(e)?\"\":e),this},show:function(){return this.css(\"display\",\"\")},hide:function(){return this.css(\"display\",\"none\")},visible:function(){return\"none\"!==this.css(\"display\")}}),A(\"Dom\",{data:function(t,e,i){if(null==t)return this.data(L(function(t,e){let i;const a=t.length,s=[];for(i=0;i0===t.nodeName.indexOf(\"data-\"))),(t=>t.nodeName.slice(5))));if(t instanceof Array){const e={};for(const i of t)e[i]=this.data(i);return e}if(\"object\"==typeof t)for(e in t)this.data(e,t[e]);else if(arguments.length<2)try{return JSON.parse(this.attr(\"data-\"+t))}catch(e){return this.attr(\"data-\"+t)}else this.attr(\"data-\"+t,null===e?null:!0===i||\"string\"==typeof e||\"number\"==typeof e?e:JSON.stringify(e));return this}}),A(\"Dom\",{remember:function(t,e){if(\"object\"==typeof arguments[0])for(const e in t)this.remember(e,t[e]);else{if(1===arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0===arguments.length)this._memory={};else for(let t=arguments.length-1;t>=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory=this._memory||{}}});class xt{constructor(...t){this.init(...t)}static isColor(t){return t&&(t instanceof xt||this.isRgb(t)||this.test(t))}static isRgb(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b}static random(t=\"vibrant\",e){const{random:i,round:a,sin:s,PI:r}=Math;if(\"vibrant\"===t){const t=24*i()+57,e=38*i()+45,a=360*i();return new xt(t,e,a,\"lch\")}if(\"sine\"===t){const t=a(80*s(2*r*(e=null==e?i():e)/.5+.01)+150),n=a(50*s(2*r*e/.5+4.6)+200),o=a(100*s(2*r*e/.5+2.3)+150);return new xt(t,n,o)}if(\"pastel\"===t){const t=8*i()+86,e=17*i()+9,a=360*i();return new xt(t,e,a,\"lch\")}if(\"dark\"===t){const t=10+10*i(),e=50*i()+86,a=360*i();return new xt(t,e,a,\"lch\")}if(\"rgb\"===t){const t=255*i(),e=255*i(),a=255*i();return new xt(t,e,a)}if(\"lab\"===t){const t=100*i(),e=256*i()-128,a=256*i()-128;return new xt(t,e,a,\"lab\")}if(\"grey\"===t){const t=255*i();return new xt(t,t,t)}throw new Error(\"Unsupported random color mode\")}static test(t){return\"string\"==typeof t&&(nt.test(t)||ot.test(t))}cmyk(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.min(1-a,1-s,1-r);if(1===n)return new xt(0,0,0,1,\"cmyk\");return new xt((1-a-n)/(1-n),(1-s-n)/(1-n),(1-r-n)/(1-n),n,\"cmyk\")}hsl(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.max(a,s,r),o=Math.min(a,s,r),l=(n+o)/2,h=n===o,c=n-o;return new xt(360*(h?0:n===a?((s-r)/c+(s.5?c/(2-n-o):c/(n+o)),100*l,\"hsl\")}init(t=0,e=0,i=0,a=0,s=\"rgb\"){if(t=t||0,this.space)for(const t in this.space)delete this[this.space[t]];if(\"number\"==typeof t)s=\"string\"==typeof a?a:s,a=\"string\"==typeof a?0:a,Object.assign(this,{_a:t,_b:e,_c:i,_d:a,space:s});else if(t instanceof Array)this.space=e||(\"string\"==typeof t[3]?t[3]:t[4])||\"rgb\",Object.assign(this,{_a:t[0],_b:t[1],_c:t[2],_d:t[3]||0});else if(t instanceof Object){const i=function(t,e){const i=pt(t,\"rgb\")?{_a:t.r,_b:t.g,_c:t.b,_d:0,space:\"rgb\"}:pt(t,\"xyz\")?{_a:t.x,_b:t.y,_c:t.z,_d:0,space:\"xyz\"}:pt(t,\"hsl\")?{_a:t.h,_b:t.s,_c:t.l,_d:0,space:\"hsl\"}:pt(t,\"lab\")?{_a:t.l,_b:t.a,_c:t.b,_d:0,space:\"lab\"}:pt(t,\"lch\")?{_a:t.l,_b:t.c,_c:t.h,_d:0,space:\"lch\"}:pt(t,\"cmyk\")?{_a:t.c,_b:t.m,_c:t.y,_d:t.k,space:\"cmyk\"}:{_a:0,_b:0,_c:0,space:\"rgb\"};return i.space=e||i.space,i}(t,e);Object.assign(this,i)}else if(\"string\"==typeof t)if(ot.test(t)){const e=t.replace(rt,\"\"),[i,a,s]=it.exec(e).slice(1,4).map((t=>parseInt(t)));Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:\"rgb\"})}else{if(!nt.test(t))throw Error(\"Unsupported string format, can't construct Color\");{const e=t=>parseInt(t,16),[,i,a,s]=et.exec(function(t){return 4===t.length?[\"#\",t.substring(1,2),t.substring(1,2),t.substring(2,3),t.substring(2,3),t.substring(3,4),t.substring(3,4)].join(\"\"):t}(t)).map(e);Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:\"rgb\"})}}const{_a:r,_b:n,_c:o,_d:l}=this,h=\"rgb\"===this.space?{r:r,g:n,b:o}:\"xyz\"===this.space?{x:r,y:n,z:o}:\"hsl\"===this.space?{h:r,s:n,l:o}:\"lab\"===this.space?{l:r,a:n,b:o}:\"lch\"===this.space?{l:r,c:n,h:o}:\"cmyk\"===this.space?{c:r,m:n,y:o,k:l}:{};Object.assign(this,h)}lab(){const{x:t,y:e,z:i}=this.xyz();return new xt(116*e-16,500*(t-e),200*(e-i),\"lab\")}lch(){const{l:t,a:e,b:i}=this.lab(),a=Math.sqrt(e**2+i**2);let s=180*Math.atan2(i,e)/Math.PI;s<0&&(s*=-1,s=360-s);return new xt(t,a,s,\"lch\")}rgb(){if(\"rgb\"===this.space)return this;if(\"lab\"===(t=this.space)||\"xyz\"===t||\"lch\"===t){let{x:t,y:e,z:i}=this;if(\"lab\"===this.space||\"lch\"===this.space){let{l:a,a:s,b:r}=this;if(\"lch\"===this.space){const{c:t,h:e}=this,i=Math.PI/180;s=t*Math.cos(i*e),r=t*Math.sin(i*e)}const n=(a+16)/116,o=s/500+n,l=n-r/200,h=16/116,c=.008856,d=7.787;t=.95047*(o**3>c?o**3:(o-h)/d),e=1*(n**3>c?n**3:(n-h)/d),i=1.08883*(l**3>c?l**3:(l-h)/d)}const a=3.2406*t+-1.5372*e+-.4986*i,s=-.9689*t+1.8758*e+.0415*i,r=.0557*t+-.204*e+1.057*i,n=Math.pow,o=.0031308,l=a>o?1.055*n(a,1/2.4)-.055:12.92*a,h=s>o?1.055*n(s,1/2.4)-.055:12.92*s,c=r>o?1.055*n(r,1/2.4)-.055:12.92*r;return new xt(255*l,255*h,255*c)}if(\"hsl\"===this.space){let{h:t,s:e,l:i}=this;if(t/=360,e/=100,i/=100,0===e){i*=255;return new xt(i,i,i)}const a=i<.5?i*(1+e):i+e-i*e,s=2*i-a,r=255*ft(s,a,t+1/3),n=255*ft(s,a,t),o=255*ft(s,a,t-1/3);return new xt(r,n,o)}if(\"cmyk\"===this.space){const{c:t,m:e,y:i,k:a}=this,s=255*(1-Math.min(1,t*(1-a)+a)),r=255*(1-Math.min(1,e*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a));return new xt(s,r,n)}return this;var t}toArray(){const{_a:t,_b:e,_c:i,_d:a,space:s}=this;return[t,e,i,a,s]}toHex(){const[t,e,i]=this._clamped().map(gt);return`#${t}${e}${i}`}toRgb(){const[t,e,i]=this._clamped();return`rgb(${t},${e},${i})`}toString(){return this.toHex()}xyz(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,o=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,h=(.4124*n+.3576*o+.1805*l)/.95047,c=(.2126*n+.7152*o+.0722*l)/1,d=(.0193*n+.1192*o+.9505*l)/1.08883,u=h>.008856?Math.pow(h,1/3):7.787*h+16/116,g=c>.008856?Math.pow(c,1/3):7.787*c+16/116,p=d>.008856?Math.pow(d,1/3):7.787*d+16/116;return new xt(u,g,p,\"xyz\")}_clamped(){const{_a:t,_b:e,_c:i}=this.rgb(),{max:a,min:s,round:r}=Math;return[t,e,i].map((t=>a(0,s(r(t),255))))}}class bt{constructor(...t){this.init(...t)}clone(){return new bt(this)}init(t,e){const i=0,a=0,s=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"==typeof t?{x:t.x,y:t.y}:{x:t,y:e};return this.x=null==s.x?i:s.x,this.y=null==s.y?a:s.y,this}toArray(){return[this.x,this.y]}transform(t){return this.clone().transformO(t)}transformO(t){vt.isMatrixLike(t)||(t=new vt(t));const{x:e,y:i}=this;return this.x=t.a*e+t.c*i+t.e,this.y=t.b*e+t.d*i+t.f,this}}function mt(t,e,i){return Math.abs(e-t)<(i||1e-6)}class vt{constructor(...t){this.init(...t)}static formatTransforms(t){const e=\"both\"===t.flip||!0===t.flip,i=t.flip&&(e||\"x\"===t.flip)?-1:1,a=t.flip&&(e||\"y\"===t.flip)?-1:1,s=t.skew&&t.skew.length?t.skew[0]:isFinite(t.skew)?t.skew:isFinite(t.skewX)?t.skewX:0,r=t.skew&&t.skew.length?t.skew[1]:isFinite(t.skew)?t.skew:isFinite(t.skewY)?t.skewY:0,n=t.scale&&t.scale.length?t.scale[0]*i:isFinite(t.scale)?t.scale*i:isFinite(t.scaleX)?t.scaleX*i:i,o=t.scale&&t.scale.length?t.scale[1]*a:isFinite(t.scale)?t.scale*a:isFinite(t.scaleY)?t.scaleY*a:a,l=t.shear||0,h=t.rotate||t.theta||0,c=new bt(t.origin||t.around||t.ox||t.originX,t.oy||t.originY),d=c.x,u=c.y,g=new bt(t.position||t.px||t.positionX||NaN,t.py||t.positionY||NaN),p=g.x,f=g.y,x=new bt(t.translate||t.tx||t.translateX,t.ty||t.translateY),b=x.x,m=x.y,v=new bt(t.relative||t.rx||t.relativeX,t.ry||t.relativeY);return{scaleX:n,scaleY:o,skewX:s,skewY:r,shear:l,theta:h,rx:v.x,ry:v.y,tx:b,ty:m,ox:d,oy:u,px:p,py:f}}static fromArray(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}static isMatrixLike(t){return null!=t.a||null!=t.b||null!=t.c||null!=t.d||null!=t.e||null!=t.f}static matrixMultiply(t,e,i){const a=t.a*e.a+t.c*e.b,s=t.b*e.a+t.d*e.b,r=t.a*e.c+t.c*e.d,n=t.b*e.c+t.d*e.d,o=t.e+t.a*e.e+t.c*e.f,l=t.f+t.b*e.e+t.d*e.f;return i.a=a,i.b=s,i.c=r,i.d=n,i.e=o,i.f=l,i}around(t,e,i){return this.clone().aroundO(t,e,i)}aroundO(t,e,i){const a=t||0,s=e||0;return this.translateO(-a,-s).lmultiplyO(i).translateO(a,s)}clone(){return new vt(this)}decompose(t=0,e=0){const i=this.a,a=this.b,s=this.c,r=this.d,n=this.e,o=this.f,l=i*r-a*s,h=l>0?1:-1,c=h*Math.sqrt(i*i+a*a),d=Math.atan2(h*a,h*i),u=180/Math.PI*d,g=Math.cos(d),p=Math.sin(d),f=(i*s+a*r)/l,x=s*c/(f*i-a)||r*c/(f*a+i);return{scaleX:c,scaleY:x,shear:f,rotate:u,translateX:n-t+t*g*c+e*(f*g*c-p*x),translateY:o-e+t*p*c+e*(f*p*c+g*x),originX:t,originY:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(t){if(t===this)return!0;const e=new vt(t);return mt(this.a,e.a)&&mt(this.b,e.b)&&mt(this.c,e.c)&&mt(this.d,e.d)&&mt(this.e,e.e)&&mt(this.f,e.f)}flip(t,e){return this.clone().flipO(t,e)}flipO(t,e){return\"x\"===t?this.scaleO(-1,1,e,0):\"y\"===t?this.scaleO(1,-1,0,e):this.scaleO(-1,-1,t,e||t)}init(t){const e=vt.fromArray([1,0,0,1,0,0]);return t=t instanceof Gt?t.matrixify():\"string\"==typeof t?vt.fromArray(t.split(dt).map(parseFloat)):Array.isArray(t)?vt.fromArray(t):\"object\"==typeof t&&vt.isMatrixLike(t)?t:\"object\"==typeof t?(new vt).transform(t):6===arguments.length?vt.fromArray([].slice.call(arguments)):e,this.a=null!=t.a?t.a:e.a,this.b=null!=t.b?t.b:e.b,this.c=null!=t.c?t.c:e.c,this.d=null!=t.d?t.d:e.d,this.e=null!=t.e?t.e:e.e,this.f=null!=t.f?t.f:e.f,this}inverse(){return this.clone().inverseO()}inverseO(){const t=this.a,e=this.b,i=this.c,a=this.d,s=this.e,r=this.f,n=t*a-e*i;if(!n)throw new Error(\"Cannot invert \"+this);const o=a/n,l=-e/n,h=-i/n,c=t/n,d=-(o*s+h*r),u=-(l*s+c*r);return this.a=o,this.b=l,this.c=h,this.d=c,this.e=d,this.f=u,this}lmultiply(t){return this.clone().lmultiplyO(t)}lmultiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(e,this,this)}multiply(t){return this.clone().multiplyO(t)}multiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(this,e,this)}rotate(t,e,i){return this.clone().rotateO(t,e,i)}rotateO(t,e=0,i=0){t=M(t);const a=Math.cos(t),s=Math.sin(t),{a:r,b:n,c:o,d:l,e:h,f:c}=this;return this.a=r*a-n*s,this.b=n*a+r*s,this.c=o*a-l*s,this.d=l*a+o*s,this.e=h*a-c*s+i*s-e*a+e,this.f=c*a+h*s-e*s-i*a+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t);const{a:s,b:r,c:n,d:o,e:l,f:h}=this;return this.a=s*t,this.b=r*e,this.c=n*t,this.d=o*e,this.e=l*t-i*t+i,this.f=h*e-a*e+a,this}shear(t,e,i){return this.clone().shearO(t,e,i)}shearO(t,e=0,i=0){const{a:a,b:s,c:r,d:n,e:o,f:l}=this;return this.a=a+s*t,this.c=r+n*t,this.e=o+l*t-i*t,this}skew(){return this.clone().skewO(...arguments)}skewO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t),t=M(t),e=M(e);const s=Math.tan(t),r=Math.tan(e),{a:n,b:o,c:l,d:h,e:c,f:d}=this;return this.a=n+o*s,this.b=o+n*r,this.c=l+h*s,this.d=h+l*r,this.e=c+d*s-a*s,this.f=d+c*r-i*r,this}skewX(t,e,i){return this.skew(t,0,e,i)}skewY(t,e,i){return this.skew(0,t,e,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return\"matrix(\"+this.a+\",\"+this.b+\",\"+this.c+\",\"+this.d+\",\"+this.e+\",\"+this.f+\")\"}transform(t){if(vt.isMatrixLike(t)){return new vt(t).multiplyO(this)}const e=vt.formatTransforms(t),{x:i,y:a}=new bt(e.ox,e.oy).transform(this),s=(new vt).translateO(e.rx,e.ry).lmultiplyO(this).translateO(-i,-a).scaleO(e.scaleX,e.scaleY).skewO(e.skewX,e.skewY).shearO(e.shear).rotateO(e.theta).translateO(i,a);if(isFinite(e.px)||isFinite(e.py)){const t=new bt(i,a).transform(s),r=isFinite(e.px)?e.px-t.x:0,n=isFinite(e.py)?e.py-t.y:0;s.translateO(r,n)}return s.translateO(e.tx,e.ty),s}translate(t,e){return this.clone().translateO(t,e)}translateO(t,e){return this.e+=t||0,this.f+=e||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function yt(){if(!yt.nodes){const t=B().size(2,0);t.node.style.cssText=[\"opacity: 0\",\"position: absolute\",\"left: -100%\",\"top: -100%\",\"overflow: hidden\"].join(\";\"),t.attr(\"focusable\",\"false\"),t.attr(\"aria-hidden\",\"true\");const e=t.path().node;yt.nodes={svg:t,path:e}}if(!yt.nodes.svg.node.parentNode){const t=O.document.body||O.document.documentElement;yt.nodes.svg.addTo(t)}return yt.nodes}function wt(t){return!(t.width||t.height||t.x||t.y)}q(vt,\"Matrix\");class kt{constructor(...t){this.init(...t)}addOffset(){return this.x+=O.window.pageXOffset,this.y+=O.window.pageYOffset,new kt(this)}init(t){return t=\"string\"==typeof t?t.split(dt).map(parseFloat):Array.isArray(t)?t:\"object\"==typeof t?[null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height]:4===arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0]||0,this.y=t[1]||0,this.width=this.w=t[2]||0,this.height=this.h=t[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return wt(this)}merge(t){const e=Math.min(this.x,t.x),i=Math.min(this.y,t.y),a=Math.max(this.x+this.width,t.x+t.width)-e,s=Math.max(this.y+this.height,t.y+t.height)-i;return new kt(e,i,a,s)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+\" \"+this.y+\" \"+this.width+\" \"+this.height}transform(t){t instanceof vt||(t=new vt(t));let e=1/0,i=-1/0,a=1/0,s=-1/0;return[new bt(this.x,this.y),new bt(this.x2,this.y),new bt(this.x,this.y2),new bt(this.x2,this.y2)].forEach((function(r){r=r.transform(t),e=Math.min(e,r.x),i=Math.max(i,r.x),a=Math.min(a,r.y),s=Math.max(s,r.y)})),new kt(e,a,i-e,s-a)}}function At(t,e,i){let a;try{if(a=e(t.node),wt(a)&&((s=t.node)!==O.document&&!(O.document.documentElement.contains||function(t){for(;t.parentNode;)t=t.parentNode;return t===O.document}).call(O.document.documentElement,s)))throw new Error(\"Element not in the dom\")}catch(e){a=i(t)}var s;return a}A({viewbox:{viewbox(t,e,i,a){return null==t?new kt(this.attr(\"viewBox\")):this.attr(\"viewBox\",new kt(t,e,i,a))},zoom(t,e){let{width:i,height:a}=this.attr([\"width\",\"height\"]);if((i||a)&&\"string\"!=typeof i&&\"string\"!=typeof a||(i=this.node.clientWidth,a=this.node.clientHeight),!i||!a)throw new Error(\"Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element\");const s=this.viewbox(),r=i/s.width,n=a/s.height,o=Math.min(r,n);if(null==t)return o;let l=o/t;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new bt(i/2/r+s.x,a/2/n+s.y);const h=new kt(s).transform(new vt({scale:l,origin:e}));return this.viewbox(h)}}}),q(kt,\"Box\");class Ct extends Array{constructor(t=[],...e){if(super(t,...e),\"number\"==typeof t)return this;this.length=0,this.push(...t)}}Q([Ct],{each(t,...e){return\"function\"==typeof t?this.map(((e,i,a)=>t.call(e,e,i,a))):this.map((i=>i[t](...e)))},toArray(){return Array.prototype.concat.apply([],this)}});const St=[\"toArray\",\"constructor\",\"each\"];function Lt(t,e){return new Ct(L((e||O.document).querySelectorAll(t),(function(t){return V(t)})))}Ct.extend=function(t){t=t.reduce(((t,e)=>(St.includes(e)||\"_\"===e[0]||(e in Array.prototype&&(t[\"$\"+e]=Array.prototype[e]),t[e]=function(...t){return this.each(e,...t)}),t)),{}),Q([Ct],t)};let Mt=0;const Pt={};function It(t){let e=t.getEventHolder();return e===O.window&&(e=Pt),e.events||(e.events={}),e.events}function Tt(t){return t.getEventTarget()}function zt(t,e,i,a,s){const r=i.bind(a||t),n=B(t),o=It(n),l=Tt(n);e=Array.isArray(e)?e:e.split(dt),i._svgjsListenerId||(i._svgjsListenerId=++Mt),e.forEach((function(t){const e=t.split(\".\")[0],a=t.split(\".\")[1]||\"*\";o[e]=o[e]||{},o[e][a]=o[e][a]||{},o[e][a][i._svgjsListenerId]=r,l.addEventListener(e,r,s||!1)}))}function Xt(t,e,i,a){const s=B(t),r=It(s),n=Tt(s);(\"function\"!=typeof i||(i=i._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||\"\").split(dt)).forEach((function(t){const e=t&&t.split(\".\")[0],o=t&&t.split(\".\")[1];let l,h;if(i)r[e]&&r[e][o||\"*\"]&&(n.removeEventListener(e,r[e][o||\"*\"][i],a||!1),delete r[e][o||\"*\"][i]);else if(e&&o){if(r[e]&&r[e][o]){for(h in r[e][o])Xt(n,[e,o].join(\".\"),h);delete r[e][o]}}else if(o)for(t in r)for(l in r[t])o===l&&Xt(n,[t,o].join(\".\"));else if(e){if(r[e]){for(l in r[e])Xt(n,[e,l].join(\".\"));delete r[e]}}else{for(t in r)Xt(n,t);!function(t){let e=t.getEventHolder();e===O.window&&(e=Pt),e.events&&(e.events={})}(s)}}))}class Rt extends D{addEventListener(){}dispatch(t,e,i){return function(t,e,i,a){const s=Tt(t);return e instanceof O.window.Event||(e=new O.window.CustomEvent(e,{detail:i,cancelable:!0,...a})),s.dispatchEvent(e),e}(this,t,e,i)}dispatchEvent(t){const e=this.getEventHolder().events;if(!e)return!0;const i=e[t.type];for(const e in i)for(const a in i[e])i[e][a](t);return!t.defaultPrevented}fire(t,e,i){return this.dispatch(t,e,i),this}getEventHolder(){return this}getEventTarget(){return this}off(t,e,i){return Xt(this,t,e,i),this}on(t,e,i,a){return zt(this,t,e,i,a),this}removeEventListener(){}}function Et(){}q(Rt,\"EventTarget\");const Yt=400,Ht=\">\",Ot=0,Ft={\"fill-opacity\":1,\"stroke-opacity\":1,\"stroke-width\":0,\"stroke-linejoin\":\"miter\",\"stroke-linecap\":\"butt\",fill:\"#000000\",stroke:\"#000000\",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,\"stop-opacity\":1,\"stop-color\":\"#000000\",\"text-anchor\":\"start\"};class Dt extends Array{constructor(...t){super(...t),this.init(...t)}clone(){return new this.constructor(this)}init(t){return\"number\"==typeof t||(this.length=0,this.push(...this.parse(t))),this}parse(t=[]){return t instanceof Array?t:t.trim().split(dt).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(\" \")}valueOf(){const t=[];return t.push(...this),t}}class _t{constructor(...t){this.init(...t)}convert(t){return new _t(this.value,t)}divide(t){return t=new _t(t),new _t(this/t,this.unit||t.unit)}init(t,e){return e=Array.isArray(t)?t[1]:e,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(tt))&&(this.value=parseFloat(e[1]),\"%\"===e[5]?this.value/=100:\"s\"===e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof _t&&(this.value=t.valueOf(),this.unit=t.unit),this}minus(t){return t=new _t(t),new _t(this-t,this.unit||t.unit)}plus(t){return t=new _t(t),new _t(this+t,this.unit||t.unit)}times(t){return t=new _t(t),new _t(this*t,this.unit||t.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}toString(){return(\"%\"===this.unit?~~(1e8*this.value)/1e6:\"s\"===this.unit?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nt=new Set([\"fill\",\"stroke\",\"color\",\"bgcolor\",\"stop-color\",\"flood-color\",\"lighting-color\"]),Wt=[];class Bt extends Rt{constructor(t,e){super(),this.node=t,this.type=t.nodeName,e&&t!==e&&this.attr(e)}add(t,e){return(t=B(t)).removeNamespace&&this.node instanceof O.window.SVGElement&&t.removeNamespace(),null==e?this.node.appendChild(t.node):t.node!==this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this}addTo(t,e){return B(t).put(this,e)}children(){return new Ct(L(this.node.children,(function(t){return V(t)})))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(t=!0,e=!0){this.writeDataToDom();let i=this.node.cloneNode(t);return e&&(i=J(i)),new this.constructor(i)}each(t,e){const i=this.children();let a,s;for(a=0,s=i.length;a=0}html(t,e){return this.xml(t,e,\"http://www.w3.org/1999/xhtml\")}id(t){return void 0!==t||this.node.id||(this.node.id=$(this.type)),this.attr(\"id\",t)}index(t){return[].slice.call(this.node.childNodes).indexOf(t.node)}last(){return V(this.node.lastChild)}matches(t){const e=this.node,i=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector||null;return i&&i.call(e,t)}parent(t){let e=this;if(!e.node.parentNode)return null;if(e=V(e.node.parentNode),!t)return e;do{if(\"string\"==typeof t?e.matches(t):e instanceof t)return e}while(e=V(e.node.parentNode));return e}put(t,e){return t=B(t),this.add(t,e),t}putIn(t,e){return B(t).add(this,e)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(t){return this.node.removeChild(t.node),this}replace(t){return t=B(t),this.node.parentNode&&this.node.parentNode.replaceChild(t.node,this.node),t}round(t=2,e=null){const i=10**t,a=this.attr(e);for(const t in a)\"number\"==typeof a[t]&&(a[t]=Math.round(a[t]*i)/i);return this.attr(a),this}svg(t,e){return this.xml(t,e,E)}toString(){return this.id()}words(t){return this.node.textContent=t,this}wrap(t){const e=this.parent();if(!e)return this.addTo(t);const i=e.index(this);return e.put(t,i).put(this)}writeDataToDom(){return this.each((function(){this.writeDataToDom()})),this}xml(t,e,i){if(\"boolean\"==typeof t&&(i=e,e=t,t=null),null==t||\"function\"==typeof t){e=null==e||e,this.writeDataToDom();let i=this;if(null!=t){if(i=V(i.node.cloneNode(!0)),e){const e=t(i);if(i=e||i,!1===e)return\"\"}i.each((function(){const e=t(this),i=e||this;!1===e?this.remove():e&&this!==i&&this.replace(i)}),!0)}return e?i.node.outerHTML:i.node.innerHTML}e=null!=e&&e;const a=W(\"wrapper\",i),s=O.document.createDocumentFragment();a.innerHTML=t;for(let t=a.children.length;t--;)s.appendChild(a.firstElementChild);const r=this.parent();return e?this.replace(s)&&r:this.add(s)}}Q(Bt,{attr:function(t,e,i){if(null==t){t={},e=this.node.attributes;for(const i of e)t[i.nodeName]=ht.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return t}if(t instanceof Array)return t.reduce(((t,e)=>(t[e]=this.attr(e),t)),{});if(\"object\"==typeof t&&t.constructor===Object)for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?Ft[t]:ht.test(e)?parseFloat(e):e;\"number\"==typeof(e=Wt.reduce(((e,i)=>i(t,e,this)),e))?e=new _t(e):Nt.has(t)&&xt.isColor(e)?e=new xt(e):e.constructor===Array&&(e=new Dt(e)),\"leading\"===t?this.leading&&this.leading(e):\"string\"==typeof i?this.node.setAttributeNS(i,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!==t&&\"x\"!==t||this.rebuild()}return this},find:function(t){return Lt(t,this.node)},findOne:function(t){return V(this.node.querySelector(t))}}),q(Bt,\"Dom\");class Gt extends Bt{constructor(t,e){super(t,e),this.dom={},this.node.instance=this,(t.hasAttribute(\"data-svgjs\")||t.hasAttribute(\"svgjs:data\"))&&this.setData(JSON.parse(t.getAttribute(\"data-svgjs\"))??JSON.parse(t.getAttribute(\"svgjs:data\"))??{})}center(t,e){return this.cx(t).cy(e)}cx(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)}cy(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)}defs(){const t=this.root();return t&&t.defs()}dmove(t,e){return this.dx(t).dy(e)}dx(t=0){return this.x(new _t(t).plus(this.x()))}dy(t=0){return this.y(new _t(t).plus(this.y()))}getEventHolder(){return this}height(t){return this.attr(\"height\",t)}move(t,e){return this.x(t).y(e)}parents(t=this.root()){const e=\"string\"==typeof t;e||(t=B(t));const i=new Ct;let a=this;for(;(a=a.parent())&&a.node!==O.document&&\"#document-fragment\"!==a.nodeName&&(i.push(a),e||a.node!==t.node)&&(!e||!a.matches(t));)if(a.node===this.root().node)return null;return i}reference(t){if(!(t=this.attr(t)))return null;const e=(t+\"\").match(at);return e?B(e[1]):null}root(){const t=this.parent(function(t){return _[t]}(N));return t&&t.root()}setData(t){return this.dom=t,this}size(t,e){const i=I(this,t,e);return this.width(new _t(i.width)).height(new _t(i.height))}width(t){return this.attr(\"width\",t)}writeDataToDom(){return R(this,this.dom),super.writeDataToDom()}x(t){return this.attr(\"x\",t)}y(t){return this.attr(\"y\",t)}}Q(Gt,{bbox:function(){const t=At(this,(t=>t.getBBox()),(t=>{try{const e=t.clone().addTo(yt().svg).show(),i=e.node.getBBox();return e.remove(),i}catch(e){throw new Error(`Getting bbox of element \"${t.node.nodeName}\" is not possible: ${e.toString()}`)}}));return new kt(t)},rbox:function(t){const e=At(this,(t=>t.getBoundingClientRect()),(t=>{throw new Error(`Getting rbox of element \"${t.node.nodeName}\" is not possible`)})),i=new kt(e);return t?i.transform(t.screenCTM().inverseO()):i.addOffset()},inside:function(t,e){const i=this.bbox();return t>i.x&&e>i.y&&t=0;i--)null!=e[jt[t][i]]&&this.attr(jt.prefix(t,jt[t][i]),e[jt[t][i]]);return this},A([\"Element\",\"Runner\"],e)})),A([\"Element\",\"Runner\"],{matrix:function(t,e,i,a,s,r){return null==t?new vt(this):this.attr(\"transform\",new vt(t,e,i,a,s,r))},rotate:function(t,e,i){return this.transform({rotate:t,ox:e,oy:i},!0)},skew:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({skew:t,ox:e,oy:i},!0):this.transform({skew:[t,e],ox:i,oy:a},!0)},shear:function(t,e,i){return this.transform({shear:t,ox:e,oy:i},!0)},scale:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({scale:t,ox:e,oy:i},!0):this.transform({scale:[t,e],ox:i,oy:a},!0)},translate:function(t,e){return this.transform({translate:[t,e]},!0)},relative:function(t,e){return this.transform({relative:[t,e]},!0)},flip:function(t=\"both\",e=\"center\"){return-1===\"xybothtrue\".indexOf(t)&&(e=t,t=\"both\"),this.transform({flip:t,origin:e},!0)},opacity:function(t){return this.attr(\"opacity\",t)}}),A(\"radius\",{radius:function(t,e=t){return\"radialGradient\"===(this._element||this).type?this.attr(\"r\",new _t(t)):this.rx(t).ry(e)}}),A(\"Path\",{length:function(){return this.node.getTotalLength()},pointAt:function(t){return new bt(this.node.getPointAtLength(t))}}),A([\"Element\",\"Runner\"],{font:function(t,e){if(\"object\"==typeof t){for(e in t)this.font(e,t[e]);return this}return\"leading\"===t?this.leading(e):\"anchor\"===t?this.attr(\"text-anchor\",e):\"size\"===t||\"family\"===t||\"weight\"===t||\"stretch\"===t||\"variant\"===t||\"style\"===t?this.attr(\"font-\"+t,e):this.attr(t,e)}});A(\"Element\",[\"click\",\"dblclick\",\"mousedown\",\"mouseup\",\"mouseover\",\"mouseout\",\"mousemove\",\"mouseenter\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"touchend\",\"touchcancel\",\"contextmenu\",\"wheel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\"].reduce((function(t,e){return t[e]=function(t){return null===t?this.off(e):this.on(e,t),this},t}),{})),A(\"Element\",{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){const t=(this.attr(\"transform\")||\"\").split(st).slice(0,-1).map((function(t){const e=t.trim().split(\"(\");return[e[0],e[1].split(dt).map((function(t){return parseFloat(t)}))]})).reverse().reduce((function(t,e){return\"matrix\"===e[0]?t.lmultiply(vt.fromArray(e[1])):t[e[0]].apply(t,e[1])}),new vt);return t},toParent:function(t,e){if(this===t)return this;if(X(this.node))return this.addTo(t,e);const i=this.screenCTM(),a=t.screenCTM().inverse();return this.addTo(t,e).untransform().transform(a.multiply(i)),this},toRoot:function(t){return this.toParent(this.root(),t)},transform:function(t,e){if(null==t||\"string\"==typeof t){const e=new vt(this).decompose();return null==t?e:e[t]}vt.isMatrixLike(t)||(t={...t,origin:T(t,this)});const i=new vt(!0===e?this:e||!1).transform(t);return this.attr(\"transform\",i)}});class Vt extends Gt{flatten(){return this.each((function(){if(this instanceof Vt)return this.flatten().ungroup()})),this}ungroup(t=this.parent(),e=t.index(this)){return e=-1===e?t.children().length:e,this.each((function(i,a){return a[a.length-i-1].toParent(t,e)})),this.remove()}}q(Vt,\"Container\");class Ut extends Vt{constructor(t,e=t){super(G(\"defs\",t),e)}flatten(){return this}ungroup(){return this}}q(Ut,\"Defs\");class qt extends Gt{}function Zt(t){return this.attr(\"rx\",t)}function $t(t){return this.attr(\"ry\",t)}function Jt(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())}function Qt(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())}function Kt(t){return this.attr(\"cx\",t)}function te(t){return this.attr(\"cy\",t)}function ee(t){return null==t?2*this.rx():this.rx(new _t(t).divide(2))}function ie(t){return null==t?2*this.ry():this.ry(new _t(t).divide(2))}q(qt,\"Shape\");var ae=Object.freeze({__proto__:null,cx:Kt,cy:te,height:ie,rx:Zt,ry:$t,width:ee,x:Jt,y:Qt});class se extends qt{constructor(t,e=t){super(G(\"ellipse\",t),e)}size(t,e){const i=I(this,t,e);return this.rx(new _t(i.width).divide(2)).ry(new _t(i.height).divide(2))}}Q(se,ae),A(\"Container\",{ellipse:K((function(t=0,e=t){return this.put(new se).size(t,e).move(0,0)}))}),q(se,\"Ellipse\");class re extends Bt{constructor(t=O.document.createDocumentFragment()){super(t)}xml(t,e,i){if(\"boolean\"==typeof t&&(i=e,e=t,t=null),null==t||\"function\"==typeof t){const t=new Bt(W(\"wrapper\",i));return t.add(this.node.cloneNode(!0)),t.xml(!1,i)}return super.xml(t,!1,i)}}function ne(t,e){return\"radialGradient\"===(this._element||this).type?this.attr({fx:new _t(t),fy:new _t(e)}):this.attr({x1:new _t(t),y1:new _t(e)})}function oe(t,e){return\"radialGradient\"===(this._element||this).type?this.attr({cx:new _t(t),cy:new _t(e)}):this.attr({x2:new _t(t),y2:new _t(e)})}q(re,\"Fragment\");var le=Object.freeze({__proto__:null,from:ne,to:oe});class he extends Vt{constructor(t,e){super(G(t+\"Gradient\",\"string\"==typeof t?null:t),e)}attr(t,e,i){return\"transform\"===t&&(t=\"gradientTransform\"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt(\"svg [fill*=\"+this.id()+\"]\")}toString(){return this.url()}update(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this}url(){return\"url(#\"+this.id()+\")\"}}Q(he,le),A({Container:{gradient(...t){return this.defs().gradient(...t)}},Defs:{gradient:K((function(t,e){return this.put(new he(t)).update(e)}))}}),q(he,\"Gradient\");class ce extends Vt{constructor(t,e=t){super(G(\"pattern\",t),e)}attr(t,e,i){return\"transform\"===t&&(t=\"patternTransform\"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt(\"svg [fill*=\"+this.id()+\"]\")}toString(){return this.url()}update(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this}url(){return\"url(#\"+this.id()+\")\"}}A({Container:{pattern(...t){return this.defs().pattern(...t)}},Defs:{pattern:K((function(t,e,i){return this.put(new ce).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:\"userSpaceOnUse\"})}))}}),q(ce,\"Pattern\");let de=class extends qt{constructor(t,e=t){super(G(\"image\",t),e)}load(t,e){if(!t)return this;const i=new O.window.Image;return zt(i,\"load\",(function(t){const a=this.parent(ce);0===this.width()&&0===this.height()&&this.size(i.width,i.height),a instanceof ce&&0===a.width()&&0===a.height()&&a.size(this.width(),this.height()),\"function\"==typeof e&&e.call(this,t)}),this),zt(i,\"load error\",(function(){Xt(i)})),this.attr(\"href\",i.src=t,H)}};var ue;ue=function(t,e,i){return\"fill\"!==t&&\"stroke\"!==t||ct.test(e)&&(e=i.root().defs().image(e)),e instanceof de&&(e=i.root().defs().pattern(0,0,(t=>{t.add(e)}))),e},Wt.push(ue),A({Container:{image:K((function(t,e){return this.put(new de).size(0,0).load(t,e)}))}}),q(de,\"Image\");class ge extends Dt{bbox(){let t=-1/0,e=-1/0,i=1/0,a=1/0;return this.forEach((function(s){t=Math.max(s[0],t),e=Math.max(s[1],e),i=Math.min(s[0],i),a=Math.min(s[1],a)})),new kt(i,a,t-i,e-a)}move(t,e){const i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(let i=this.length-1;i>=0;i--)this[i]=[this[i][0]+t,this[i][1]+e];return this}parse(t=[0,0]){const e=[];(t=t instanceof Array?Array.prototype.concat.apply([],t):t.trim().split(dt).map(parseFloat)).length%2!=0&&t.pop();for(let i=0,a=t.length;i=0;i--)a.width&&(this[i][0]=(this[i][0]-a.x)*t/a.width+a.x),a.height&&(this[i][1]=(this[i][1]-a.y)*e/a.height+a.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const t=[];for(let e=0,i=this.length;e\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)},bezier:function(t,e,i,a){return function(s){return s<0?t>0?e/t*s:i>0?a/i*s:0:s>1?i<1?(1-a)/(1-i)*s+(a-i)/(1-i):t<1?(1-e)/(1-t)*s+(e-t)/(1-t):1:3*s*(1-s)**2*e+3*s**2*(1-s)*a+s**3}},steps:function(t,e=\"end\"){e=e.split(\"-\").reverse()[0];let i=t;return\"none\"===e?--i:\"both\"===e&&++i,(a,s=!1)=>{let r=Math.floor(a*t);const n=a*r%1==0;return\"start\"!==e&&\"both\"!==e||++r,s&&n&&--r,a>=0&&r<0&&(r=0),a<=1&&r>i&&(r=i),r/i}}};class ye{done(){return!1}}class we extends ye{constructor(t=Ht){super(),this.ease=ve[t]||t}step(t,e,i){return\"number\"!=typeof t?i<1?t:e:t+(e-t)*this.ease(i)}}class ke extends ye{constructor(t){super(),this.stepper=t}done(t){return t.done}step(t,e,i,a){return this.stepper(t,e,i,a)}}function Ae(){const t=(this._duration||500)/1e3,e=this._overshoot||0,i=Math.PI,a=Math.log(e/100+1e-10),s=-a/Math.sqrt(i*i+a*a),r=3.9/(s*t);this.d=2*s*r,this.k=r*r}Q(class extends ke{constructor(t=500,e=0){super(),this.duration(t).overshoot(e)}step(t,e,i,a){if(\"string\"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;i>100&&(i=16),i/=1e3;const s=a.velocity||0,r=-this.d*s-this.k*(t-e),n=t+s*i+r*i*i/2;return a.velocity=s+r*i,a.done=Math.abs(e-n)+Math.abs(s)<.002,a.done?e:n}},{duration:me(\"_duration\",Ae),overshoot:me(\"_overshoot\",Ae)});Q(class extends ke{constructor(t=.1,e=.01,i=0,a=1e3){super(),this.p(t).i(e).d(i).windup(a)}step(t,e,i,a){if(\"string\"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;const s=e-t;let r=(a.integral||0)+s*i;const n=(s-(a.error||0))/i,o=this._windup;return!1!==o&&(r=Math.max(-o,Math.min(r,o))),a.error=s,a.integral=r,a.done=Math.abs(s)<.001,a.done?e:t+(this.P*s+this.I*r+this.D*n)}},{windup:me(\"_windup\"),p:me(\"P\"),i:me(\"I\"),d:me(\"D\")});const Ce={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Se={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],[\"T\",t[0],t[1]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]},A:function(t,e){return e.x=t[5],e.y=t[6],[\"A\",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},Le=\"mlhvqtcsaz\".split(\"\");for(let t=0,e=Le.length;t=0;a--)i=this[a][0],\"M\"===i||\"L\"===i||\"T\"===i?(this[a][1]+=t,this[a][2]+=e):\"H\"===i?this[a][1]+=t:\"V\"===i?this[a][1]+=e:\"C\"===i||\"S\"===i||\"Q\"===i?(this[a][1]+=t,this[a][2]+=e,this[a][3]+=t,this[a][4]+=e,\"C\"===i&&(this[a][5]+=t,this[a][6]+=e)):\"A\"===i&&(this[a][6]+=t,this[a][7]+=e);return this}parse(t=\"M0 0\"){return Array.isArray(t)&&(t=Array.prototype.concat.apply([],t).toString()),function(t,e=!0){let i=0,a=\"\";const s={segment:[],inNumber:!1,number:\"\",lastToken:\"\",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:e,p0:new bt,p:new bt};for(;s.lastToken=a,a=t.charAt(i++);)if(s.inSegment||!Pe(s,a))if(\".\"!==a)if(isNaN(parseInt(a)))if(Re.has(a))s.inNumber&&Ie(s,!1);else if(\"-\"!==a&&\"+\"!==a)if(\"E\"!==a.toUpperCase()){if(ut.test(a)){if(s.inNumber)Ie(s,!1);else{if(!Me(s))throw new Error(\"parser Error\");Te(s)}--i}}else s.number+=a,s.hasExponent=!0;else{if(s.inNumber&&!Xe(s)){Ie(s,!1),--i;continue}s.number+=a,s.inNumber=!0}else{if(\"0\"===s.number||ze(s)){s.inNumber=!0,s.number=a,Ie(s,!0);continue}s.inNumber=!0,s.number+=a}else{if(s.pointSeen||s.hasExponent){Ie(s,!1),--i;continue}s.inNumber=!0,s.pointSeen=!0,s.number+=a}return s.inNumber&&Ie(s,!1),s.inSegment&&Me(s)&&Te(s),s.segments}(t)}size(t,e){const i=this.bbox();let a,s;for(i.width=0===i.width?1:i.width,i.height=0===i.height?1:i.height,a=this.length-1;a>=0;a--)s=this[a][0],\"M\"===s||\"L\"===s||\"T\"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y):\"H\"===s?this[a][1]=(this[a][1]-i.x)*t/i.width+i.x:\"V\"===s?this[a][1]=(this[a][1]-i.y)*e/i.height+i.y:\"C\"===s||\"S\"===s||\"Q\"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y,this[a][3]=(this[a][3]-i.x)*t/i.width+i.x,this[a][4]=(this[a][4]-i.y)*e/i.height+i.y,\"C\"===s&&(this[a][5]=(this[a][5]-i.x)*t/i.width+i.x,this[a][6]=(this[a][6]-i.y)*e/i.height+i.y)):\"A\"===s&&(this[a][1]=this[a][1]*t/i.width,this[a][2]=this[a][2]*e/i.height,this[a][6]=(this[a][6]-i.x)*t/i.width+i.x,this[a][7]=(this[a][7]-i.y)*e/i.height+i.y);return this}toString(){return function(t){let e=\"\";for(let i=0,a=t.length;i{const e=typeof t;return\"number\"===e?_t:\"string\"===e?xt.isColor(t)?xt:dt.test(t)?ut.test(t)?Ee:Dt:tt.test(t)?_t:Oe:Ne.indexOf(t.constructor)>-1?t.constructor:Array.isArray(t)?Dt:\"object\"===e?_e:Oe};class He{constructor(t){this._stepper=t||new we(\"-\"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(t){return this._morphObj.morph(this._from,this._to,t,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce((function(t,e){return t&&e}),!0)}from(t){return null==t?this._from:(this._from=this._set(t),this)}stepper(t){return null==t?this._stepper:(this._stepper=t,this)}to(t){return null==t?this._to:(this._to=this._set(t),this)}type(t){return null==t?this._type:(this._type=t,this)}_set(t){this._type||this.type(Ye(t));let e=new this._type(t);return this._type===xt&&(e=this._to?e[this._to[4]]():this._from?e[this._from[4]]():e),this._type===_e&&(e=this._to?e.align(this._to):this._from?e.align(this._from):e),e=e.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(e.length)).map(Object).map((function(t){return t.done=!0,t})),e}}class Oe{constructor(...t){this.init(...t)}init(t){return t=Array.isArray(t)?t[0]:t,this.value=t,this}toArray(){return[this.value]}valueOf(){return this.value}}class Fe{constructor(...t){this.init(...t)}init(t){return Array.isArray(t)&&(t={scaleX:t[0],scaleY:t[1],shear:t[2],rotate:t[3],translateX:t[4],translateY:t[5],originX:t[6],originY:t[7]}),Object.assign(this,Fe.defaults,t),this}toArray(){const t=this;return[t.scaleX,t.scaleY,t.shear,t.rotate,t.translateX,t.translateY,t.originX,t.originY]}}Fe.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const De=(t,e)=>t[0]e[0]?1:0;class _e{constructor(...t){this.init(...t)}align(t){const e=this.values;for(let i=0,a=e.length;it.concat(e)),[]),this}toArray(){return this.values}valueOf(){const t={},e=this.values;for(;e.length;){const i=e.shift(),a=e.shift(),s=e.shift(),r=e.splice(0,s);t[i]=new a(r)}return t}}const Ne=[Oe,Fe,_e];class We extends qt{constructor(t,e=t){super(G(\"path\",t),e)}array(){return this._array||(this._array=new Ee(this.attr(\"d\")))}clear(){return delete this._array,this}height(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}move(t,e){return this.attr(\"d\",this.array().move(t,e))}plot(t){return null==t?this.array():this.clear().attr(\"d\",\"string\"==typeof t?t:this._array=new Ee(t))}size(t,e){const i=I(this,t,e);return this.attr(\"d\",this.array().size(i.width,i.height))}width(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)}x(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)}y(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}}We.prototype.MorphArray=Ee,A({Container:{path:K((function(t){return this.put(new We).plot(t||new Ee)}))}}),q(We,\"Path\");var Be=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ge(this.attr(\"points\")))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr(\"points\",this.array().move(t,e))},plot:function(t){return null==t?this.array():this.clear().attr(\"points\",\"string\"==typeof t?t:this._array=new ge(t))},size:function(t,e){const i=I(this,t,e);return this.attr(\"points\",this.array().size(i.width,i.height))}});class Ge extends qt{constructor(t,e=t){super(G(\"polygon\",t),e)}}A({Container:{polygon:K((function(t){return this.put(new Ge).plot(t||new ge)}))}}),Q(Ge,fe),Q(Ge,Be),q(Ge,\"Polygon\");class je extends qt{constructor(t,e=t){super(G(\"polyline\",t),e)}}A({Container:{polyline:K((function(t){return this.put(new je).plot(t||new ge)}))}}),Q(je,fe),Q(je,Be),q(je,\"Polyline\");class Ve extends qt{constructor(t,e=t){super(G(\"rect\",t),e)}}Q(Ve,{rx:Zt,ry:$t}),A({Container:{rect:K((function(t,e){return this.put(new Ve).size(t,e)}))}}),q(Ve,\"Rect\");class Ue{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(t){const e=void 0!==t.next?t:{value:t,next:null,prev:null};return this._last?(e.prev=this._last,this._last.next=e,this._last=e):(this._last=e,this._first=e),e}remove(t){t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t===this._last&&(this._last=t.prev),t===this._first&&(this._first=t.next),t.prev=null,t.next=null}shift(){const t=this._first;return t?(this._first=t.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,t.value):null}}const qe={nextDraw:null,frames:new Ue,timeouts:new Ue,immediates:new Ue,timer:()=>O.window.performance||O.window.Date,transforms:[],frame(t){const e=qe.frames.push({run:t});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},timeout(t,e){e=e||0;const i=qe.timer().now()+e,a=qe.timeouts.push({run:t,time:i});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),a},immediate(t){const e=qe.immediates.push(t);return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},cancelFrame(t){null!=t&&qe.frames.remove(t)},clearTimeout(t){null!=t&&qe.timeouts.remove(t)},cancelImmediate(t){null!=t&&qe.immediates.remove(t)},_draw(t){let e=null;const i=qe.timeouts.last();for(;(e=qe.timeouts.shift())&&(t>=e.time?e.run():qe.timeouts.push(e),e!==i););let a=null;const s=qe.frames.last();for(;a!==s&&(a=qe.frames.shift());)a.run(t);let r=null;for(;r=qe.immediates.shift();)r();qe.nextDraw=qe.timeouts.first()||qe.frames.first()?O.window.requestAnimationFrame(qe._draw):null}},Ze=function(t){const e=t.start,i=t.runner.duration();return{start:e,duration:i,end:e+i,runner:t.runner}},$e=function(){const t=O.window;return(t.performance||t.Date).now()};class Je extends Rt{constructor(t=$e){super(),this._timeSource=t,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const t=this.getLastRunnerInfo(),e=t?t.runner.duration():0;return(t?t.start:this._time)+e}getEndTimeOfTimeline(){const t=this._runners.map((t=>t.start+t.runner.duration()));return Math.max(0,...t)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(t){return this._runners[this._runnerIds.indexOf(t)]||null}pause(){return this._paused=!0,this._continue()}persist(t){return null==t?this._persist:(this._persist=t,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(t){const e=this.speed();if(null==t)return this.speed(-e);const i=Math.abs(e);return this.speed(t?-i:i)}schedule(t,e,i){if(null==t)return this._runners.map(Ze);let a=0;const s=this.getEndTime();if(e=e||0,null==i||\"last\"===i||\"after\"===i)a=s;else if(\"absolute\"===i||\"start\"===i)a=e,e=0;else if(\"now\"===i)a=this._time;else if(\"relative\"===i){const i=this.getRunnerInfoById(t.id);i&&(a=i.start+e,e=0)}else{if(\"with-last\"!==i)throw new Error('Invalid value for the \"when\" parameter');{const t=this.getLastRunnerInfo();a=t?t.start:this._time}}t.unschedule(),t.timeline(this);const r=t.persist(),n={persist:null===r?this._persist:r,start:a+e,runner:t};return this._lastRunnerId=t.id,this._runners.push(n),this._runners.sort(((t,e)=>t.start-e.start)),this._runnerIds=this._runners.map((t=>t.runner.id)),this.updateTime()._continue(),this}seek(t){return this.time(this._time+t)}source(t){return null==t?this._timeSource:(this._timeSource=t,this)}speed(t){return null==t?this._speed:(this._speed=t,this)}stop(){return this.time(0),this.pause()}time(t){return null==t?this._time:(this._time=t,this._continue(!0))}unschedule(t){const e=this._runnerIds.indexOf(t.id);return e<0||(this._runners.splice(e,1),this._runnerIds.splice(e,1),t.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(t=!1){return qe.cancelFrame(this._nextFrame),this._nextFrame=null,t?this._stepImmediate():(this._paused||(this._nextFrame=qe.frame(this._step)),this)}_stepFn(t=!1){const e=this._timeSource();let i=e-this._lastSourceTime;t&&(i=0);const a=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=e,t||(this._time+=a,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire(\"time\",this._time);for(let t=this._runners.length;t--;){const e=this._runners[t],i=e.runner;this._time-e.start<=0&&i.reset()}let s=!1;for(let t=0,e=this._runners.length;t0?this._continue():(this.pause(),this.fire(\"finished\")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}A({Element:{timeline:function(t){return null==t?(this._timeline=this._timeline||new Je,this._timeline):(this._timeline=t,this)}}});class Qe extends Rt{constructor(t){super(),this.id=Qe.id++,t=\"function\"==typeof(t=null==t?Yt:t)?new ke(t):t,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration=\"number\"==typeof t&&t,this._isDeclarative=t instanceof ke,this._stepper=this._isDeclarative?t:new we,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new vt,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(t,e,i){let a=1,s=!1,r=0;return e=e??Ot,i=i||\"last\",\"object\"!=typeof(t=t??Yt)||t instanceof ye||(e=t.delay??e,i=t.when??i,s=t.swing||s,a=t.times??a,r=t.wait??r,t=t.duration??Yt),{duration:t,delay:e,swing:s,times:a,wait:r,when:i}}active(t){return null==t?this.enabled:(this.enabled=t,this)}addTransform(t){return this.transforms.lmultiplyO(t),this}after(t){return this.on(\"finished\",t)}animate(t,e,i){const a=Qe.sanitise(t,e,i),s=new Qe(a.duration);return this._timeline&&s.timeline(this._timeline),this._element&&s.element(this._element),s.loop(a).schedule(a.delay,a.when)}clearTransform(){return this.transforms=new vt,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter((t=>!t.isTransform)))}delay(t){return this.animate(0,t)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(t){return this.queue(null,t)}ease(t){return this._stepper=new we(t),this}element(t){return null==t?this._element:(this._element=t,t._prepareRunner(),this)}finish(){return this.step(1/0)}loop(t,e,i){return\"object\"==typeof t&&(e=t.swing,i=t.wait,t=t.times),this._times=t||1/0,this._swing=e||!1,this._wait=i||0,!0===this._times&&(this._times=1/0),this}loops(t){const e=this._duration+this._wait;if(null==t){const t=Math.floor(this._time/e),i=(this._time-t*e)/this._duration;return Math.min(t+i,this._times)}const i=t%1,a=e*Math.floor(t)+this._duration*i;return this.time(a)}persist(t){return null==t?this._persist:(this._persist=t,this)}position(t){const e=this._time,i=this._duration,a=this._wait,s=this._times,r=this._swing,n=this._reverse;let o;if(null==t){const t=function(t){const e=r*Math.floor(t%(2*(a+i))/(a+i)),s=e&&!n||!e&&n,o=Math.pow(-1,s)*(t%(a+i))/i+s;return Math.max(Math.min(o,1),0)},l=s*(a+i)-a;return o=e<=0?Math.round(t(1e-5)):e=0;this._lastPosition=e;const a=this.duration(),s=this._lastTime<=0&&this._time>0,r=this._lastTime=a;this._lastTime=this._time,s&&this.fire(\"start\",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=a,this._reseted=!1;let o=!1;return(i||n)&&(this._initialise(i),this.transforms=new vt,o=this._run(n?t:e),this.fire(\"step\",this)),this.done=this.done||o&&n,r&&this.fire(\"finished\",this),this}time(t){if(null==t)return this._time;const e=t-this._time;return this.step(e),this}timeline(t){return void 0===t?this._timeline:(this._timeline=t,this)}unschedule(){const t=this.timeline();return t&&t.unschedule(this),this}_initialise(t){if(t||this._isDeclarative)for(let e=0,i=this._queue.length;et.lmultiplyO(e),ei=t=>t.transforms;function ii(){const t=this._transformationRunners.runners.map(ei).reduce(ti,new vt);this.transform(t),this._transformationRunners.merge(),1===this._transformationRunners.length()&&(this._frameId=null)}class ai{constructor(){this.runners=[],this.ids=[]}add(t){if(this.runners.includes(t))return;const e=t.id+1;return this.runners.push(t),this.ids.push(e),this}clearBefore(t){const e=this.ids.indexOf(t+1)||1;return this.ids.splice(0,e,0),this.runners.splice(0,e,new Ke).forEach((t=>t.clearTransformsFromQueue())),this}edit(t,e){const i=this.ids.indexOf(t+1);return this.ids.splice(i,1,t+1),this.runners.splice(i,1,e),this}getByID(t){return this.runners[this.ids.indexOf(t+1)]}length(){return this.ids.length}merge(){let t=null;for(let e=0;ee.id<=t.id)).map(ei).reduce(ti,new vt)},_addRunner(t){this._transformationRunners.add(t),qe.cancelImmediate(this._frameId),this._frameId=qe.immediate(ii.bind(this))},_prepareRunner(){null==this._frameId&&(this._transformationRunners=(new ai).add(new Ke(new vt(this))))}}});Q(Qe,{attr(t,e){return this.styleAttr(\"attr\",t,e)},css(t,e){return this.styleAttr(\"css\",t,e)},styleAttr(t,e,i){if(\"string\"==typeof e)return this.styleAttr(t,{[e]:i});let a=e;if(this._tryRetarget(t,a))return this;let s=new He(this._stepper).to(a),r=Object.keys(a);return this.queue((function(){s=s.from(this.element()[t](r))}),(function(e){return this.element()[t](s.at(e).valueOf()),s.done()}),(function(e){const i=Object.keys(e),n=(o=r,i.filter((t=>!o.includes(t))));var o;if(n.length){const e=this.element()[t](n),i=new _e(s.from()).valueOf();Object.assign(i,e),s.from(i)}const l=new _e(s.to()).valueOf();Object.assign(l,e),s.to(l),r=i,a=e})),this._rememberMorpher(t,s),this},zoom(t,e){if(this._tryRetarget(\"zoom\",t,e))return this;let i=new He(this._stepper).to(new _t(t));return this.queue((function(){i=i.from(this.element().zoom())}),(function(t){return this.element().zoom(i.at(t),e),i.done()}),(function(t,a){e=a,i.to(t)})),this._rememberMorpher(\"zoom\",i),this},transform(t,e,i){if(e=t.relative||e,this._isDeclarative&&!e&&this._tryRetarget(\"transform\",t))return this;const a=vt.isMatrixLike(t);i=null!=t.affine?t.affine:null!=i?i:!a;const s=new He(this._stepper).type(i?Fe:vt);let r,n,o,l,h;return this.queue((function(){n=n||this.element(),r=r||T(t,n),h=new vt(e?void 0:n),n._addRunner(this),e||n._clearTransformRunnersBefore(this)}),(function(c){e||this.clearTransform();const{x:d,y:u}=new bt(r).transform(n._currentTransform(this));let g=new vt({...t,origin:[d,u]}),p=this._isDeclarative&&o?o:h;if(i){g=g.decompose(d,u),p=p.decompose(d,u);const t=g.rotate,e=p.rotate,i=[t-360,t,t+360],a=i.map((t=>Math.abs(t-e))),s=Math.min(...a),r=a.indexOf(s);g.rotate=i[r]}e&&(a||(g.rotate=t.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(c);return l=f.rotate,o=new vt(f),this.addTransform(o),n._addRunner(this),s.done()}),(function(e){(e.origin||\"center\").toString()!==(t.origin||\"center\").toString()&&(r=T(e,n)),t={...e,origin:r}}),!0),this._isDeclarative&&this._rememberMorpher(\"transform\",s),this},x(t){return this._queueNumber(\"x\",t)},y(t){return this._queueNumber(\"y\",t)},ax(t){return this._queueNumber(\"ax\",t)},ay(t){return this._queueNumber(\"ay\",t)},dx(t=0){return this._queueNumberDelta(\"x\",t)},dy(t=0){return this._queueNumberDelta(\"y\",t)},dmove(t,e){return this.dx(t).dy(e)},_queueNumberDelta(t,e){if(e=new _t(e),this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);let a=null;return this.queue((function(){a=this.element()[t](),i.from(a),i.to(a+e)}),(function(e){return this.element()[t](i.at(e)),i.done()}),(function(t){i.to(a+new _t(t))})),this._rememberMorpher(t,i),this},_queueObject(t,e){if(this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);return this.queue((function(){i.from(this.element()[t]())}),(function(e){return this.element()[t](i.at(e)),i.done()})),this._rememberMorpher(t,i),this},_queueNumber(t,e){return this._queueObject(t,new _t(e))},cx(t){return this._queueNumber(\"cx\",t)},cy(t){return this._queueNumber(\"cy\",t)},move(t,e){return this.x(t).y(e)},amove(t,e){return this.ax(t).ay(e)},center(t,e){return this.cx(t).cy(e)},size(t,e){let i;return t&&e||(i=this._element.bbox()),t||(t=i.width/i.height*e),e||(e=i.height/i.width*t),this.width(t).height(e)},width(t){return this._queueNumber(\"width\",t)},height(t){return this._queueNumber(\"height\",t)},plot(t,e,i,a){if(4===arguments.length)return this.plot([t,e,i,a]);if(this._tryRetarget(\"plot\",t))return this;const s=new He(this._stepper).type(this._element.MorphArray).to(t);return this.queue((function(){s.from(this._element.array())}),(function(t){return this._element.plot(s.at(t)),s.done()})),this._rememberMorpher(\"plot\",s),this},leading(t){return this._queueNumber(\"leading\",t)},viewbox(t,e,i,a){return this._queueObject(\"viewbox\",new kt(t,e,i,a))},update(t){return\"object\"!=typeof t?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",t.offset),this)}}),Q(Qe,{rx:Zt,ry:$t,from:ne,to:oe}),q(Qe,\"Runner\");class si extends Vt{constructor(t,e=t){super(G(\"svg\",t),e),this.namespace()}defs(){return this.isRoot()?V(this.node.querySelector(\"defs\"))||this.put(new Ut):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof O.window.SVGElement)&&\"#document-fragment\"!==this.node.parentNode.nodeName}namespace(){return this.isRoot()?this.attr({xmlns:E,version:\"1.1\"}).attr(\"xmlns:xlink\",H,Y):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr(\"xmlns:xlink\",null,Y).attr(\"xmlns:svgjs\",null,Y)}root(){return this.isRoot()?this:super.root()}}A({Container:{nested:K((function(){return this.put(new si)}))}}),q(si,\"Svg\",!0);let ri=class extends Vt{constructor(t,e=t){super(G(\"symbol\",t),e)}};A({Container:{symbol:K((function(){return this.put(new ri)}))}}),q(ri,\"Symbol\");var ni=Object.freeze({__proto__:null,amove:function(t,e){return this.ax(t).ay(e)},ax:function(t){return this.attr(\"x\",t)},ay:function(t){return this.attr(\"y\",t)},build:function(t){return this._build=!!t,this},center:function(t,e,i=this.bbox()){return this.cx(t,i).cy(e,i)},cx:function(t,e=this.bbox()){return null==t?e.cx:this.attr(\"x\",this.attr(\"x\")+t-e.cx)},cy:function(t,e=this.bbox()){return null==t?e.cy:this.attr(\"y\",this.attr(\"y\")+t-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(t,e,i=this.bbox()){return this.x(t,i).y(e,i)},plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(O.document.createTextNode(t)),this},x:function(t,e=this.bbox()){return null==t?e.x:this.attr(\"x\",this.attr(\"x\")+t-e.x)},y:function(t,e=this.bbox()){return null==t?e.y:this.attr(\"y\",this.attr(\"y\")+t-e.y)}});class oi extends qt{constructor(t,e=t){super(G(\"text\",t),e),this.dom.leading=this.dom.leading??new _t(1.3),this._rebuild=!0,this._build=!1}leading(t){return null==t?this.dom.leading:(this.dom.leading=new _t(t),this.rebuild())}rebuild(t){if(\"boolean\"==typeof t&&(this._rebuild=t),this._rebuild){const t=this;let e=0;const i=this.dom.leading;this.each((function(a){if(X(this.node))return;const s=O.window.getComputedStyle(this.node).getPropertyValue(\"font-size\"),r=i*new _t(s);this.dom.newLined&&(this.attr(\"x\",t.attr(\"x\")),\"\\n\"===this.text()?e+=r:(this.attr(\"dy\",a?r+e:0),e=0))})),this.fire(\"rebuild\")}return this}setData(t){return this.dom=t,this.dom.leading=new _t(t.leading||1.3),this}writeDataToDom(){return R(this,this.dom,{leading:1.3}),this}text(t){if(void 0===t){const e=this.node.childNodes;let i=0;t=\"\";for(let a=0,s=e.length;a{let a;try{a=i.node instanceof F().SVGSVGElement?new kt(i.attr([\"x\",\"y\",\"width\",\"height\"])):i.bbox()}catch(t){return}const s=new vt(i),r=s.translate(t,e).transform(s.inverse()),n=new bt(a.x,a.y).transform(r);i.move(n.x,n.y)})),this},dx:function(t){return this.dmove(t,0)},dy:function(t){return this.dmove(0,t)},height:function(t,e=this.bbox()){return null==t?e.height:this.size(e.width,t,e)},move:function(t=0,e=0,i=this.bbox()){const a=t-i.x,s=e-i.y;return this.dmove(a,s)},size:function(t,e,i=this.bbox()){const a=I(this,t,e,i),s=a.width/i.width,r=a.height/i.height;return this.children().forEach((t=>{const e=new bt(i).transform(new vt(t).inverse());t.scale(s,r,e.x,e.y)})),this},width:function(t,e=this.bbox()){return null==t?e.width:this.size(t,e.height,e)},x:function(t,e=this.bbox()){return null==t?e.x:this.move(t,e.y,e)},y:function(t,e=this.bbox()){return null==t?e.y:this.move(e.x,t,e)}});class gi extends Vt{constructor(t,e=t){super(G(\"g\",t),e)}}Q(gi,ui),A({Container:{group:K((function(){return this.put(new gi)}))}}),q(gi,\"G\");class pi extends Vt{constructor(t,e=t){super(G(\"a\",t),e)}target(t){return this.attr(\"target\",t)}to(t){return this.attr(\"href\",t,H)}}Q(pi,ui),A({Container:{link:K((function(t){return this.put(new pi).to(t)}))},Element:{unlink(){const t=this.linker();if(!t)return this;const e=t.parent();if(!e)return this.remove();const i=e.index(t);return e.add(this,i),t.remove(),this},linkTo(t){let e=this.linker();return e||(e=new pi,this.wrap(e)),\"function\"==typeof t?t.call(e,e):e.to(t),this},linker(){const t=this.parent();return t&&\"a\"===t.node.nodeName.toLowerCase()?t:null}}}),q(pi,\"A\");class fi extends Vt{constructor(t,e=t){super(G(\"mask\",t),e)}remove(){return this.targets().forEach((function(t){t.unmask()})),super.remove()}targets(){return Lt(\"svg [mask*=\"+this.id()+\"]\")}}A({Container:{mask:K((function(){return this.defs().put(new fi)}))},Element:{masker(){return this.reference(\"mask\")},maskWith(t){const e=t instanceof fi?t:this.parent().mask().add(t);return this.attr(\"mask\",\"url(#\"+e.id()+\")\")},unmask(){return this.attr(\"mask\",null)}}}),q(fi,\"Mask\");class xi extends Gt{constructor(t,e=t){super(G(\"stop\",t),e)}update(t){return(\"number\"==typeof t||t instanceof _t)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",new _t(t.offset)),this}}A({Gradient:{stop:function(t,e,i){return this.put(new xi).update(t,e,i)}}}),q(xi,\"Stop\");class bi extends Gt{constructor(t,e=t){super(G(\"style\",t),e)}addText(t=\"\"){return this.node.textContent+=t,this}font(t,e,i={}){return this.rule(\"@font-face\",{fontFamily:t,src:e,...i})}rule(t,e){return this.addText(function(t,e){if(!t)return\"\";if(!e)return t;let i=t+\"{\";for(const t in e)i+=t.replace(/([A-Z])/g,(function(t,e){return\"-\"+e.toLowerCase()}))+\":\"+e[t]+\";\";return i+=\"}\",i}(t,e))}}A(\"Dom\",{style(t,e){return this.put(new bi).rule(t,e)},fontface(t,e,i){return this.put(new bi).font(t,e,i)}}),q(bi,\"Style\");class mi extends oi{constructor(t,e=t){super(G(\"textPath\",t),e)}array(){const t=this.track();return t?t.array():null}plot(t){const e=this.track();let i=null;return e&&(i=e.plot(t)),null==t?i:this}track(){return this.reference(\"href\")}}A({Container:{textPath:K((function(t,e){return t instanceof oi||(t=this.text(t)),t.path(e)}))},Text:{path:K((function(t,e=!0){const i=new mi;let a;if(t instanceof We||(t=this.defs().path(t)),i.attr(\"href\",\"#\"+t,H),e)for(;a=this.node.firstChild;)i.node.appendChild(a);return this.put(i)})),textPath(){return this.findOne(\"textPath\")}},Path:{text:K((function(t){return t instanceof oi||(t=(new oi).addTo(this.parent()).text(t)),t.path(this)})),targets(){return Lt(\"svg textPath\").filter((t=>(t.attr(\"href\")||\"\").includes(this.id())))}}}),mi.prototype.MorphArray=Ee,q(mi,\"TextPath\");class vi extends qt{constructor(t,e=t){super(G(\"use\",t),e)}use(t,e){return this.attr(\"href\",(e||\"\")+\"#\"+t,H)}}A({Container:{use:K((function(t,e){return this.put(new vi).use(t,e)}))}}),q(vi,\"Use\");const yi=B;Q([si,ri,de,ce,be],C(\"viewbox\")),Q([xe,je,Ge,We],C(\"marker\")),Q(oi,C(\"Text\")),Q(We,C(\"Path\")),Q(Ut,C(\"Defs\")),Q([oi,li],C(\"Tspan\")),Q([Ve,se,he,Qe],C(\"radius\")),Q(Rt,C(\"EventTarget\")),Q(Bt,C(\"Dom\")),Q(Gt,C(\"Element\")),Q(qt,C(\"Shape\")),Q([Vt,re],C(\"Container\")),Q(he,C(\"Gradient\")),Q(Qe,C(\"Runner\")),Ct.extend([...new Set(k)]),function(t=[]){Ne.push(...[].concat(t))}([_t,xt,kt,vt,Dt,ge,Ee,bt]),Q(Ne,{to(t){return(new He).type(this.constructor).from(this.toArray()).to(t)},fromArray(t){return this.init(t),this},toConsumable(){return this.toArray()},morph(t,e,i,a,s){return this.fromArray(t.map((function(t,r){return a.step(t,e[r],i,s[r],s)})))}});class wi extends Gt{constructor(t){super(G(\"filter\",t),t),this.$source=\"SourceGraphic\",this.$sourceAlpha=\"SourceAlpha\",this.$background=\"BackgroundImage\",this.$backgroundAlpha=\"BackgroundAlpha\",this.$fill=\"FillPaint\",this.$stroke=\"StrokePaint\",this.$autoSetIn=!0}put(t,e){return!(t=super.put(t,e)).attr(\"in\")&&this.$autoSetIn&&t.attr(\"in\",this.$source),t.attr(\"result\")||t.attr(\"result\",t.id()),t}remove(){return this.targets().each(\"unfilter\"),super.remove()}targets(){return Lt('svg [filter*=\"'+this.id()+'\"]')}toString(){return\"url(#\"+this.id()+\")\"}}class ki extends Gt{constructor(t,e){super(t,e),this.result(this.id())}in(t){if(null==t){const t=this.attr(\"in\");return this.parent()&&this.parent().find(`[result=\"${t}\"]`)[0]||t}return this.attr(\"in\",t)}result(t){return this.attr(\"result\",t)}toString(){return this.result()}}const Ai=t=>function(...e){for(let i=t.length;i--;)null!=e[i]&&this.attr(t[i],e[i])},Ci={blend:Ai([\"in\",\"in2\",\"mode\"]),colorMatrix:Ai([\"type\",\"values\"]),composite:Ai([\"in\",\"in2\",\"operator\"]),convolveMatrix:function(t){t=new Dt(t).toString(),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},diffuseLighting:Ai([\"surfaceScale\",\"lightingColor\",\"diffuseConstant\",\"kernelUnitLength\"]),displacementMap:Ai([\"in\",\"in2\",\"scale\",\"xChannelSelector\",\"yChannelSelector\"]),dropShadow:Ai([\"in\",\"dx\",\"dy\",\"stdDeviation\"]),flood:Ai([\"flood-color\",\"flood-opacity\"]),gaussianBlur:function(t=0,e=t){this.attr(\"stdDeviation\",t+\" \"+e)},image:function(t){this.attr(\"href\",t,H)},morphology:Ai([\"operator\",\"radius\"]),offset:Ai([\"dx\",\"dy\"]),specularLighting:Ai([\"surfaceScale\",\"lightingColor\",\"diffuseConstant\",\"specularExponent\",\"kernelUnitLength\"]),tile:Ai([]),turbulence:Ai([\"baseFrequency\",\"numOctaves\",\"seed\",\"stitchTiles\",\"type\"])};[\"blend\",\"colorMatrix\",\"componentTransfer\",\"composite\",\"convolveMatrix\",\"diffuseLighting\",\"displacementMap\",\"dropShadow\",\"flood\",\"gaussianBlur\",\"image\",\"merge\",\"morphology\",\"offset\",\"specularLighting\",\"tile\",\"turbulence\"].forEach((t=>{const e=P(t),i=Ci[t];wi[e+\"Effect\"]=class extends ki{constructor(t){super(G(\"fe\"+e,t),t)}update(t){return i.apply(this,t),this}},wi.prototype[t]=K((function(t,...i){const a=new wi[e+\"Effect\"];return null==t?this.put(a):(\"function\"==typeof t?t.call(a,a):i.unshift(t),this.put(a).update(i))}))})),Q(wi,{merge(t){const e=this.put(new wi.MergeEffect);if(\"function\"==typeof t)return t.call(e,e),e;return(t instanceof Array?t:[...arguments]).forEach((t=>{t instanceof wi.MergeNode?e.put(t):e.mergeNode(t)})),e},componentTransfer(t={}){const e=this.put(new wi.ComponentTransferEffect);if(\"function\"==typeof t)return t.call(e,e),e;if(!(t.r||t.g||t.b||t.a)){t={r:t,g:t,b:t,a:t}}for(const i in t)e.add(new(wi[\"Func\"+i.toUpperCase()])(t[i]));return e}});[\"distantLight\",\"pointLight\",\"spotLight\",\"mergeNode\",\"FuncR\",\"FuncG\",\"FuncB\",\"FuncA\"].forEach((t=>{const e=P(t);wi[e]=class extends ki{constructor(t){super(G(\"fe\"+e,t),t)}}}));[\"funcR\",\"funcG\",\"funcB\",\"funcA\"].forEach((function(t){const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.ComponentTransferEffect.prototype[t]=i}));[\"distantLight\",\"pointLight\",\"spotLight\"].forEach((t=>{const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.DiffuseLightingEffect.prototype[t]=i,wi.SpecularLightingEffect.prototype[t]=i})),Q(wi.MergeEffect,{mergeNode(t){return this.put(new wi.MergeNode).attr(\"in\",t)}}),Q(Ut,{filter:function(t){const e=this.put(new wi);return\"function\"==typeof t&&t.call(e,e),e}}),Q(Vt,{filter:function(t){return this.defs().filter(t)}}),Q(Gt,{filterWith:function(t){const e=t instanceof wi?t:this.defs().filter(t);return this.attr(\"filter\",e)},unfilter:function(t){return this.attr(\"filter\",null)},filterer(){return this.reference(\"filter\")}});const Si={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},diffuseLighting:function(t,e,i,a){return this.parent()&&this.parent().diffuseLighting(t,i,a).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},dropShadow:function(t,e,i){return this.parent()&&this.parent().dropShadow(this,t,e,i).in(this)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(t){return t=t instanceof Array?t:[...t],this.parent()&&this.parent().merge(this,...t)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},specularLighting:function(t,e,i,a,s){return this.parent()&&this.parent().specularLighting(t,i,a,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};Q(ki,Si),Q(wi.MergeEffect,{in:function(t){return t instanceof wi.MergeNode?this.add(t,0):this.add((new wi.MergeNode).in(t),0),this}}),Q([wi.CompositeEffect,wi.BlendEffect,wi.DisplacementMapEffect],{in2:function(t){if(null==t){const t=this.attr(\"in2\");return this.parent()&&this.parent().find(`[result=\"${t}\"]`)[0]||t}return this.attr(\"in2\",t)}}),wi.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Li=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new wi).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"applyFilter\",value:function(t,e,i){var a,s=this,r=this.w;if(t.unfilter(!0),\"none\"!==i){var n,o,l=r.config.chart.dropShadow,h=\"lighten\"===i?2:.3;if(t.filterWith((function(t){t.colorMatrix({type:\"matrix\",values:\"\\n \".concat(h,\" 0 0 0 0\\n 0 \").concat(h,\" 0 0 0\\n 0 0 \").concat(h,\" 0 0\\n 0 0 0 1 0\\n \"),in:\"SourceGraphic\",result:\"brightness\"}),l.enabled&&s.addShadow(t,e,l,\"brightness\")})),!l.noUserSpaceOnUse)null===(n=t.filterer())||void 0===n||null===(o=n.node)||void 0===o||o.setAttribute(\"filterUnits\",\"userSpaceOnUse\");this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node)}else this.getDefaultFilter(t,e)}},{key:\"addShadow\",value:function(t,e,i,a){var s,r=this.w,n=i.blur,o=i.top,l=i.left,h=i.color,c=i.opacity;if(h=Array.isArray(h)?h[e]:h,(null===(s=r.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.length)>0&&-1===r.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;t.offset({in:a,dx:l,dy:o,result:\"offset\"}),t.gaussianBlur({in:\"offset\",stdDeviation:n,result:\"blur\"}),t.flood({\"flood-color\":h,\"flood-opacity\":c,result:\"flood\"}),t.composite({in:\"flood\",in2:\"blur\",operator:\"in\",result:\"shadow\"}),t.merge([\"shadow\",a])}},{key:\"dropShadow\",value:function(t,e){var i,a,s,r,n,o=this,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,h=this.w;if(t.unfilter(!0),v.isMsEdge()&&\"radialBar\"===h.config.chart.type)return t;if((null===(i=h.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(s=h.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.indexOf(l)))return t;(t.filterWith((function(t){o.addShadow(t,l,e,\"SourceGraphic\")})),e.noUserSpaceOnUse)||(null===(r=t.filterer())||void 0===r||null===(n=r.node)||void 0===n||n.setAttribute(\"filterUnits\",\"userSpaceOnUse\"));return this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type)}}},{key:\"_scaleFilterSize\",value:function(t){if(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}}]),t}(),Mi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,n=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/n))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var n=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),o=[];if(n.length>1){var l=r(n[0]),h=null;\"Z\"==n[n.length-1][0]&&n[0].length>2&&(h=[\"L\",l.x,l.y],n[n.length-1]=h),o.push(n[0]);for(var c=1;c2&&\"L\"==u[0]&&g.length>2&&\"L\"==g[0]){var p,f,x=r(d),b=r(u),m=r(g);p=i(b,x,e),f=i(b,m,e),s(u,p),u.origPoint=b,o.push(u);var v=a(p,b,.5),y=a(b,f,.5),w=[\"C\",v.x,v.y,y.x,y.y,f.x,f.y];w.origPoint=b,o.push(w)}else o.push(u)}if(h){var k=r(o[o.length-1]);o.push([\"Z\"]),s(o[0],k)}}else o=n;return o.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":n,\"stroke-linecap\":o})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,\"stroke-width\":null!==o?o:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,n=void 0===r?1:r,o=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,u=t.classes,g=t.strokeLinecap,p=void 0===g?null:g,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":p,\"stroke-width\":n,\"stroke-dasharray\":x,class:u})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var n=[\"C\",t,e,i,a,s,r].join(\" \");return n}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,n){var o=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(o=\"a\");var l=[o,t,e,i,a,s,r,n].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,n=t.stroke,o=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,d=t.initialSpeed,g=t.dataChangeSpeed,p=t.className,f=t.chartType,x=t.shouldClipToGrid,b=void 0===x||x,m=t.bindEventsOnPaths,v=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,C=new Li(this.ctx),S=new y(this.ctx),L=this.w.config.chart.animations.enabled,M=L&&this.w.config.chart.animations.dynamicAnimation.enabled,P=!!(L&&!A.globals.resized||M&&A.globals.dataChanged&&A.globals.shouldAnimate);P?e=s:(e=r,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[a]:A.config.stroke.dashArray;var z=this.drawPath({d:e,stroke:n,strokeWidth:o,fill:h,fillOpacity:1,classes:p,strokeLinecap:l,strokeDashArray:T});z.attr(\"index\",a),b&&(\"bar\"===f&&!A.globals.isHorizontal||A.globals.comboCharts?z.attr({\"clip-path\":\"url(#gridRectBarMask\".concat(A.globals.cuid,\")\")}):z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")})),A.config.chart.dropShadow.enabled&&k&&C.dropShadow(z,A.config.chart.dropShadow,a),v&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:r,pathFrom:s});var X={el:z,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:o,delay:c};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||S.showDelayedElements():S.animatePathsGradually(u(u({},X),{},{speed:d})),A.globals.dataChanged&&M&&P&&S.animatePathsGradually(u(u({},X),{},{speed:g})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=v.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=v.hexToRgba(i,s));var d=0,u=1,g=1,p=null;null!==o&&(d=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,g=void 0!==o[2]?o[2]/100:1,p=void 0!==o[3]?o[3]/100:null);var f=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=l&&0!==l.length?c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.stop(e.offset/100,e.color,e.opacity)}))})):c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){t.stop(d,e,a),t.stop(u,i,s),t.stop(g,i,s),null!==p&&t.stop(p,e,a)})),f){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:x,cy:b,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),n=r.width/e.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.find(\".apexcharts-series path:not(.apexcharts-decoration-element)\"),h=i.globals.dom.Paper.find(\".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)\"),c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),n=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===n){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&n.attr(\"transform\",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),Pi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"setSeriesYAxisMappings\",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var n=[];e.yaxis.forEach((function(t,a){var o=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,n){if(e.name===t){var l=n;a===n||r?!r||s.indexOf(n)>-1?i[a].push([a,n]):console.warn(\"Series '\"+e.name+\"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes.\"):(i[n].push([n,a]),l=a),o=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}o||n.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var o=e.yaxis.length-1,l=0;l0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(t.config.markers.hover.size>0?e=t.config.markers.hover.size:e+=t.config.markers.hover.sizeOffset),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][n]0){var g=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/n[e]};if(r.isMultipleYAxis){l=[];for(var p=0;p0&&e.forEach((function(e){var n=[],o=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(n.push(t.series[a]),o.push(i))})),n.length>0&&r.push(a.draw(n,i,o))})),r}}],[{key:\"checkComboSeries\",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e=\"line\"),t.length&&void 0!==t[0].type&&t.forEach((function(t){\"bar\"!==t.type&&\"column\"!==t.type&&\"candlestick\"!==t.type&&\"boxPlot\"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,n,o,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(n=r.annotations)&&void 0!==n&&n.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(o=e)&&void 0!==o&&null!==(l=o.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),Ii=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4);var n=\"top\"===t.label.position?r.width:-r.width;s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+n);var o=this.annoCtx.graphics.rotateAroundCenter(s),l=o.x,h=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(l,\" \").concat(h,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||!e.label.text||!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding,n=r.left,o=r.right,l=r.top,h=r.bottom;if(\"vertical\"===e.label.orientation){var c=[n,o,l,h];l=c[0],h=c[1],n=c[2],o=c[3]}var d=s.left-a.left-n,u=s.top-a.top-l,g=this.annoCtx.graphics.drawRect(d-i.globals.barPadForNumericAxis,u,s.width+n+o,s.height+l+h,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&g.node.classList.add(e.id),g}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var n=r.parentNode,o=t.addBackgroundToAnno(r,i);o&&(n.insertBefore(o.node,r),i.label.mouseEnter&&o.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&o.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&o.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.forEach((function(t,e){return i(t,e,\"xaxis\")})),e.config.annotations.yaxis.forEach((function(t,e){return i(t,e,\"yaxis\")})),e.config.annotations.points.forEach((function(t,e){return i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=this.w,s=\"y1\"===t?e.y:e.y2,r=!1;if(this.annoCtx.invertAxis){var n=a.config.xaxis.convertedCatToNumeric?a.globals.categoryLabels:a.globals.labels,o=n.indexOf(s),l=a.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\".concat(o+1,\")\"));i=l?parseFloat(l.getAttribute(\"y\")):(a.globals.gridHeight/n.length-1)*(o+1)-a.globals.barHeight,void 0!==e.seriesIndex&&a.globals.barHeight&&(i-=a.globals.barHeight/2*(a.globals.series.length-1)-a.globals.barHeight*e.seriesIndex)}else{var h,c=a.globals.seriesYAxisMap[e.yAxisIndex][0],d=a.config.yaxis[e.yAxisIndex].logarithmic?new Pi(this.annoCtx.ctx).getLogVal(a.config.yaxis[e.yAxisIndex].logBase,s,c)/a.globals.yLogRatio[c]:(s-a.globals.minYArr[c])/(a.globals.yRange[c]/a.globals.gridHeight);i=a.globals.gridHeight-Math.min(Math.max(d,0),a.globals.gridHeight),r=d>a.globals.gridHeight||d<0,!e.marker||void 0!==e.y&&null!==e.y||(i=0),null!==(h=a.config.yaxis[e.yAxisIndex])&&void 0!==h&&h.reversed&&(i=d)}return\"string\"==typeof s&&s.includes(\"px\")&&(i=parseFloat(s)),{yP:i,clipped:r}}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=\"x1\"===t?e.x:e.x2,s=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=!1,l=this.annoCtx.inversedReversedAxis?(r-a)/(n/i.globals.gridWidth):(a-s)/(n/i.globals.gridWidth);return\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(l=this.getStringX(a)),\"string\"==typeof a&&a.includes(\"px\")&&(l=parseFloat(a)),null==a&&e.marker&&(l=i.globals.gridWidth),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(l-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*e.seriesIndex),l>i.globals.gridWidth?(l=i.globals.gridWidth,o=!0):l<0&&(l=0,o=!0),{x:l,clipped:o}}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.map((function(t){return Array.isArray(t)?t.join(\" \"):t})).indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\".concat(a+1,\")\"));return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),Ti=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),n=r.x,o=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(v.isNumber(n)){if(null===t.x2||void 0===t.x2){if(!o){var d=this.annoCtx.graphics.drawLine(n+t.offsetX,0+t.offsetY,n+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var u=this.helpers.getX1X2(\"x2\",t);if(a=u.x,l=u.clipped,!o||!l){if(a12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(u))).replace(/(^|[^\\\\])H/g,\"$1\"+u)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])h/g,\"$1\"+g);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])m/g,\"$1\"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var m=u<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+m)).replace(/(^|[^\\\\])T/g,\"$1\"+m.charAt(0));var v=m.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+v)).replace(/(^|[^\\\\])t/g,\"$1\"+v.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),n=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),o=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=v.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),Xi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return s(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new zi(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;if(v.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(v.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(v.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),Ri=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=o.globals.xLabelFormatter,d=o.config.xaxis.labels.formatter,u=!1,g=new Xi(this.ctx),p=l;n&&(h=g.xLabelFormat(c,l,p,{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),u=x===f,i=e[a].position,h=e[a].value):\"datetime\"===o.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new Mi(this.ctx),m={};m=o.globals.rotateXLabels&&n?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(o.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var v=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&v)&&(h=\"\"),{x:i,text:h,textRect:m,isBold:u}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];e.xa.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:\"isYAxisHidden\",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new Pi(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:\"getYAxisForeColor\",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:\"drawYAxisTicks\",value:function(t,e,i,a,s,r,n){var o=this.w,l=new Mi(this.ctx),h=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?h=0:\"heatmap\"===o.config.chart.type&&(h+=r/2),a.show&&e>0){!0===o.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);n.add(d),h+=r}}}}]),t}(),Ei=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx),this.axesUtils=new Ri(this.annoCtx)}return s(t,[{key:\"addYaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,n=this.helpers.getY1Y2(\"y1\",t),o=n.yP,l=n.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var u=this.annoCtx.graphics.drawLine(0+t.offsetX,o+t.offsetY,this._getYAxisAnnotationWidth(t),o+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(u.node),t.id&&u.node.classList.add(t.id)}}else{if(a=(n=this.helpers.getY1Y2(\"y2\",t)).yP,h=n.clipped,a>o){var g=o;o=a,a=g}if(!l||!h){c=!0;var p=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);p.node.classList.add(\"apexcharts-annotation-rect\"),p.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(c){var f=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:f+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),Yi=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:\"addPointAnnotation\",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2(\"x1\",t),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2(\"y1\",t)).yP,o=a.clipped;if(v.isNumber(s)&&!o&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,n+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:\"\",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:n+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var u=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});u.attr({transform:\"translate(\".concat(s+t.customSVG.offsetX,\", \").concat(n+t.customSVG.offsetY,\")\")}),u.node.innerHTML=t.customSVG.SVG,e.appendChild(u.node)}if(t.image.path){var g=t.image.width?t.image.width:20,p=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-g/2,y:n+t.image.offsetY-p/2,width:g,height:p,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&h.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener(\"click\",t.click.bind(this,t))}}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var Hi={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},Oi=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"\",locales:[Hi],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.8}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],clusterGroupedSeries:!0,clusterGroupedSeriesOrientation:\"vertical\",labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:\"lighten\"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\"}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),Fi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new Mi(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new Ii(this),this.xAxisAnnotations=new Ti(this),this.yAxisAnnotations=new Ei(this),this.pointsAnnotations=new Yi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts&&t.globals.dataPoints){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],n=[i.node,e.node,a.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(r[o]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&n[o].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,u=t.borderWidth,g=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,m=t.paddingLeft,v=void 0===m?4:m,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,C=t.paddingTop,S=void 0===C?2:C,L=this.w,M=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:o||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:n||L.config.chart.foreColor,cssClass:c}),P=L.globals.dom.baseEl.querySelector(b);P&&P.appendChild(M.node);var I=M.bbox();if(s){var T=this.graphics.drawRect(I.x-v,I.y-S,I.width+v+w,I.height+A+S,p,d||\"transparent\",1,u,f,g);P.insertBefore(T.node,M.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,n=t.y,o=void 0===n?0:n,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,u=t.appendTo,g=void 0===u?\".apexcharts-svg\":u,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,o);var f=i.globals.dom.baseEl.querySelector(g);return f&&f.appendChild(p.node),p}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,n=a,o=n.w,l=o.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new Oi,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),u=v.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(u,l,h);break;case\"yaxis\":this.addYaxisAnnotation(u,l,h);break;case\"point\":this.addPointAnnotation(u,l,h)}var g=o.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),p=this.helpers.addBackgroundToAnno(g,u);return p&&l.insertBefore(p.node,g),i&&o.globals.memory.methodsToExec.push({context:n,id:u.id?u.id:v.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)\"addText\"!==e.globals.memory.methodsToExec[a].label&&\"addAnnotation\"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=v.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),Di=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,n=t.y1,o=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],u=l.config.series[s].name?l.config.series[s].name:\"\",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof p&&(u=p(u,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new Xi(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(a).formatDate,w:l}));\"function\"==typeof g&&(d=g(d,f)),Number.isFinite(n)&&Number.isFinite(o)&&(h=n,c=o);var x=\"\",b=\"\",m=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var v=new zi(a);x=v.formatDate(v.getDate(h),l.config.tooltip.x.format),b=v.formatDate(v.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:m,seriesName:u}},_i=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,n=t.seriesIndex,o=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(n);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[n][o]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'

'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[n].type||\"rangeBar\"===t.w.config.series[n].type?c:\"\".concat(h,\"\"):c)+\"
\"},Ni=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return v.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"slope\",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+\": \"+t:\"\"},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:\"top\",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:\"straight\"}}}},{key:\"bar\",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),u(u({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:7,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=Di(u(u({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,n=e.endVal;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t):function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}}}}},{key:\"brush\",value:function(t){return v.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return u(u({},t),{},{plotOptions:u(u({},t.plotOptions),{},{bar:u(u({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return v.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return v.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\"}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],n=t.globals.seriesCandleH[e][i],o=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+n+\"
\"+(o?\"
\".concat(a[2],': ')+o+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),Wi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new Oi,s=new Ni(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&\"object\"===b(i)){var o,l,h,c,d,u,g,p,f,x,m={};m=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(o=i.plotOptions)&&void 0!==o&&null!==(l=o.bar)&&void 0!==l&&l.isFunnel&&(m=s.funnel()),i.chart.stacked&&\"bar\"===i.chart.type&&(m=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(m=s.brush(m)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(m=s.slope()),i.chart.stacked&&\"100%\"===i.chart.stackType&&(i=s.stacked100(i)),null!==(u=i.plotOptions)&&void 0!==u&&null!==(g=u.bar)&&void 0!==g&&g.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(p=(i=this.checkForCatToNumericXAxis(this.chartType,m,i)).chart.sparkline)&&void 0!==p&&p.enabled||null!==(f=window.Apex.chart)&&void 0!==f&&null!==(x=f.sparkline)&&void 0!==x&&x.enabled)&&(m=s.sparkline(m)),n=v.extend(r,m)}var y=v.extend(n,window.Apex);return r=v.extend(y,i),r=this.handleUserInputErrors(r)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new Ni(i),n=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),o=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return n||o||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new Oi;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=v.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[v.extend(i.yAxis,t.yaxis)]:t.yaxis=v.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=v.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new Oi;return t.annotations.yaxis=v.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new Oi;return t.annotations.xaxis=v.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new Oi;return t.annotations.points=v.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),Bi=function(){function t(){i(this,t)}return s(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=v.extend({},t),e.initialSeries=v.clone(t.series),e.lastXAxis=v.clone(e.initialConfig.xaxis),e.lastYAxis=v.clone(e.initialConfig.yaxis),e}}]),t}(),Gi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:\"init\",value:function(){var t=new Wi(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Bi).init(t)}}}]),t}(),ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=r+1,l=r):(o=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");Mi.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:o+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",n),Mi.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:o+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"computeColorStops\",value:function(t,e){var i,a=this.w,s=null,n=null,o=r(t);try{for(o.s();!(i=o.n()).done;){var l=i.value;l>=e.threshold?(null===s||l>s)&&(s=l):(null===n||l-1?x=v.getOpacityFromRGBA(c):m=v.hexToRgba(v.rgb2hex(c),x),t.opacity&&(x=t.opacity),\"pattern\"===p&&(n=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:m})),b){var y=f(l.fill.gradient.colorStops)||[],w=l.fill.gradient.type;h&&(y[this.seriesIndex]=this.computeColorStops(s.globals.series[this.seriesIndex],l.plotOptions.line.colors),w=\"vertical\"),o=this.handleGradientFill({type:w,fillConfig:t.fillConfig,fillColor:c,fillOpacity:x,colorStops:y,i:this.seriesIndex})}if(\"image\"===p){var k=l.fill.image.src,A=t.patternID?t.patternID:\"\",C=\"pattern\".concat(s.globals.cuid).concat(t.seriesNumber+1).concat(A);-1===this.patternIDs.indexOf(C)&&(this.clippedImgArea({opacity:x,image:Array.isArray(k)?t.seriesNumber-1&&(p=v.getOpacityFromRGBA(g));var f=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[n]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)d=\"dark\"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?v.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?v.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var x=o.gradient.gradientToColors[l.seriesNumber];d=x,x.indexOf(\"rgba\")>-1&&(f=v.getOpacityFromRGBA(x))}else d=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(d=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=d,d=b}return g.indexOf(\"rgb\")>-1&&(g=v.rgb2hex(g)),d.indexOf(\"rgb\")>-1&&(d=v.rgb2hex(d)),h.drawGradient(e,g,d,p,f,l.size,o.gradient.stops,r,n)}}]),t}(),Vi=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],r=this.w,n=e,o=t,l=null,h=new Mi(this.ctx),c=r.config.markers.discrete&&r.config.markers.discrete.length;if(Array.isArray(o.x))for(var d=0;d0:r.config.markers.size>0)||s||c){p||(f+=\" w\".concat(v.randomId()));var x=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:g});if(r.config.series[n].data[g]&&(r.config.series[n].data[g].fillColor&&(x.pointFillColor=r.config.series[n].data[g].fillColor),r.config.series[n].data[g].strokeColor&&(x.pointStrokeColor=r.config.series[n].data[g].strokeColor)),void 0!==a&&(x.pSize=a),(o.x[d]<-r.globals.markers.largestSize||o.x[d]>r.globals.gridWidth+r.globals.markers.largestSize||o.y[d]<-r.globals.markers.largestSize||o.y[d]>r.globals.gridHeight+r.globals.markers.largestSize)&&(x.pSize=0),!p)(r.globals.markers.size[e]>0||s||c)&&!l&&(l=h.group({class:s||c?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(r.globals.cuid,\")\")),(u=h.drawMarker(o.x[d],o.y[d],x)).attr(\"rel\",g),u.attr(\"j\",g),u.attr(\"index\",e),u.node.setAttribute(\"default-marker-size\",x.pSize),new Li(this.ctx).setSelectionFilter(u,e,g),this.addEvents(u),l&&l.add(u)}else void 0===r.globals.pointsArray[e]&&(r.globals.pointsArray[e]=[]),r.globals.pointsArray[e].push([o.x[d],o.y[d]])}return l}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,n=void 0===r?null:r,o=t.size,l=void 0===o?null:o,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,u=this.getMarkerStyle(i),g=null===l?d.globals.markers.size[i]:l,p=d.config.markers;return null!==s&&p.discrete.length&&p.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(u.pointStrokeColor=t.strokeColor,u.pointFillColor=t.fillColor,g=t.size,u.pointShape=t.shape)})),{pSize:null===n?g:n,pRadius:null!==n?n:p.radius,pointStrokeWidth:null!==c?c:Array.isArray(p.strokeWidth)?p.strokeWidth[i]:p.strokeWidth,pointStrokeColor:u.pointStrokeColor,pointFillColor:u.pointFillColor,shape:u.pointShape||(Array.isArray(p.shape)?p.shape[i]:p.shape),class:e,pointStrokeOpacity:Array.isArray(p.strokeOpacity)?p.strokeOpacity[i]:p.strokeOpacity,pointStrokeDashArray:Array.isArray(p.strokeDashArray)?p.strokeDashArray[i]:p.strokeDashArray,pointFillOpacity:Array.isArray(p.fillOpacity)?p.fillOpacity[i]:p.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new Mi(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),Ui=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(n.x))for(var c=0;cp.maxBubbleRadius&&(g=p.maxBubbleRadius)}var f=n.x[c],x=n.y[c];if(g=g||0,null!==x&&void 0!==a.globals.series[r][d]||(u=!1),u){var b=this.drawPoint(f,x,g,r,d,e);h.add(b)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r){var n=this.w,o=a,l=new y(this.ctx),h=new Li(this.ctx),c=new ji(this.ctx),d=new Vi(this.ctx),u=new Mi(this.ctx),g=d.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:o,dataPointIndex:s,radius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[a]&&\"bubble\"===n.config.series[a].type?i:null}),p=c.fillPath({seriesNumber:a,dataPointIndex:s,color:g.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[a][r]}),f=u.drawMarker(t,e,g);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(p=n.config.series[o].data[s].fillColor),f.attr({fill:p}),n.config.chart.dropShadow.enabled){var x=n.config.chart.dropShadow;h.dropShadow(f,x,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var b=n.config.chart.animations.speed;l.animateMarker(f,b,n.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(f)}),100)}))}return f.attr({rel:s,j:s,index:a,\"default-marker-size\":g.pSize}),h.setSelectionFilter(f,a,s),d.addEvents(f),f.node.classList.add(\"apexcharts-marker\"),f}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),qi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"dataLabelsCorrection\",value:function(t,e,i,a,s,r,n){var o=this.w,l=!1,h=new Mi(this.ctx).getTextRects(i,n),c=h.width,d=h.height;e<0&&(e=0),e>o.globals.gridHeight+d&&(e=o.globals.gridHeight+d/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var u=o.globals.dataLabelsRects[a].length-2,g=void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==o.globals.dataLabelsRects[a][u]){var p=o.globals.dataLabelsRects[a][g];(t>p.x+p.width||e>p.y+p.height||e+de.globals.gridWidth+b.textRects.width+30)&&(o=\"\");var m=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(m=e.globals.dataLabels.style.colors[n]),\"function\"==typeof m&&(m=m({series:e.globals.series,seriesIndex:r,dataPointIndex:n,w:e})),u&&(m=u);var v=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(v=0,y=0),e.globals.isSlopeChart&&(0!==n&&(v=-2*d.offsetX+5),0!==n&&n!==e.config.series[r].data.length-1&&(v=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+v,y:s+y,foreColor:m,textAnchor:l||d.textAnchor,text:o,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"})).attr({class:f||\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var w=d.dropShadow;new Li(this.ctx).dropShadow(x,w)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(n)}return x}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=e.width,o=e.height,l=new Mi(this.ctx).drawRect(e.x-s,e.y-r/2,n+2*s,o+r,a.borderRadius,\"transparent\"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:\"#fff\",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new Li(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=v.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"highlightSeries\",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(null==i?void 0:i.getAttribute(\"data:realIndex\"),10),s=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis\"),r=null,n=null,o=null;if(e.globals.axisCharts||\"radialBar\"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(a,\"']\")),n=e.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(a,\"']\"));var l=e.globals.seriesYAxisReverseMap[a];o=e.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(l,\"']\"))}else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"']\"));else r=e.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(a+1,\"'] path\"));for(var h=0;h=t.from&&(r0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},n=0;n0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0?t:[]}));return t}}]),t}(),$i=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pi(this.ctx)}return s(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(v.parseNumber(t[e].data[r][4])):this.twoDSeries.push(v.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var n=new Date(t[e].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var o=0;o-1&&(r=this.activeSeriesIndex);for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new zi(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push(\"series-\"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var o=[],l=f(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);o[i]||(o[i]=[]),o[i].push(s.seriesNames[e])})),s.seriesGroups=o;for(var h=function(){for(var t=0;t0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return v.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new Ni(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),n=0;n0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),Ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"getSvgString\",value:function(){var t=this;return new Promise((function(e){var i=t.w,a=i.config.chart.toolbar.export.width,s=i.config.chart.toolbar.export.scale||a/i.globals.svgWidth;s||(s=1);var r=t.w.globals.dom.Paper.svg(),n=t.w.globals.dom.Paper.node.cloneNode(!0);1!==s&&t.scaleSvgNode(n,s),t.convertImagesToBase64(n).then((function(){r=(new XMLSerializer).serializeToString(n),e(r.replace(/ /g,\" \"))}))}))}},{key:\"convertImagesToBase64\",value:function(t){var e=this,i=t.getElementsByTagName(\"image\"),a=Array.from(i).map((function(t){var i=t.getAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\");return i&&!i.startsWith(\"data:\")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",e)})).catch((function(t){console.error(\"Error converting image to base64:\",t)})):Promise.resolve()}));return Promise.all(a)}},{key:\"getBase64FromUrl\",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin=\"Anonymous\",a.onload=function(){var t=document.createElement(\"canvas\");t.width=a.width,t.height=a.height,t.getContext(\"2d\").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){var t=this;return new Promise((function(e){t.cleanup(),t.getSvgString().then((function(t){var i=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});e(URL.createObjectURL(i))}))}))}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n=\"transparent\"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:\"#fff\",o=r.getContext(\"2d\");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s),e.getSvgString().then((function(t){var e=\"data:image/svg+xml,\"+encodeURIComponent(t),a=new Image;a.crossOrigin=\"anonymous\",a.onload=function(){if(o.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},a.src=e}))}))}},{key:\"exportToSVG\",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,\".svg\")}))}},{key:\"exportToPng\",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,n=t.lineDelimiter,o=void 0===n?\"\\n\":n,l=this.w;i||(i=l.config.series);var h=[],c=[],d=\"\",u=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),g=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):\"datetime\"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():v.isNumber(t)?t:t.split(r).join(\"\")},p=function(t){return\"function\"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},x=Math.max.apply(Math,f(i.map((function(t){return t.data?t.data.length:0})))),b=new $i(this.ctx),m=new Ri(this.ctx),y=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new Zi(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=m.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?\"nullvalue\":(Array.isArray(i)&&(i=i.join(\" \")),v.isNumber(i)?i:i.split(r).join(\"\"))},w=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||f(Array(x)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new Mi(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,u=l.xaxisFontSize||this.xaxisFontSize,g=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,m=a.length,v=\"category\"===d.config.xaxis.type?d.globals.dataPoints:m;if(0===v&&m>v&&(v=m),s){var y=v>1?v-1:v;n=d.globals.gridWidth/Math.min(y,m-1),b=b+r(0,n)/2+d.config.xaxis.labels.offsetX}else n=d.globals.gridWidth/v,b=b+r(0,n)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,n)/2+d.config.xaxis.labels.offsetX;0===s&&1===m&&n/2===b&&1===v&&(l=d.globals.gridWidth/2);var y=o.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,u,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(u)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(s,y,m):o.axesUtils.checkForOverflowingLabels(s,y,m,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:o.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:f,fontSize:u,fontFamily:g,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,o.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new Mi(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new Mi(this.ctx);t||(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){if(this.w.globals.axisCharts){var t=this.renderGrid();return this.drawGridArea(t.el),t}return null}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new Mi(this.ctx),a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,f(t.config.stroke.width)):t.config.stroke.width,s=function(t){var i=document.createElementNS(e.SVGNS,\"clipPath\");return i.setAttribute(\"id\",t),i};e.dom.elGridRectMask=s(\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectBarMask=s(\"gridRectBarMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=s(\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=s(\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=s(\"nonForecastMask\".concat(e.cuid));var r=0,n=0;([\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t.config.chart.type)||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(r=Math.max(t.config.grid.padding.left,e.barPadForNumericAxis),n=Math.max(t.config.grid.padding.right,e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(0,0,e.gridWidth,e.gridHeight,0,\"#fff\"),e.dom.elGridRectBar=i.drawRect(-a/2-r-2,-a/2-2,e.gridWidth+a+n+r+4,e.gridHeight+a+4,0,\"#fff\");var o=t.globals.markers.largestSize;e.dom.elGridRectMarker=i.drawRect(-o,-o,e.gridWidth+2*o,e.gridHeight+2*o,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectBarMask.appendChild(e.dom.elGridRectBar.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var l=e.dom.baseEl.querySelector(\"defs\");l.appendChild(e.dom.elGridRectMask),l.appendChild(e.dom.elGridRectBarMask),l.appendChild(e.dom.elGridRectMarkerMask),l.appendChild(e.dom.elForecastMask),l.appendChild(e.dom.elNonForecastMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,u=0;d0&&\"datetime\"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e){var i,a,s=this,r=this.w;if((null===(i=r.config.grid.row.colors)||void 0===i?void 0:i.length)>0&&function(t,i,a,n,o,l){for(var h=0,c=0;h=r.config.grid[t].colors.length&&(c=0),s._drawGridBandRect({c:c,x1:a,y1:n,x2:o,y2:l,type:t}),n+=r.globals.gridHeight/e}(\"row\",e,0,0,r.globals.gridWidth,r.globals.gridHeight/e),(null===(a=r.config.grid.column.colors)||void 0===a?void 0:a.length)>0){var n=r.globals.isBarHorizontal||\"on\"!==r.config.xaxis.tickPlacement||\"category\"!==r.config.xaxis.type&&!r.config.xaxis.convertedCatToNumeric?t:t-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var o=r.globals.padHorizontal,l=r.globals.padHorizontal+r.globals.gridWidth/n,h=r.globals.gridHeight,c=0,d=0;c=r.config.grid.column.colors.length&&(d=0),\"datetime\"===r.config.xaxis.type)o=this.xaxisLabels[c].position,l=((null===(u=this.xaxisLabels[c+1])||void 0===u?void 0:u.position)||r.globals.gridWidth)-this.xaxisLabels[c].position;this._drawGridBandRect({c:d,x1:o,y1:0,x2:l,y2:h,type:\"column\"}),o+=r.globals.gridWidth/n}}}}]),t}(),ta=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.coreUtils=new Pi(this.ctx)}return s(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[n],a=Math.max((h.svgHeight-100)/15,2)),v.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,u=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(u=h.multiAxisTickAmount,d=!0),u=\"dataPoints\"===u?h.dataPoints-1:Math.abs(Math.round(u)),(t===Number.MIN_VALUE&&0===e||!v.isNumber(t)&&!v.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=v.isNumber(i.min)?i.min:0,e=v.isNumber(i.max)?i.max:t+u,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var g=e;e=t,t=g}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];u<1&&(u=1);var f=u,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/f,m=b,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(b=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var C=x/f;if(d)if(c)if(0!=v.mod(x,b)){var S=v.getGCD(b,C);b=C/S<10?S:C}else 0==v.mod(b,C)?b=C:(C=b,d=!1);else b=C;else if(c)0==v.mod(x,b)?C=b:b=C;else if(0==v.mod(x,b))C=b;else{C=x/(f=Math.ceil(x/b));var L=v.getGCD(x,b);x/La&&(t=e-b*u,t+=b*Math.floor((M-t)/b))}else if(s)if(d)e=t+b*f;else{var P=e;e=b*Math.ceil(e/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(e=t+b*u,e+=b*Math.ceil((P-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*f;T0&&t16&&v.getPrimeFactors(f).length<2&&f++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&f>x&&(f=x,b=Math.round(x/f)),f>a&&(!d&&!c||i.forceNiceScale)){var z=v.getPrimeFactors(f),X=z.length-1,R=f;t:for(var E=0;EN);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),n=[];if(t===e)return{result:n=[t],niceMin:n[0],niceMax:n[n.length-1]};\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(10*(s+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=t;i>=0;)n.push(o),o=v.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&v.isNumber(i)&&e!==Number.MAX_VALUE&&v.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var r=a.xTickAmount+1;s<10&&s>1&&(r=s),a.xAxisScale=this.linearScale(t,e,r,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:\"scaleMultipleYAxes\",value:function(){var t=this,e=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var a=i.seriesYAxisMap,s=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach((function(a,n){var o=[];a.forEach((function(t){var i=e.series[t].group;o.indexOf(i)<0&&o.push(i)})),a.length>0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,u=c,g=d;if(e.chart.stacked)!function(){var t=new Array(i.dataPoints).fill(0),s=[],r=[],p=[];o.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),p.push(t.map((function(){return Number.MIN_VALUE})))}));for(var f=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:\"axis-\".concat(n),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,o.forEach((function(t,a){if(e.series[c].group===t)for(var n=0;n=0?r[a][n]+=o:p[a][n]+=o,s[a][n]+=o,u=Math.min(u,o),g=Math.max(g,o)}}))),\"bar\"!==l&&\"column\"!==l||i.barGroups.push(h)},x=0;x1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var u,g=null===(u=r.brushSource)||void 0===u?void 0:u.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=g&&g.enabled&&null!=g&&g.autoScaleYaxis)&&(d=!0)}for(var p=t;px&&r.seriesX[p][b]>s.xaxis.max;b--);}for(var m=x;m<=b&&mh[p][m]&&h[p][m]<0&&(o=h[p][m])}else r.hasNullValues=!0}\"bar\"!==f&&\"column\"!==f||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(o=e),\"bar\"===s.chart.type&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if(\"dataPoints\"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=t.maxX-t.minX;s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],n=t.minX-1;n0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var n=0;n0?a[i][n]+=parseFloat(e.series[r][n])+1e-4:s[i][n]+=parseFloat(e.series[r][n]))}}))})),Object.entries(a).forEach((function(t){var i=p(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),ia=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=\"bottom\"===s.config.xaxis.position?s.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new Ri(e)}return s(t,[{key:\"drawYaxis\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.yaxis[t].labels.style,s=a.fontSize,r=a.fontFamily,n=a.fontWeight,o=i.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\".concat(e.globals.translateYAxisX[t],\", 0)\")});if(this.axesUtils.isYAxisHidden(t))return o;var l=i.group({class:\"apexcharts-yaxis-texts-g\"});o.add(l);var h=e.globals.yAxisScale[t].result.length-1,c=e.globals.gridHeight/h,d=e.globals.yLabelFormatters[t],u=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice());if(e.config.yaxis[t].labels.show){var g=e.globals.translateY+e.config.yaxis[t].labels.offsetY;e.globals.isBarHorizontal?g=0:\"heatmap\"===e.config.chart.type&&(g-=c/2),g+=parseInt(s,10)/3;for(var p=h;p>=0;p--){var f=d(u[p],p,e),x=e.config.yaxis[t].labels.padding;e.config.yaxis[t].opposite&&0!==e.config.yaxis.length&&(x*=-1);var b=this.getTextAnchor(e.config.yaxis[t].labels.align,e.config.yaxis[t].opposite),m=this.axesUtils.getYAxisForeColor(a.colors,t),y=Array.isArray(m)?m[p]:m,w=v.listToArray(e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-label tspan\"))).map((function(t){return t.textContent})),k=i.drawText({x:x,y:g,text:w.includes(f)&&!e.config.yaxis[t].labels.showDuplicates?\"\":f,textAnchor:b,fontSize:s,fontFamily:r,fontWeight:n,maxWidth:e.config.yaxis[t].labels.maxWidth,foreColor:y,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \".concat(a.cssClass)});l.add(k),this.addTooltip(k,f),0!==e.config.yaxis[t].labels.rotate&&this.rotateLabel(i,k,firstLabel,e.config.yaxis[t].labels.rotate),g+=c}}return this.addYAxisTitle(i,o,t),this.addAxisBorder(i,o,t,h,c),o}},{key:\"getTextAnchor\",value:function(t,e){return\"left\"===t?\"start\":\"center\"===t?\"middle\":\"right\"===t?\"end\":e?\"start\":\"end\"}},{key:\"addTooltip\",value:function(t,e){var i=document.createElementNS(this.w.globals.SVGNS,\"title\");i.textContent=Array.isArray(e)?e.join(\" \"):e,t.node.appendChild(i)}},{key:\"rotateLabel\",value:function(t,e,i,a){var s=t.rotateAroundCenter(i.node),r=t.rotateAroundCenter(e.node);e.node.setAttribute(\"transform\",\"rotate(\".concat(a,\" \").concat(s.x,\" \").concat(r.y,\")\"))}},{key:\"addYAxisTitle\",value:function(t,e,i){var a=this.w;if(void 0!==a.config.yaxis[i].title.text){var s=t.group({class:\"apexcharts-yaxis-title\"}),r=a.config.yaxis[i].opposite?a.globals.translateYAxisX[i]:0,n=t.drawText({x:r,y:a.globals.gridHeight/2+a.globals.translateY+a.config.yaxis[i].title.offsetY,text:a.config.yaxis[i].title.text,textAnchor:\"end\",foreColor:a.config.yaxis[i].title.style.color,fontSize:a.config.yaxis[i].title.style.fontSize,fontWeight:a.config.yaxis[i].title.style.fontWeight,fontFamily:a.config.yaxis[i].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \".concat(a.config.yaxis[i].title.style.cssClass)});s.add(n),e.add(s)}}},{key:\"addAxisBorder\",value:function(t,e,i,a,s){var r=this.w,n=r.config.yaxis[i].axisBorder,o=31+n.offsetX;if(r.config.yaxis[i].opposite&&(o=-31-n.offsetX),n.show){var l=t.drawLine(o,r.globals.translateY+n.offsetY-2,o,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);e.add(l)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(o,a,n,r.config.yaxis[i].axisTicks,i,s,e)}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/r+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice()),c=e.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),e.config.xaxis.labels.show)for(var d=c.length?0:r;c.length?d=0;c.length?d++:d--){var u=l(h[d],d,e),g=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,g,d,this.drawnLabels,this.xaxisFontSize);g=p.x,u=p.text,this.drawnLabels.push(p.text),0===d&&e.globals.skipFirstTimelinelabel&&(u=\"\"),d===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var f=i.drawText({x:g,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \".concat(e.config.xaxis.labels.style.cssClass)});s.add(f),f.tspan(u),this.addTooltip(f,u),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new Mi(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \".concat(e.config.xaxis.title.style.cssClass)});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\")),r=s?s.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\")),o=n?n.getBoundingClientRect():{width:0,height:0};if(n){var l=this.xPaddingForYAxisTitle(t,r,o,e);n.setAttribute(\"x\",l.xPos-(e?10:0));var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:r,padd:0}:(a?r=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2:(r=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,r=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:r,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach((function(o,l){var h=i.globals.ignoreYAxisIndexes.includes(l)||!o.show||o.floating||0===t[l].width,c=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,h||(n+=c+20),i.globals.translateYAxisX[l]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,h||(r+=c+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w;v.listToArray(t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\")).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=v.listToArray(t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"))),n=s.getBoundingClientRect();r.forEach((function(t){t.setAttribute(\"text-anchor\",a.labels.align)})),\"left\"!==a.labels.align||a.opposite?\"center\"===a.labels.align?s.setAttribute(\"transform\",\"translate(\".concat(n.width/2*(a.opposite?1:-1),\", 0)\")):\"right\"===a.labels.align&&a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(n.width,\", 0)\")):s.setAttribute(\"transform\",\"translate(-\".concat(n.width,\", 0)\"))}}))}}]),t}(),aa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=v.bind(this.documentEvent,this)}return s(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=v.extend(Hi,i);this.w.globals.locale=a.options}}]),t}(),ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new Qi(this.ctx,e),l=new ia(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),na=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Li(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,u=s.left,g=s.top,p=s.blur,f=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(b=e.drawGradient(\"vertical\",n,o,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine());var y=t.globals.gridHeight;(!v.isNumber(y)||y<0)&&(y=0);var w=t.config.xaxis.crosshairs.width;(!v.isNumber(w)||w<0)&&(w=0),m.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:y,width:w,height:y,fill:b,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:u,top:g,blur:p,color:f,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new Mi(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),oa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Wi({}),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,n=window.innerWidth>0?window.innerWidth:screen.width;if(n>a){var o=v.clone(i.globals.initialConfig);o.series=v.clone(i.config.series);var l=Pi.extendArrayProps(r,o,i);t=v.extend(l,t),t=v.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h0&&\"function\"==typeof t[0]?(this.isColorFn=!0,i.config.series.map((function(a,s){var r=t[s]||t[0];return\"function\"==typeof r?r({value:i.globals.axisCharts?i.globals.series[s][0]||0:i.globals.series[s],seriesIndex:s,dataPointIndex:s,w:e.w}):r}))):t:this.predefined()}},{key:\"applySeriesColors\",value:function(t,e){t.forEach((function(t,i){t&&(e[i]=t)}))}},{key:\"getMonochromeColors\",value:function(t,e,i){var a=t.color,s=t.shadeIntensity,r=t.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?e[0].length*e.length:e.length,o=1/(n/s),l=0;return Array.from({length:n},(function(){var t=\"dark\"===r?i.shadeColor(-1*l,a):i.shadeColor(l,a);return l+=o,t}))}},{key:\"applyColorTypes\",value:function(t,e){var i=this,a=this.w;t.forEach((function(t){a.globals[t].colors=void 0===a.config[t].colors?i.isColorFn?a.config.colors:e:a.config[t].colors.slice(),i.pushExtraColors(a.globals[t].colors)}))}},{key:\"applyDataLabelsColors\",value:function(t){var e=this.w;e.globals.dataLabels.style.colors=void 0===e.config.dataLabels.style.colors?t:e.config.dataLabels.style.colors.slice(),this.pushExtraColors(e.globals.dataLabels.style.colors,50)}},{key:\"applyRadarPolygonsColors\",value:function(){var t=this.w;t.globals.radarPolygons.fill.colors=void 0===t.config.plotOptions.radar.polygons.fill.colors?[\"dark\"===t.config.theme.mode?\"#424242\":\"none\"]:t.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(t.globals.radarPolygons.fill.colors,20)}},{key:\"applyMarkersColors\",value:function(t){var e=this.w;e.globals.markers.colors=void 0===e.config.markers.colors?t:e.config.markers.colors.slice(),this.pushExtraColors(e.globals.markers.colors)}},{key:\"pushExtraColors\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getDatalabelsRect\",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,n){var o;o=e.globals.series[r][n],a=e.config.dataLabels.formatter(o,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:n,w:e}),i.push(a)}))}));var a=v.getLargestStringFromArr(i),s=new Mi(this.dCtx.ctx),r=e.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,f(a));i=e[a.indexOf(s)]}return i}}]),t}(),da=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=v.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(n=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var o=new Xi(this.dCtx.ctx),l=r;r=o.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),n=o.xLabelFormat(s,n,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(n=r=\"1\");var h=new Mi(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==n&&(d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var u=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=u(r),r!==n&&(d=u(n)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=v.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new Mi(this.dCtx.ctx),l=o.getTextRects(r,a),h=l;return r!==n&&(h=o.getTextRects(n,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new Mi(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new Mi(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,o){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(o)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var o=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+n/1.75-e.dCtx.yAxisWidthRight,h=o.position-n/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,o)))||void 0===a?void 0:a.length)?t:e}),d),g=u=c(u,o);if(void 0!==u&&0!==u.length||(u=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();u=v.getLargestStringFromArr(p),u=c(u,{seriesIndex:n,dataPointIndex:-1,w:e}),g=t.dCtx.dimHelpers.getLargestStringFromMultiArr(u,p)}var f=new Mi(t.dCtx.ctx),x=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),b=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=b;u!==g&&(m=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>b.width?h:m.width>b.width?m.width:b.width)+a,height:m.height>b.height?m.height:b.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new Mi(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),n=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:n.width,height:n.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new Ri(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,h=0;n.width>0&&!l?(h=n.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(h=h-n.width-s)):h=l||r.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),ga=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return[\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\"].includes(t)},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(o-=1)})),i.chart.stacked&&(o=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&0!==h){h<=3&&(h=a.dataPoints);var c=h/t,d=a.minXDiff&&a.minXDiff/c>0?a.minXDiff/c:0;d>t/2&&(d/=2),(n=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!i.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(s){void 0!==e.config[s].text?a+=e.config[s].margin:a+=t.dCtx.isSparkline||!i.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||i.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight-=s.height+r.height+a,i.translateY+=s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new Ri(this.dCtx.ctx);i.config.yaxis.forEach((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX-=e[r].width+t[r].width+parseInt(s.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),pa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new ca(this),this.dimYAxis=new ua(this),this.dimXAxis=new da(this),this.dimGrid=new ga(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,f(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=p(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||\"treemap\"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case\"right\":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new ia(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight;var o=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(o,e.gridHeight),e.translateY=r,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*n+s*o+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),fa=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-flip-y {\\n transform: scaleY(-1) translateY(-100%);\\n transform-origin: top;\\n transform-box: fill-box;\\n }\\n .apexcharts-flip-x {\\n transform: scaleX(-1);\\n transform-origin: center;\\n transform-box: fill-box;\\n }\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apexcharts-legend-group-horizontal {\\n flex-direction: column;\\n }\\n .apexcharts-legend-group {\\n display: flex;\\n }\\n .apexcharts-legend-group-vertical {\\n flex-direction: column-reverse;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n align-items: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n align-items: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n align-items: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n margin-right: 1px;\\n }\\n\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\\n\\n \");return a.appendChild(r),a}},{key:\"getLegendDimensions\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.findOne(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),o=a.config.chart.type;if(\"pie\"===o||\"polarArea\"===o||\"donut\"===o){var l=a.config.plotOptions.pie.donut.labels;new Mi(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,l)}n.fire(\"click\")}}},{key:\"getSeriesAfterCollapsing\",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=v.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],n={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(e);var o=a.risingSeries.indexOf(e);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:\"hideSeries\",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,n=0;n0){for(var r=0;r1;if(this.legendHelpers.appendToForeignObject(),(a||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"createLegendMarker\",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement(\"span\");s.classList.add(\"apexcharts-legend-marker\");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[e]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),d=s.style;if(d.height=2*(o+c)+\"px\",d.width=2*(o+c)+\"px\",d.left=l+\"px\",d.top=h+\"px\",a.config.legend.markers.customHTML)d.background=\"transparent\",d.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var g=new Vi(this.ctx).getMarkerConfig({cssClass:\"apexcharts-legend-marker apexcharts-marker apexcharts-marker-\".concat(n),seriesIndex:e,strokeWidth:c,size:o}),p=window.SVG().addTo(s).size(\"100%\",\"100%\"),f=new Mi(this.ctx).drawMarker(0,0,u(u({},g),{},{pointFillColor:Array.isArray(i)?i[e]:g.pointFillColor,shape:n}));a.globals.dom.Paper.find(\".apexcharts-legend-marker.apexcharts-marker\").forEach((function(t){t.node.classList.contains(\"apexcharts-marker-triangle\")?t.node.style.transform=\"translate(50%, 45%)\":t.node.style.transform=\"translate(50%, 50%)\"})),p.add(f)}return s}},{key:\"drawLegends\",value:function(){var t=this,e=this,i=this.w,a=i.config.legend.fontFamily,s=i.globals.seriesNames,r=i.config.legend.markers.fillColors?i.config.legend.markers.fillColors.slice():i.globals.colors.slice();if(\"heatmap\"===i.config.chart.type){var n=i.config.plotOptions.heatmap.colorScale.ranges;s=n.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),r=n.map((function(t){return t.color}))}else this.isBarsDistributed&&(s=i.globals.labels.slice());i.config.legend.customLegendItems.length&&(s=i.config.legend.customLegendItems);var o=i.globals.legendFormatter,l=i.config.legend.inverseOrder,h=[];i.globals.seriesGroups.length>1&&i.config.legend.clusterGroupedSeries&&i.globals.seriesGroups.forEach((function(t,e){h[e]=document.createElement(\"div\"),h[e].classList.add(\"apexcharts-legend-group\",\"apexcharts-legend-group-\".concat(e)),\"horizontal\"===i.config.legend.clusterGroupedSeriesOrientation?i.globals.dom.elLegendWrap.classList.add(\"apexcharts-legend-group-horizontal\"):h[e].classList.add(\"apexcharts-legend-group-vertical\")}));for(var c=function(e){var n,l=o(s[e],{seriesIndex:e,w:i}),c=!1,d=!1;if(i.globals.collapsedSeries.length>0)for(var u=0;u0)for(var g=0;g=0:d<=s.length-1;l?d--:d++)c(d);i.globals.dom.elWrap.addEventListener(\"click\",e.onLegendClick,!0),i.config.legend.onItemHover.highlightDataSeries&&0===i.config.legend.customLegendItems.length&&(i.globals.dom.elWrap.addEventListener(\"mousemove\",e.onLegendHovered,!0),i.globals.dom.elWrap.addEventListener(\"mouseout\",e.onLegendHovered,!0))}},{key:\"setLegendWrapXY\",value:function(t,e){var i=this.w,a=i.globals.dom.elLegendWrap,s=a.clientHeight,r=0,n=0;if(\"bottom\"===i.config.legend.position)n=i.globals.svgHeight-Math.min(s,i.globals.svgHeight/2)-5;else if(\"top\"===i.config.legend.position){var o=new pa(this.ctx),l=o.dimHelpers.getTitleSubtitleCoords(\"title\").height,h=o.dimHelpers.getTitleSubtitleCoords(\"subtitle\").height;n=(l>0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=n+\"px\",\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=new pa(this.ctx),i=e.dimHelpers.getTitleSubtitleCoords(\"title\"),a=e.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),s=0;\"top\"===t.config.legend.position&&(s=i.height+a.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,s)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new Zi(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new Zi(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ba=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),n(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var o=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};o(\"zoom\"),o(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),n(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;lthis.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:\"executeMouseWheelZoom\",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,n,o=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+o*c;r=d-(s=.5*c)/2,n=d+s/2}else r=l-(s=1.5*c)/2,n=h+s/2;if(!i.globals.isRangeBar){r=Math.max(r,i.globals.initialMinX),n=Math.min(n,i.globals.initialMaxX);var u=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(n-r0&&i.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(t,e,i,a,s){return\"l\"===s||\"r\"===s?t.circle(8).css({\"stroke-width\":1,stroke:\"#333\",fill:\"#fff\"}):t.circle(0)},updateHandle:function(t,e){return t.center(e[0],e[1])}}).resize().on(\"resize\",(function(){var i=e.globals.zoomEnabled?e.config.chart.zoom.type:e.config.chart.selection.type;t.handleMouseUp({zoomtype:i,isResized:!0})})))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(u(u({},t.globals.selection),{},{translateX:t.globals.translateX,translateY:t.globals.translateY}));else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:t.globals.translateX,translateY:t.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,n=void 0===r?0:r,o=t.translateY,l=void 0===o?0:o,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var u={transform:\"translate(\"+n+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),Mi.setAttrs(c.node,u)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),Mi.setAttrs(d.node,u))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),n=s.startX-1,o=s.startY,l=!1,h=!1,c=s.clientX-r.left-a.globals.barPadForNumericAxis,d=s.clientY-r.top,g=c-n,p=d-o,f={translateX:a.globals.translateX,translateY:a.globals.translateY};return Math.abs(g+n)>a.globals.gridWidth?g=a.globals.gridWidth-n:c<0&&(g=n),n>c&&(l=!0,g=Math.abs(g)),o>d&&(h=!0,p=Math.abs(p)),f=u(u({},f=\"x\"===i?{x:l?n-g:n,y:0,width:g,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?o-p:o,width:a.globals.gridWidth,height:p}:{x:l?n-g:n,y:h?o-p:o,width:g,height:p}),{},{translateX:a.globals.translateX,translateY:a.globals.translateY}),s.drawSelectionRect(f),s.selectionDragging(\"resizing\"),f}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w;if(e){e.preventDefault();var s=e.detail,r=s.handler,n=s.box,o=n.x,l=n.y;othis.constraints.x2&&(o=this.constraints.x2-n.w),n.y2>this.constraints.y2&&(l=this.constraints.y2-n.h),r.move(o,l);var h=this.xyRatios,c=this.selectionRect,d=0;\"resizing\"===t&&(d=30);var u=function(t){return parseFloat(c.node.getAttribute(t))},g={x:u(\"x\"),y:u(\"y\"),width:u(\"width\"),height:u(\"height\")};a.globals.selection=g,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,s,r,n=i.gridRect.getBoundingClientRect(),o=c.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(o.left-n.left)*h.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(o.right-n.left)*h.invertedYRatio,s=0,r=1):(t=a.globals.xAxisScale.niceMin+(o.left-n.left)*h.xRatio,e=a.globals.xAxisScale.niceMin+(o.right-n.left)*h.xRatio,s=a.globals.yAxisScale[0].niceMin+(n.bottom-o.bottom)*h.yRatio[0],r=a.globals.yAxisScale[0].niceMax-(o.top-n.top)*h.yRatio[0]);var l={xaxis:{min:t,max:e},yaxis:{min:s,max:r}};a.config.chart.events.selection(i.ctx,l),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,l)}),d))}}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,n=this.ctx.toolbar;if(s.startX>s.endX){var o=s.startX;s.startX=s.endX,s.endX=o}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],u=[];if(a.config.yaxis.forEach((function(t,e){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),u.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var g=v.clone(a.globals.initialConfig.yaxis),p=v.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(p={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||g.forEach((function(t,e){g[e].min=u[e],g[e].max=d[e]})),n){var f=n.getBeforeZoomRange(p,g);f&&(p=f.xaxis?f.xaxis:p,g=f.yaxis?f.yaxis:g)}var x={xaxis:p};a.config.chart.group||(x.yaxis=g),s.ctx.updateHelpers._updateOptions(x,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&n.zoomCallback(p,g)}else if(a.globals.selectionEnabled){var b,m=null;b={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(m=v.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=u[e],m[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:b,yaxis:m})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.isRangeBar?i.globals.minY:i.globals.minX,o=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(n,o)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=v.clone(i.globals.initialConfig.yaxis),r=a.xRatio,n=i.globals.minX,o=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,n=i.globals.minY,o=i.globals.maxY),\"left\"===this.moveDirection?(t=n+i.globals.gridWidth/15*r,e=o+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=n-i.globals.gridWidth/15*r,e=o-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=n,e=o);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),a}(ba),va=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,l=n.height,h=o/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=o/r.globals.dataPoints);var u=a-n.left-r.globals.barPadForNumericAxis,g=s-n.top;u<0||g<0||u>o||g>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var p=Math.round(u/h),f=Math.floor(g/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(u/h),p-=1);var x=null,b=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=u*(w.width/o),A=g*(w.height/l);x=(b=this.closestInMultiArray(k,A,m,y)).index,p=b.j,null!==x&&(m=r.globals.seriesXvalues[x],p=(b=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:x,j:r.globals.isBarHorizontal?f:p,hoverX:u,hoverY:g}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,n=null,o=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,o=i)}))})),-1!==o){var c=a[r][o],d=Math.abs(e-c);n=r,a.forEach((function(t,i){var a=Math.abs(e-t[o]);a<=d&&(d=a,n=i)}))}return{index:n,j:o}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=f(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getPathFromPoint\",value:function(t,e){var i=Number(t.getAttribute(\"cx\")),a=Number(t.getAttribute(\"cy\")),s=t.getAttribute(\"shape\");return new Mi(this.ctx).getMarkerPath(i,a,s,e)}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),m.innerHTML=t+\"
\",v.innerHTML=e+\"\"};n?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(m.innerHTML=\"\",v.innerHTML=\"\"):y()}else m.innerHTML=\"\",v.innerHTML=\"\";null!==p&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==p?p:\"\");if(n&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?f[0].parentNode.style.display=\"none\":f[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(f[0].parentNode.style.display=\"none\")}},{key:\"toggleActiveInactiveSeries\",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var a=i.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group-\".concat(e));a&&(a.classList.add(\"apexcharts-active\"),a.style.display=i.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",n=\"\",o=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=new $i(this.ctx).isFormatXY()?void 0!==a.config.series[e].data[i]?a.config.series[e].data[i].x:\"\":void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new Xi(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(o=c(a.globals.seriesZ[e][i],a)),n=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(n)?n.join(\" \"):n,zVal:o}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),wa=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/n*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&Mi.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&Mi.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new Mi(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,n=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(n-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=n+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,h=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-10),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0){var g=u.getAttribute(\"shape\"),p=l.getMarkerPath(s,r,g,1.5*c);u.setAttribute(\"d\",p)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Zi(this.ctx),l=new Mi(this.ctx);e=o.getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var h=i.tooltipUtil.getHoverMarkerSize(e);n[e]&&(s=n[e][t][0],r=n[e][t][1]);var c=i.tooltipUtil.getAllMarkers();if(null!==c)for(var d=0;d0){var b=l.getMarkerPath(s,g,f,h);c[d].setAttribute(\"d\",b)}else c[d].setAttribute(\"d\",\"\")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Zi(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var n=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));n||\"number\"!=typeof e||(n=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var o=n?parseFloat(n.getAttribute(\"cx\")):0,l=n?parseFloat(n.getAttribute(\"cy\")):0,h=n?parseFloat(n.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=n&&(n.classList.contains(\"apexcharts-candlestick-area\")||n.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(n&&!d&&(o-=s%2!=0?h/2:0),n&&d&&(o-=h/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,l||i.globals.gridHeight)}}]),t}(),ka=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new wa(e)}return s(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Vi(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=f(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),n=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),n=e.config.markers.hover.size,o=0;o0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute(\"d\",a)}else t[e].setAttribute(\"d\",\"M0,0\")}}}]),t}(),Aa=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&\"rangeBar\"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,n=this.ttCtx,o=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),u=this.getAttr(e,\"width\"),g=this.getAttr(e,\"height\");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),o.globals.capturedSeriesIndex=l,o.globals.capturedDataPointIndex=h,a=c+n.tooltipRect.ttWidth/2+u,s=d+n.tooltipRect.ttHeight/2-g/2,n.tooltipPosition.moveXCrosshairs(c+u/2),a>o.globals.gridWidth/2&&(a=c-n.tooltipRect.ttWidth/2+u),n.w.config.tooltip.followCursor){var p=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-p.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-p.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,n=t.y,o=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var u=v.findAncestor(s.paths,\"apexcharts-series\");u&&(e=parseInt(u.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&o.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),o.globals.capturedSeriesIndex=e,o.globals.capturedDataPointIndex=i,r=h,n=c+o.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var g=l.getElGrid().getBoundingClientRect();n=l.e.clientY+o.globals.translateY-g.top}d<0&&(n=c),l.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});if(null!==d.j||0!==d.barHeight||0!==d.barWidth){e=d.i;var u=d.j;if(r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10),h+n.tooltipRect.ttWidth>r.globals.gridWidth?h-=n.tooltipRect.ttWidth:h<0&&(h=0),n.w.config.tooltip.followCursor){var g=n.getElGrid().getBoundingClientRect();c=n.e.clientY-g.top}null===n.tooltip&&(n.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=h+r.globals.translateX+\"px\",o.style.top=c+\"px\")}}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,n=this.ttCtx,o=0,l=0,h=0,c=0,d=0,u=i.target.classList;if(u.contains(\"apexcharts-bar-area\")||u.contains(\"apexcharts-candlestick-area\")||u.contains(\"apexcharts-boxPlot-area\")||u.contains(\"apexcharts-rangebar-area\")){var g=i.target,p=g.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,m=parseInt(g.getAttribute(\"cx\"),10),v=parseInt(g.getAttribute(\"cy\"),10);c=parseFloat(g.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(g.getAttribute(\"j\"),10),o=parseInt(g.parentNode.getAttribute(\"rel\"),10)-1;var w=g.getAttribute(\"data-range-y1\"),k=g.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?m-b/2:e.isVerticalGroupedRangeBar?m+b/2:m-n.dataPointsDividedWidth+b/2},C=function(){return v-n.dataPointsDividedHeight+x/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=C()):(l=A(),h=i.clientY-f.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=m)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&n.length>0){var o=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=n[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],u=r.maxYArr[h]-r.minYArr[h],g=r.minYArr[h]+(u-d);s.config.yaxis[t].reversed&&(g=r.maxYArr[h]-(u-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=o(g),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),Sa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new va(this),this.tooltipLabels=new ya(this),this.tooltipPosition=new wa(this),this.marker=new ka(this),this.intersect=new Aa(this),this.axesTooltip=new Ca(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Qi(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var n=document.createElement(\"div\");n.classList.add(\"apexcharts-tooltip-series-group\",\"apexcharts-tooltip-series-group-\".concat(r)),n.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var o=document.createElement(\"span\");o.classList.add(\"apexcharts-tooltip-marker\"),o.style.backgroundColor=i.globals.colors[r],n.appendChild(o);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),n.appendChild(l),s.appendChild(n),a.push(n)},n=0;n0&&this.addPathsEventListeners(g,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),o.indexOf(\"bottom\")>-1&&(n=n+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=n+\"px\",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=20?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),20-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,n=this.getElTooltip(e);if(n){if(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new Zi(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,ln.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),u=[];r.config.chart.group&&(u=this.ctx.getSyncedCharts());var g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var p=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&p.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect||u.length>1)this.handleStickyTooltip(a,o,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;xl.width)this.handleMouseOut(a);else if(null!==o)this.handleStickyCapturedSeries(t,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,n,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new Mi(this.ctx),i=t.globals.dom.Paper.find(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,A=this.w,C=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===k&&(k=this.tConfig.shared);var S=this.tooltipUtil.hasMarkers(i),L=this.tooltipUtil.getElBars();if(A.config.legend.tooltipHoverFormatter){var M=A.config.legend.tooltipHoverFormatter,P=Array.from(this.legendLabels);P.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var I=0;I0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(L),this.barSeriesHeight>0)){var Y=new Mi(this.ctx),H=A.globals.dom.Paper.find(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var O=0;O0&&e.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=h*k)),w){u=u+d.height/2-b/2-2}var C=e.globals.series[i][a]<0,S=o;switch(this.barCtx.isReversed&&(S=o+(C?c:-c)),f.position){case\"center\":g=w?C?S-c/2+v:S+c/2-v:C?S-c/2+d.height/2+v:S+c/2+d.height/2-v;break;case\"bottom\":g=w?C?S-c+v:S+c-v:C?S-c+d.height+b+v:S+c-d.height/2+b-v;break;case\"top\":g=w?C?S+v:S-v:C?S-d.height/2-v:S+d.height+v}if(this.barCtx.lastActiveBarSerieIndex===s&&x.enabled){var L=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:a}),p.fontSize);r=C?S-L.height/2-v-x.offsetY+18:S+L.height+v+x.offsetY-18;var M=A;n=y+(e.globals.isXNumeric?-h*e.globals.barGroups.length/2:e.globals.barGroups.length*h/2-(e.globals.barGroups.length-1)*h-M)+x.offsetX}return e.config.chart.stacked||(g<0?g=0+b:g+d.height/3>e.globals.gridHeight&&(g=e.globals.gridHeight-b)),{bcx:l,bcy:o,dataLabelsX:u,dataLabelsY:g,totalDataLabelsX:n,totalDataLabelsY:r,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,n=t.bcy,o=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,u=t.dataLabelsConfig,g=t.barDataLabelsConfig,p=t.barTotalDataLabelsConfig,f=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var m,v,y=n-(this.barCtx.isRangeBar?0:b)+o/2+h.height/2+x-3,w=\"start\",k=e.globals.series[a][s]<0,A=i;switch(this.barCtx.isReversed&&(A=i+(k?-l:l),w=k?\"start\":\"end\"),g.position){case\"center\":c=k?A+l/2-f:Math.max(h.width/2,A-l/2)+f;break;case\"bottom\":c=k?A+l-d-f:A-l+d+f;break;case\"top\":c=k?A-d-f:A-d+f}if(this.barCtx.lastActiveBarSerieIndex===r&&p.enabled){var C=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);k?(m=A-d-f-p.offsetX,w=\"end\"):m=A+f+p.offsetX+(this.barCtx.isReversed?-(l+d):d),v=y-h.height/2+C.height/2+p.offsetY+d}return e.config.chart.stacked||(\"start\"===u.textAnchor?c-h.width<0?c=k?h.width+d:d:c+h.width>e.globals.gridWidth&&(c=k?e.globals.gridWidth-d:e.globals.gridWidth-h.width-d):\"middle\"===u.textAnchor?c-h.width/2<0?c=h.width/2+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width/2-d):\"end\"===u.textAnchor&&(c<1?c=h.width+d:c+1>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d))),{bcx:i,bcy:n,dataLabelsX:c,dataLabelsY:y,totalDataLabelsX:m,totalDataLabelsY:v,totalDataLabelsAnchor:w}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,n=t.textRects,o=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,d=\"rotate(0)\";\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(d=\"rotate(-90, \".concat(e,\", \").concat(i,\")\"));var g=new qi(this.barCtx.ctx),p=new Mi(this.barCtx.ctx),f=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=p.group({class:\"apexcharts-data-labels\",transform:d});var m=\"\";void 0!==a&&(m=f(a,u(u({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(m=\"\");var v=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===c.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===y&&(h.textAnchor=v?\"end\":\"start\"),\"center\"===y&&(h.textAnchor=\"middle\"),\"bottom\"===y&&(h.textAnchor=v?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)lMath.abs(l)&&(m=\"\"):n.height/1.6>Math.abs(o)&&(m=\"\"));var w=u({},h);this.barCtx.isHorizontal&&a<0&&(\"start\"===h.textAnchor?w.textAnchor=\"end\":\"end\"===h.textAnchor&&(w.textAnchor=\"start\")),g.plotDataLabelsText({x:e,y:i,text:m,i:s,j:r,parent:x,dataLabelsConfig:w,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,n=t.barTotalDataLabelsConfig;this.w;var o,l=new Mi(this.barCtx.ctx);return n.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(o=l.drawText({x:e,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),t}(),Ma=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),n=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:\"initializeStackedPrevVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:\"initializeStackedXYVars\",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,n,o,l=this.w,h=this.barCtx.ctx.fill,c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(n=r.fill)&&void 0!==n&&n.type?null===(o=l.config.series[e].data[i])||void 0===o?void 0:o.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[a]:l.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return this.barCtx.series[t][e]?this.barCtx.isNullValue=!1:this.barCtx.isNullValue=!0,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"createBorderRadiusArr\",value:function(t){var e,i=this.w,a=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,s=t.length,n=0|(null===(e=t[0])||void 0===e?void 0:e.length),o=Array.from({length:s},(function(){return Array(n).fill(a?\"top\":\"none\")}));if(a)return o;for(var l=0;l0?(h.push(u),d++):g<0&&(c.push(u),d++)}if(h.length>0&&0===c.length)if(1===h.length)o[h[0]][l]=\"both\";else{var p,f=h[0],x=h[h.length-1],b=r(h);try{for(b.s();!(p=b.n()).done;){var m=p.value;o[m][l]=m===f?\"bottom\":m===x?\"top\":\"none\"}}catch(t){b.e(t)}finally{b.f()}}else if(c.length>0&&0===h.length)if(1===c.length)o[c[0]][l]=\"both\";else{var v,y=Math.max.apply(Math,c),w=Math.min.apply(Math,c),k=r(c);try{for(k.s();!(v=k.n()).done;){var A=v.value;o[A][l]=A===y?\"bottom\":A===w?\"top\":\"none\"}}catch(t){k.e(t)}finally{k.f()}}else if(h.length>0&&c.length>0){var C,S=h[h.length-1],L=r(h);try{for(L.s();!(C=L.n()).done;){var M=C.value;o[M][l]=M===S?\"top\":\"none\"}}catch(t){L.e(t)}finally{L.f()}var P,I=Math.max.apply(Math,c),T=r(c);try{for(T.s();!(P=T.n()).done;){var z=P.value;o[z][l]=z===I?\"bottom\":\"none\"}}catch(t){T.e(t)}finally{T.f()}}else if(1===d){o[h[0]||c[0]][l]=\"both\"}}return o}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,n=t.y2,o=t.elSeries,l=this.w,h=new Mi(this.barCtx.ctx),c=new Zi(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],u=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(u),u.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.columnWidthOffset&&(x=a-g.config.series[c].data[u].columnWidthOffset/2,f=i+g.config.series[c].data[u].columnWidthOffset);var b=n/2,m=x+b,v=x+f-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001-b*y,r+=.001+b*y;var w=p.move(m,s),k=p.move(m,s),A=p.line(v,s);if(g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1)),w=w+p.line(m,r)+p.line(v,r)+A+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),k=k+p.line(m,s)+A+A+A+A+A+p.line(m,s)+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).yArrj.push(r-b*y),C.yArrjF.push(Math.abs(s-r+n*y)),C.yArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.barHeightOffset&&(f=i-g.config.series[c].data[u].barHeightOffset/2,x=a+g.config.series[c].data[u].barHeightOffset);var b=n/2,m=f+b,v=f+x-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001+b*y,r+=.001-b*y;var w=p.move(s,m),k=p.move(s,m);g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1));var A=p.line(s,v);if(w=w+p.line(r,m)+p.line(r,v)+A+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),k=k+p.line(s,m)+A+A+A+A+A+p.line(s,m)+(\"around\"===g.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[c][u]?\" Z\":\" z\"),\"none\"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).xArrj.push(r+b*y),C.xArrjF.push(Math.abs(s-r-n*y)),C.xArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s,r){var n=this,l=this.w,h=[],c=function(a,s){var l;h.push((o(l={},t,\"x\"===t?n.getXForValue(a,e,!1):n.getYForValue(a,i,r,!1)),o(l,\"attrs\",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:\"x\"===t?0:l.globals.markers.size[a],strokeWidth:\"x\"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(l.globals.seriesRangeStart[a][s],g),c(l.globals.seriesRangeEnd[a][s],u(u({},g),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,n=t.barHeight,o=new Mi(this.barCtx.ctx),l=o.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=o.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:n/2,a=i+e+n/2;h=o.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=o.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=o.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,n=e.x1,o=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=o+i.barHeight,u=new Mi(this.barCtx.ctx),g=new v,p=u.move(n,d)+u.line(r,d)+u.line(l,c)+u.line(h,c)+u.line(n,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication||\"both\"===this.arrBorderRadius[realIndex][j]?\" Z\":\" z\");return u.drawPath({d:p,fill:g.shadeColor(.5,v.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadow apexcharts-decoration-element\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),Pa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new Zi(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]),this.columnGroupIndices=[];var n=r.getBarSeriesIndices(),o=new Pi(this.ctx);this.stackedSeriesTotals=o.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===n.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new Ma(this)}return s(t,[{key:\"draw\",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=new Pi(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var n=0,o=0;n0&&(this.visibleI=this.visibleI+1);var w=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var A=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var C=this.barHelpers.initialPositions();p=C.y,w=C.barHeight,h=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,l=C.xDivision,c=C.zeroH,this.isHorizontal||x.push(g+k/2);var S=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b});i.globals.delayedElements.push({el:S.node}),S.node.classList.add(\"apexcharts-element-hidden\");var L=a.group({class:\"apexcharts-bar-goals-markers\"}),M=a.group({class:\"apexcharts-bar-shadows\"});i.globals.delayedElements.push({el:M.node}),M.node.classList.add(\"apexcharts-element-hidden\");for(var P=0;P0){var R=this.barHelpers.drawBarShadow({color:\"string\"==typeof X&&-1===(null==X?void 0:X.indexOf(\"url\"))?X:v.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});if(M.add(R),i.config.chart.dropShadow.enabled)new Li(this.ctx).dropShadow(R,i.config.chart.dropShadow,b)}this.pathArr.push(T);var E=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:w,barWidth:k});E&&L.add(E),p=T.y,g=T.x,P>0&&x.push(g+k/2),f.push(p),this.renderSeries({realIndex:b,pathFill:X,j:P,i:n,columnGroupIndex:m,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:y,x:g,y:p,series:t,barHeight:Math.abs(T.barHeight?T.barHeight:w),barWidth:Math.abs(T.barWidth?T.barWidth:k),elDataLabelsWrap:S,elGoalsMarkers:L,elBarShadows:M,visibleSeries:this.visibleI,type:\"bar\"})}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=f,r.add(y)}return r}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,n=t.columnGroupIndex,o=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,u=t.y,g=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,m=t.barXPosition,v=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.elBarShadows,A=t.visibleSeries,C=t.type,S=t.classes,L=this.w,M=new Mi(this.ctx);if(!a){var P=\"function\"==typeof L.globals.stroke.colors[e]?function(t){var e,i=L.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=\"\"),\"function\"==typeof e)?e({value:L.globals.series[t][s],dataPointIndex:s,w:L}):e}(e):L.globals.stroke.colors[e];a=this.barOptions.distributed?L.globals.stroke.colors[s]:P}L.config.series[r].data[s]&&L.config.series[r].data[s].strokeColor&&(a=L.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var I=s/L.config.chart.animations.animateGradually.delay*(L.config.chart.animations.speed/L.globals.dataPoints)/2.4,T=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:L.config.stroke.lineCap,fill:i,animationDelay:I,initialSpeed:L.config.chart.animations.speed,dataChangeSpeed:L.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(C,\"-area \").concat(S),chartType:C});T.attr(\"clip-path\",\"url(#gridRectBarMask\".concat(L.globals.cuid,\")\"));var z=L.config.forecastDataPoints;z.count>0&&s>=L.globals.dataPoints-z.count&&(T.node.setAttribute(\"stroke-dasharray\",z.dashArray),T.node.setAttribute(\"stroke-width\",z.strokeWidth),T.node.setAttribute(\"fill-opacity\",z.fillOpacity)),void 0!==g&&void 0!==p&&(T.attr(\"data-range-y1\",g),T.attr(\"data-range-y2\",p)),new Li(this.ctx).setSelectionFilter(T,e,s),c.add(T);var X=new La(this).handleBarDataLabels({x:d,y:u,y1:g,y2:p,i:r,j:s,series:f,realIndex:e,columnGroupIndex:n,barHeight:x,barWidth:b,barXPosition:m,barYPosition:v,renderedPath:T,visibleSeries:A});return null!==X.dataLabels&&y.add(X.dataLabels),X.totalDataLabels&&y.add(X.totalDataLabels),c.add(y),w&&c.add(w),k&&c.add(k),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,u=i.j;if(c.globals.isXNumeric)e=(o=(c.globals.seriesX[d][u]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var g=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[u]&&g++,e0&&(a=this.seriesLen*a/g),e=o+a*this.visibleI,e-=a*p}else e=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][u],r)-r)/2),n=this.barHelpers.getXForValue(this.series[d][u],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:d,j:u,w:c});return c.globals.isXNumeric||(o+=l),this.barHelpers.barBackground({j:u,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,u),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,n=t.barWidth,o=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,u=i.translationsIndex,g=i.i,p=i.j,f=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:p,realIndex:d,barWidth:n});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:g,j:p}),m=b.nonZeroColumns,v=b.zeroEncounters;m>0&&(n=this.seriesLen*n/m),e=a+n*this.visibleI,e-=n*v}else e=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][p],o,u);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:n,y1:o,y2:s,strokeWidth:l,isReversed:this.isReversed,series:this.series,realIndex:d,i:g,j:p,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:f,j:p,i:g,x1:e-l/2-n*this.visibleI,x2:n*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,o,g,p,u),barXPosition:e,barWidth:n}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),v.isNumber(r.globals.seriesX[n][s])&&(e=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),Ia=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this,a=this.w;this.graphics=new Mi(this.ctx),this.bar=new Pa(this.ctx,this.xyRatios);var s=new Pi(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),n=0,o=0,l=function(s,l){var h=void 0,c=void 0,d=void 0,g=void 0,p=a.globals.comboCharts?e[s]:s,f=i.barHelpers.getGroupIndex(p),x=f.groupIndex,b=f.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var m=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[p][0],w=p),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:\"apexcharts-series\",seriesName:v.escapeString(a.globals.seriesNames[p]),rel:s+1,\"data:realIndex\":p});i.ctx.series.addCollapsedClassToSeries(k,p);var A=i.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":p}),C=i.graphics.group({class:\"apexcharts-bar-goals-markers\"}),S=0,L=0,M=i.initialPositions(n,o,h,c,d,g,w);o=M.y,S=M.barHeight,c=M.yDivision,g=M.zeroW,n=M.x,L=M.barWidth,h=M.xDivision,d=M.zeroH,a.globals.barHeight=S,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return d})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var P=0;P0||\"top\"===i.barHelpers.arrBorderRadius[p][P]&&a.globals.series[p][P]<0)&&(E=Y),k=i.renderSeries({realIndex:p,pathFill:R,j:P,i:s,columnGroupIndex:b,pathFrom:z.pathFrom,pathTo:z.pathTo,strokeWidth:I,elSeries:k,x:n,y:o,series:t,barHeight:S,barWidth:L,elDataLabelsWrap:A,elGoalsMarkers:C,type:\"bar\",visibleSeries:b,classes:E})}a.globals.seriesXvalues[p]=m,a.globals.seriesYvalues[p]=y,i.groupCtx.prevY.push(i.groupCtx.yArrj),i.groupCtx.prevYF.push(i.groupCtx.yArrjF),i.groupCtx.prevYVal.push(i.groupCtx.yArrjVal),i.groupCtx.prevX.push(i.groupCtx.xArrj),i.groupCtx.prevXF.push(i.groupCtx.xArrjF),i.groupCtx.prevXVal.push(i.groupCtx.xArrjVal),r.add(k)},h=0,c=0;h1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf(\"%\")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[n]:h.globals.gridHeight-this.baseLineY[n],t=h.globals.padHorizontal+(i-l)/2}var u=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o/u,barWidth:l/u,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,u=this.w,g=o+l*a,p=i.i,f=i.j,x=i.realIndex,b=i.translationsIndex,m=0,v=0;v0){var w=r;this.groupCtx.prevXVal[y-1][f]<0?w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]+m-2*(this.isReversed?m:0):this.groupCtx.prevX[y-1][f]:this.groupCtx.prevXVal[y-1][f]>=0&&(w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]:this.groupCtx.prevX[y-1][f]-m+2*(this.isReversed?m:0)),e=w}else e=r;n=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:g,barHeight:a,x1:e,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:u});return this.barHelpers.barBackground({j:f,i:p,y1:g,y2:a,elSeries:d}),o+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,p,f,b),barXPosition:e,barYPosition:g,x:n,y:o}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,u=e.j,g=e.bc,p=e.realIndex,f=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[p][u];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,m=i+o*r,v=0,y=0;y0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[p-1][u]===c.globals.seriesX[p][u]){var k,A,C,S=Math.min(this.yRatio.length+1,p+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L=0?C-v+2*(this.isReversed?v:0):C;break}if((null===(T=this.groupCtx.prevYVal[w-P])||void 0===T?void 0:T[u])>=0){A=this.series[d][u]>=0?C:C+v-2*(this.isReversed?v:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?n:A}else b=n;a=this.series[d][u]?b-this.series[d][u]/this.yRatio[f]+2*(this.isReversed?this.series[d][u]/this.yRatio[f]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:m,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[f],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:u,w:c});return this.barHelpers.barBackground({bc:g,j:u,i:d,x1:m,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,n,d,u),barXPosition:m,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(Pa),Ta=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e,i){var a=this,s=this.w,r=new Mi(this.ctx),n=s.globals.comboCharts?e:s.config.chart.type,o=new ji(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var l=new Pi(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),c=function(e){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[e].type;var n,l,c,d,g=void 0,p=void 0,f=[],x=[],b=s.globals.comboCharts?i[e]:e,m=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:\"apexcharts-series\",seriesName:v.escapeString(s.globals.seriesNames[b]),rel:e+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var C=a.barHelpers.initialPositions();p=C.y,w=C.barHeight,l=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,n=C.xDivision,c=C.zeroH,x.push(g+k/2);for(var S=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),L=r.group({class:\"apexcharts-bar-goals-markers\"}),M=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,v={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:g,y:p,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(u(u({},v),{},{yDivision:l,barHeight:w,zeroW:d})):a.drawVerticalBoxPaths(u(u({},v),{},{xDivision:n,barWidth:k,zeroH:c})),p=h.y,g=h.x;var C=a.barHelpers.drawGoalLine({barXPosition:h.barXPosition,barYPosition:h.barYPosition,goalX:h.goalX,goalY:h.goalY,barHeight:w,barWidth:k});C&&L.add(C),i>0&&x.push(g+k/2),f.push(p),h.pathTo.forEach((function(n,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=o.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:n,strokeWidth:r,elSeries:y,x:g,y:p,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:S,elGoalsMarkers:L,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;P0&&(M=this.getPreviousPath(g,c,!0)),L=this.isBoxPlot?[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,C)+l.line(S,C)+l.line(S,k+n/2),l.move(S,C)+l.line(S+s,C)+l.line(S+s,A)+l.line(S+s/2,A)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,A)+l.line(S,A)+l.line(S,C)+\"z\"]:[l.move(S,A)+l.line(S+s/2,A)+l.line(S+s/2,v)+l.line(S+s/2,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A-n/2)],M+=l.move(S,k),o.globals.isXNumeric||(i+=a),{pathTo:L,pathFrom:M,x:i,y:A,goalY:this.barHelpers.getGoalValues(\"y\",null,r,h,c,e.translationsIndex),barXPosition:S,color:w}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,n=t.strokeWidth,o=this.w,l=new Mi(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var u=this.invertedYRatio,g=e.realIndex,p=this.getOHLCValue(g,c),f=r,x=r,b=Math.min(p.o,p.c),m=Math.max(p.o,p.c),v=p.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][c]-o.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,m=r):(b=r+b/u,m=r+m/u,f=r+p.h/u,x=r+p.l/u,v=r+p.m/u);var w=l.move(r,y),k=l.move(b,y+s/2);return o.globals.previousPaths.length>0&&(k=this.getPreviousPath(g,c,!0)),w=[l.move(b,y)+l.line(b,y+s/2)+l.line(f,y+s/2)+l.line(f,y+s/2-s/4)+l.line(f,y+s/2+s/4)+l.line(f,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(v,y+s)+l.line(v,y)+l.line(b+n/2,y),l.move(v,y)+l.line(v,y+s)+l.line(m,y+s)+l.line(m,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(m,y+s/2)+l.line(m,y)+l.line(v,y)+\"z\"],k+=l.move(b,y),o.globals.isXNumeric||(i+=a),{pathTo:w,pathFrom:k,x:m,y:i,goalX:this.barHelpers.getGoalValues(\"x\",r,null,h,c),barYPosition:y,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w,a=new Pi(this.ctx,i),s=a.getLogValAtSeriesIndex(i.globals.seriesCandleH[t][e],t),r=a.getLogValAtSeriesIndex(i.globals.seriesCandleO[t][e],t),n=a.getLogValAtSeriesIndex(i.globals.seriesCandleM[t][e],t),o=a.getLogValAtSeriesIndex(i.globals.seriesCandleC[t][e],t),l=a.getLogValAtSeriesIndex(i.globals.seriesCandleL[t][e],t);return{o:this.isBoxPlot?s:r,h:this.isBoxPlot?r:s,m:n,l:this.isBoxPlot?o:l,c:this.isBoxPlot?l:o}}}]),a}(Pa),za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,n=s.config.plotOptions[t].shadeIntensity,o=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,\"treemap\"===t&&(r=(1-o.percent/100)*(1.25*n)));var l=o.color,h=new v;if(s.config.plotOptions[t].enableShades)if(\"dark\"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,o.color);l=v.hexToRgba(v.isColorHex(c)?c:v.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,o.color);l=v.hexToRgba(v.isColorHex(d)?d:v.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:o}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],n=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],l=null,h=Math.min.apply(Math,f(a.globals.series[e])),c=Math.max.apply(Math,f(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),u=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){o=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);u=100*s/(0===i?i-1e-6:i)}}));return{color:o,foreColor:l,percent:u}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,n=t.colorProps,o=t.fontSize,l=this.w.config.dataLabels,h=new Mi(this.ctx),c=new qi(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var u=l.offsetX,g=l.offsetY,p=i+u,f=a+parseFloat(l.style.fontSize)/3+g;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:n.foreColor,parent:d,fontSize:o,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new Mi(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),Xa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new za(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:\"draw\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(o=!0,l.reverse());for(var h=o?0:l.length-1;o?h=0;o?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:v.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new Li(this.ctx).dropShadow(c,d,h)}for(var u=0,g=e.config.plotOptions.heatmap.shadeIntensity,p=0,f=0;f=l[h].length)break;var x=this.helpers.getShadeColor(e.config.chart.type,h,p,this.negRange),b=x.color,m=x.colorProps;if(\"image\"===e.config.fill.type)b=new ji(this.ctx).fillPath({seriesNumber:h,dataPointIndex:p,opacity:e.globals.hasNegs?m.percent<0?1-(1+m.percent/100):g+m.percent/100:m.percent/100,patternID:v.randomId(),width:e.config.fill.image.width?e.config.fill.image.width:s,height:e.config.fill.image.height?e.config.fill.image.height:r});var y=this.rectRadius,w=i.drawRect(u,n,s,r,y);if(w.attr({cx:u,cy:n}),w.node.classList.add(\"apexcharts-heatmap-rect\"),c.add(w),w.attr({fill:b,i:h,index:h,j:p,val:t[h][p],\"stroke-width\":this.strokeWidth,stroke:e.config.plotOptions.heatmap.useFillColorAsStroke?b:e.globals.stroke.colors[0],color:b}),this.helpers.addListeners(w),e.config.chart.animations.enabled&&!e.globals.dataChanged){var k=1;e.globals.resized||(k=e.config.chart.animations.speed),this.animateHeatMap(w,u,n,s,r,k)}if(e.globals.dataChanged){var A=1;if(this.dynamicAnim.enabled&&e.globals.shouldAnimate){A=this.dynamicAnim.speed;var C=e.globals.previousPaths[h]&&e.globals.previousPaths[h][p]&&e.globals.previousPaths[h][p].color;C||(C=\"rgba(255, 255, 255, 0)\"),this.animateHeatColor(w,v.isColorHex(C)?C:v.rgb2hex(C),v.isColorHex(b)?b:v.rgb2hex(b),A)}}var S=(0,e.config.dataLabels.formatter)(e.globals.series[h][p],{value:e.globals.series[h][p],seriesIndex:h,dataPointIndex:p,w:e}),L=this.helpers.calculateDataLabels({text:S,x:u+s/2,y:n+r/2,i:h,j:p,colorProps:m,series:l});null!==L&&c.add(L),u+=s,p++}n+=r,a.add(c)}var M=e.globals.yAxisScale[0].result.slice();return e.config.yaxis[0].reversed?M.unshift(\"\"):M.push(\"\"),e.globals.yAxisScale[0].result=M,a}},{key:\"animateHeatMap\",value:function(t,e,i,a,s,r){var n=new y(this.ctx);n.animateRect(t,{x:e+a/2,y:i+s/2,width:0,height:0},{x:e,y:i,width:a,height:s},r,(function(){n.animationCompleted(t)}))}},{key:\"animateHeatColor\",value:function(t,e,i,a){t.attr({fill:e}).animate(a).attr({fill:i})}}]),t}(),Ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"drawYAxisTexts\",value:function(t,e,i,a){var s=this.w,r=s.config.yaxis[0],n=s.globals.yLabelFormatters[0];return new Mi(this.ctx).drawText({x:t+r.labels.offsetX,y:e+r.labels.offsetY,text:n(a,i),textAnchor:\"middle\",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[i]:r.labels.style.colors})}}]),t}(),Ea=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==a.globals.stroke.colors?a.globals.stroke.colors:a.globals.colors,this.defaultSize=Math.min(a.globals.gridWidth,a.globals.gridHeight),this.centerY=this.defaultSize/2,this.centerX=a.globals.gridWidth/2,\"radialBar\"===a.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(a.config.plotOptions.pie.endAngle-a.config.plotOptions.pie.startAngle),this.initialAngle=a.config.plotOptions.pie.startAngle%this.fullAngle,a.globals.radialSize=this.defaultSize/2.05-a.config.stroke.width-(a.config.chart.sparkline.enabled?0:a.config.chart.dropShadow.blur),this.donutSize=a.globals.radialSize*parseInt(a.config.plotOptions.pie.donut.size,10)/100;var s=a.config.plotOptions.pie.customScale,r=a.globals.gridWidth/2,n=a.globals.gridHeight/2;this.translateX=r-r*s,this.translateY=n-n*s,this.dataLabelsGroup=new Mi(this.ctx).group({class:\"apexcharts-datalabels-group\",transform:\"translate(\".concat(this.translateX,\", \").concat(this.translateY,\") scale(\").concat(s,\")\")}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSectorAngleArr=[]}return s(t,[{key:\"draw\",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=a.group({class:\"apexcharts-pie\"});if(i.globals.noData)return s;for(var r=0,n=0;n-1&&this.pieClicked(d),i.config.dataLabels.enabled){var w=m.x,k=m.y,A=100*g/this.fullAngle+\"%\";if(0!==g&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),u=i.centerY+r*Math.sin(l),g=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),b=s>180?1:0,m=[\"M\",d,u,\"A\",r,r,0,b,1,g,p];return e=\"donut\"===i.chartType?[].concat(m,[\"L\",f.x,f.y,\"A\",i.donutSize,i.donutSize,0,b,0,x.x,x.y,\"L\",d,u,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(m,[\"L\",i.centerX,i.centerY,\"L\",d,u]).join(\" \"):[].concat(m).join(\" \"),n.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new ta(this.ctx),a=new Mi(this.ctx),s=new Ra(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),l=o.result.reverse(),h=o.result.length;this.maxY=o.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),u=0;u1&&t.total.show&&(s=t.total.color);var n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=this.donutDataLabels.total.label?t.name.formatter(e,l,r):\"\",null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],n=360/i.globals.series.length,o=0;o0&&(f=e.getPreviousPath(n));for(var x=0;x=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(u=360-Math.abs(this.startAngle)-.1);var g=i.drawPath({d:\"\",stroke:c,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(g,p)}l.add(g),g.attr(\"id\",\"apexcharts-radialbarTrack-\"+o),this.animatePaths(g,{centerX:t.centerX,centerY:t.centerY,endAngle:u,startAngle:d,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new Mi(this.ctx),a=new ji(this.ctx),s=new Li(this.ctx),r=i.group(),n=this.getStrokeWidth(t);t.size=t.size-n/2;var o=e.config.plotOptions.radialBar.hollow.background,l=t.size-n*t.series.length-this.margin*t.series.length-n*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(t,r,l,o));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:o||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var u=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(u=0);var g=null;if(this.radialDataLabels.show){var p=e.globals.dom.Paper.findOne(\".apexcharts-datalabels-group\");g=this.renderInnerDataLabels(p,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:u})}\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),g&&r.add(g));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var x=f?t.series.length-1:0;f?x>=0:x100?100:t.series[x])/100,A=Math.round(this.totalAngle*k)+this.startAngle,C=void 0;e.globals.dataChanged&&(w=this.startAngle,C=Math.round(this.totalAngle*v.negToZero(e.globals.previousPaths[x])/100)+w),Math.abs(A)+Math.abs(y)>360&&(A-=.01),Math.abs(C)+Math.abs(w)>360&&(C-=.01);var S=A-y,L=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,M=i.drawPath({d:\"\",stroke:m,strokeWidth:n,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+x,strokeDashArray:L});if(Mi.setAttrs(M.node,{\"data:angle\":S,\"data:value\":t.series[x]}),e.config.chart.dropShadow.enabled){var P=e.config.chart.dropShadow;s.dropShadow(M,P,x)}if(s.setSelectionFilter(M,0,x),this.addListeners(M,this.radialDataLabels),b.add(M),M.attr({index:0,j:x}),this.barLabels.enabled){var I=v.polarToCartesian(t.centerX,t.centerY,t.size,y),T=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),z=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||z.push(\"apexcharts-no-click\");var X=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;X||(X=e.config.chart.foreColor);var R=I.x+this.barLabels.offsetX,E=I.y+this.barLabels.offsetY,Y=i.drawText({x:R,y:E,text:T,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:X,cssClass:z.join(\" \")});Y.on(\"click\",this.onBarLabelClick),Y.attr({rel:x+1}),0!==y&&Y.attr({\"transform-origin\":\"\".concat(R,\" \").concat(E),transform:\"rotate(\".concat(y,\" 0 0)\")}),b.add(Y)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(M,{centerX:t.centerX,centerY:t.centerY,endAngle:A,startAngle:y,prevEndAngle:C,prevStartAngle:w,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0})}return{g:r,elHollow:c,dataLabels:g}}},{key:\"drawHollow\",value:function(t){var e=new Mi(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new ji(this.ctx),n=v.randomId(),o=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:o,patternID:\"pattern\".concat(s.globals.cuid).concat(n)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(n,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),r}(Ea),Oa=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:\"draw\",value:function(t,e){var i=this.w,a=new Mi(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),r=0;r0&&(this.visibleI=this.visibleI+1);var x=0,b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[g][0],m=g);var y=this.barHelpers.initialPositions();d=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,n=y.xDivision,o=y.yDivision,l=y.zeroH;for(var w=a.group({class:\"apexcharts-datalabels\",\"data:realIndex\":g}),k=a.group({class:\"apexcharts-rangebar-goals-markers\"}),A=0;A0}));return this.isHorizontal?(a=u.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+o*this.visibleI+h*b,m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(a=(o=d.barHeight/g.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+o*(this.visibleI+g.indexOf(p))+h*b)):(b>-1&&!u.globals.timescaleLabels.length&&(s=u.config.plotOptions.bar.rangeBarGroupRows?n+c*b:n+l*this.visibleI+c*b),m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/g.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+g.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:o,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,n=t.zeroH,o=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,u=this.yRatio[d],g=this.getRangeValue(c,h),p=Math.min(g.start,g.end),f=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?p=n:(p=n-p/u,f=n-f/u);var x=Math.abs(f-p),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:p,y2:f,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:o});if(o.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=m.x,r=m.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:g.start<0&&g.end<0?p:f,goalY:this.barHelpers.getGoalValues(\"y\",null,n,l,h,d),barXPosition:r}}},{key:\"preventBarOverflow\",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,u=this.preventBarOverflow(l+a/this.invertedYRatio),g=this.preventBarOverflow(l+s/this.invertedYRatio),p=this.getRangeValue(c,d),f=Math.abs(g-u),x=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:u,x2:g,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:f,x:p.start<0&&p.end<0?u:g,goalX:this.barHelpers.getGoalValues(\"x\",l,null,c,d),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(Pa),Fa=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new Pi(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,n=t.j,o=t.prevY,l=this.w,h=[],c=[];if(0===n){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(v.isNumber(e[r][0])?o+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(a,10)&&(\"line\"===n.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===n.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a,s=t.i,r=t.realIndex,n=t.series,o=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=n[s])||void 0===a?void 0:a[0]))o=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===n[s][0])for(var u=s-1;u>=0;u--)if(null!==n[u][0]&&void 0!==n[u][0]){o=l=this.lineCtx.prevSeriesY[u][0];break}return{prevY:o,lineYPosition:l}}}]),t}(),Da=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Wa(i,a),r=1,n=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=n;h++)s=(t[Math.min(n,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),o.push([s||0,r[h]*s||0]);return o},_a=function(t){var e=Da(t),i=t[1],a=t[0],s=[],r=e[1],n=e[0];s.push(a,[a[0]+n[0],a[1]+n[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var o=2,l=e.length;o1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Wa(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ba=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new Ui(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Fa(this),this.markers=new Vi(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:\"draw\",value:function(t,e,i,a){var s,r=this.w,n=new Mi(this.ctx),o=r.globals.comboCharts?e:r.config.chart.type,l=n.group({class:\"apexcharts-\".concat(o,\"-series apexcharts-plot-series\")}),h=new Pi(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],d=0;d1?g:0;this._initSerieVariables(t,d,g);var f=[],x=[],b=[],m=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(m=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),b.push(m);var v,y=m,w=void 0,k=y,A=this.zeroY,C=this.zeroY;A=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:t,prevY:A,lineYPosition:0,translationsIndex:p}).prevY,\"monotoneCubic\"===r.config.stroke.curve&&null===t[d][0]?f.push(null):f.push(A),v=A;\"rangeArea\"===o&&(w=C=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:a,prevY:C,lineYPosition:0,translationsIndex:p}).prevY,x.push(null!==f[0]?C:null));var S=this._calculatePathsFrom({type:o,series:t,i:d,realIndex:g,translationsIndex:p,prevX:k,prevY:A,prevY2:C}),L=[f[0]],M=[x[0]],P={type:o,series:t,realIndex:g,translationsIndex:p,i:d,x:m,y:1,pX:y,pY:v,pathsFrom:S,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:f,y2Arrj:x,seriesRangeEnd:a},I=this._iterateOverDataPoints(u(u({},P),{},{iterations:\"rangeArea\"===o?t[d].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===o){for(var T=this._calculatePathsFrom({series:a,i:d,realIndex:g,prevX:k,prevY:C}),z=this._iterateOverDataPoints(u(u({},P),{},{series:a,xArrj:[m],yArrj:L,y2Arrj:M,pY:w,areaPaths:I.areaPaths,pathsFrom:T,iterations:a[d].length-1,isRangeStart:!1})),X=I.linePaths.length/2,R=0;R=0;E--)l.add(c[E]);else for(var Y=0;Y1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:v.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var n=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":n,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,n=t.series,o=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,u=t.prevY2,g=this.w,p=new Mi(this.ctx);if(null===n[o][0]){for(var f=0;f0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,n=new Mi(this.ctx),o=new ji(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&\"rangeArea\"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=n.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var d=n.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(e)};if(\"area\"===e)for(var p=o.fillPath({seriesNumber:i}),f=0;f0&&\"rangeArea\"!==e){var A=n.renderPaths(w);A.node.setAttribute(\"stroke-dasharray\",l.dashArray),l.strokeWidth&&A.node.setAttribute(\"stroke-width\",l.strokeWidth),this.elSeries.add(A),A.attr(\"clip-path\",\"url(#forecastMask\".concat(r.globals.cuid,\")\")),k.attr(\"clip-path\",\"url(#nonForecastMask\".concat(r.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i,a=this,s=t.type,r=t.series,n=t.iterations,o=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,u=t.pX,g=t.pY,p=t.pathsFrom,f=t.linePaths,x=t.areaPaths,b=t.seriesIndex,m=t.lineYPosition,y=t.xArrj,w=t.yArrj,k=t.y2Arrj,A=t.isRangeStart,C=t.seriesRangeEnd,S=this.w,L=new Mi(this.ctx),M=this.yRatio,P=p.prevY,I=p.linePath,T=p.areaPath,z=p.pathFromLine,X=p.pathFromArea,R=v.isNumber(S.globals.minYArr[o])?S.globals.minYArr[o]:S.globals.minY;n||(n=S.globals.dataPoints>1?S.globals.dataPoints-1:S.globals.dataPoints);var E=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},Y=d,H=S.config.chart.stacked&&!S.globals.comboCharts||S.config.chart.stacked&&S.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)||\"column\"===(null===(i=this.w.config.series[o])||void 0===i?void 0:i.type)),O=S.config.stroke.curve;Array.isArray(O)&&(O=Array.isArray(b)?O[b[h]]:O[h]);for(var F,D=0,_=0;_0&&S.globals.collapsedSeries.length0;e--){if(!(S.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][_+1]}else m=this.zeroY;else m=this.zeroY;N?d=E(R,m):(d=E(r[h][_+1],m),\"rangeArea\"===s&&(Y=E(C[h][_+1],m))),y.push(c),!N||\"smooth\"!==S.config.stroke.curve&&\"monotoneCubic\"!==S.config.stroke.curve?(w.push(d),k.push(Y)):(w.push(null),k.push(null));var B=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:o,i:h,j:_,prevY:P}),G=this._createPaths({type:s,series:r,i:h,realIndex:o,j:_,x:c,y:d,y2:Y,xArrj:y,yArrj:w,y2Arrj:k,pX:u,pY:g,pathState:D,segmentStartX:F,linePath:I,areaPath:T,linePaths:f,areaPaths:x,curve:O,isRangeStart:A});x=G.areaPaths,f=G.linePaths,u=G.pX,g=G.pY,D=G.pathState,F=G.segmentStartX,T=G.areaPath,I=G.linePath,!this.appendPathFrom||S.globals.hasNullValues||\"monotoneCubic\"===O&&\"rangeArea\"===s||(z+=L.line(c,this.areaBottomY),X+=L.line(c,this.areaBottomY)),this.handleNullDataPoints(r,B,h,_,o),this._handleMarkersAndLabels({type:s,pointsPos:B,i:h,j:_,realIndex:o,isRangeStart:A})}return{yArrj:w,xArrj:y,pathFromArea:X,areaPaths:x,pathFromLine:z,linePaths:f,linePath:I,areaPath:T}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,n=t.realIndex,o=this.w,l=new qi(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,n,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:n,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s,r=t.j,n=t.x,o=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,u=t.pX,g=t.pY,p=t.pathState,f=t.segmentStartX,x=t.linePath,b=t.areaPath,m=t.linePaths,v=t.areaPaths,y=t.curve,w=t.isRangeStart,k=new Mi(this.ctx),A=this.areaBottomY,C=\"rangeArea\"===e,S=\"rangeArea\"===e&&w;switch(y){case\"monotoneCubic\":var L=w?h:d;switch(p){case 0:if(null===L[r+1])break;p=1;case 1:if(!(C?l.length===i[a].length:r===i[a].length-2))break;case 2:var M=w?l:l.slice().reverse(),P=w?L:L.slice().reverse(),I=(s=P,M.map((function(t,e){return[t,s[e]]})).filter((function(t){return null!==t[1]}))),T=I.length>1?_a(I):I,z=[];C&&(S?v=I:z=v.reverse());var X=0,R=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e}(t),i=R,a=(R+=t.length)-1;S?x=k.move(I[i][0],I[i][1])+e:C?x=k.move(z[i][0],z[i][1])+k.line(I[i][0],I[i][1])+e+k.line(z[a][0],z[a][1]):(x=k.move(I[i][0],I[i][1])+e,b=x+k.line(I[a][0],A)+k.line(I[i][0],A)+\"z\",v.push(b)),m.push(x)})),C&&X>1&&!S){var E=m.slice(X).reverse();m.splice(X),E.forEach((function(t){return m.push(t)}))}p=0}break;case\"smooth\":var Y=.35*(n-u);if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r=i[a].length-2&&(S&&(x+=k.curve(n,o,n,o,n,c)+k.move(n,c)),b+=k.curve(n,o,n,o,n,A)+k.line(f,A)+\"z\",m.push(x),v.push(b),p=-1)}}u=n,g=o;break;default:var F=function(t,e,i){var a=[];switch(t){case\"stepline\":a=k.line(e,null,\"H\")+k.line(null,i,\"V\");break;case\"linestep\":a=k.line(null,i,\"V\")+k.line(e,null,\"H\");break;case\"straight\":a=k.line(e,i)}return a};if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r=i[a].length-2&&(S&&(x+=k.line(n,c)),b+=k.line(n,A)+k.line(f,A)+\"z\",m.push(x),v.push(b),p=-1)}}u=n,g=o}return{linePaths:m,areaPaths:v,pX:u,pY:g,pathState:p,segmentStartX:f,linePath:x,areaPath:b}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers(e,s,a+1,n,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,n=r(t)/this.height,o=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,n=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,n)}return i}}function e(e,a,s,n,o){n=void 0===n?0:n,o=void 0===o?0:o;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=n}(e,l=t[0],o)?(e.push(l),i(t.slice(1),e,s,n)):(h=s.cutArea(r(e),n),n.push(s.getCoordinates(e)),i(t,[],h,n)),n;n.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=n-s){var h=o.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var n=new Mi(this.ctx),o=n.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=n.getTextBasedOnMaxWidth({text:t,maxWidth:o,fontSize:e});return t.length!==l.length&&o/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new y(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),ja=86400,Va=10/ja,Ua=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:\"calculateTimeScaleTicks\",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new zi(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(t,e,this.utc),o=a.globals.gridWidth/r,l=o/24,h=l/60,c=h/60,d=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*ja),f=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),m={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},v={firstVal:m,currentMillisecond:m.minMillisecond,currentSecond:m.minSecond,currentMinute:m.minMinute,currentHour:m.minHour,currentMonthDate:m.minDate,currentDate:m.minDate,currentMonth:m.minMonth,currentYear:m.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:d,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(v);break;case\"months\":case\"half_year\":this.generateMonthScale(v);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(v);break;case\"hours\":this.generateHourScale(v);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(v);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(v)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?u(u({},e),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?u(u({},e),{},{value:t.value}):\"minute\"===t.unit?u(u({},e),{},{value:t.value,minute:t.value}):\"second\"===t.unit?u(u({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var n=!1,o=!1;switch(i.tickInterval){case\"years\":\"year\"===t.unit&&(n=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(n=!0);break;case\"months\":e=1,\"year\"===t.unit&&(n=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(n=!0),30===r&&(o=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(n=!0),30===r&&(o=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(n=!0);break;case\"days\":e=1,\"month\"===t.unit&&(n=!0);break;case\"hours\":\"day\"===t.unit&&(n=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(o=!0);break;case\"seconds_tens\":r%10!=0&&(o=!0)}if(\"hours\"===i.tickInterval||\"minutes_fives\"===i.tickInterval||\"seconds_tens\"===i.tickInterval||\"seconds_fives\"===i.tickInterval){if(!o)return!0}else if((r%e==0||n)&&!o)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new pa(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,n=e.minYear,o=0,l=new zi(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);o=(l.determineDaysOfYear(e.minYear)-c+1)*s,n=e.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:h,year:n,month:v.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:o,value:n,unit:h,year:a,month:v.monthMod(i+1)});for(var d=n,u=o,g=0;g1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,o=v.monthMod(a+1);var u=s+d,g=v.monthMod(o),p=o;0===o&&(c=\"year\",p=u,g=1,u+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:u,month:g})}else this.timeScaleArray.push({position:l,value:o,unit:c,year:s,month:v.monthMod(a)});for(var f=o+1,x=l,b=0,m=1;bn.determineDaysOfMonths(e+1,i)?(h=1,o=\"month\",u=e+=1,e):e},d=(24-e.minHour)*s,u=l,g=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,u=v.monthMod(e.minMonth),o=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,u=l,g=c(h=l,i,a),1!==u&&(o=\"day\")),this.timeScaleArray.push({position:d,value:u,unit:o,year:this._getYear(a,g,0),month:v.monthMod(g),day:h});for(var p=d,f=0;fo.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>o.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),u=d*r,g=e.minHour+1,p=g;60===d&&(u=0,p=g=e.minHour);var f=i;p>=24&&(p=0,l=\"day\",g=f+=1);var x=h(f,a).month;x=c(f,x),this.timeScaleArray.push({position:u,value:g,unit:l,day:f,hour:p,year:s,month:v.monthMod(x)}),p++;for(var b=u,m=0;m=24)p=0,l=\"day\",x=h(f+=1,x).month,x=c(f,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===p?f:p;this.timeScaleArray.push({position:b,value:w,unit:l,hour:p,day:f,year:y,month:v.monthMod(x)}),p++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,u=r,g=n,p=o,f=s,x=(60-i-e/1e3)*h,b=0;b=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:x,value:d,unit:\"minute\",hour:f,minute:d,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,u=r,g=n,p=o,f=s,x=(1e3-e)/1e3*l,b=0;b=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:x,value:c,unit:\"second\",hour:f,minute:d,second:c,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new zi(e.ctx),r=e.createRawDateString(t,a),n=s.getDate(s.parseDate(r));if(e.utc||(n=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var o=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(o=l.year),\"month\"===t.unit&&(o=l.month),\"day\"===t.unit&&(o=l.day),\"hour\"===t.unit&&(o=l.hour),\"minute\"===t.unit&&(o=l.minute),\"second\"===t.unit&&(o=l.second),a=s.formatDate(n,o)}else a=s.formatDate(n,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new Mi(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return n.position>h+l+10?(r=o,n):null}return n}));return n=n.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),qa=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:\"setupElements\",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.chart.type;e.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].includes(a),e.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].includes(a),e.isBarHorizontal=[\"bar\",\"rangeBar\",\"boxPlot\"].includes(a)&&i.plotOptions.bar.horizontal,e.chartClass=\".apexcharts\".concat(e.chartID),e.dom.baseEl=this.el,e.dom.elWrap=document.createElement(\"div\"),Mi.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:\"apexcharts-canvas \".concat(e.chartClass.substring(1))}),this.el.appendChild(e.dom.elWrap),e.dom.Paper=window.SVG().addTo(e.dom.elWrap),e.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(i.chart.offsetX,\", \").concat(i.chart.offsetY,\")\")}),e.dom.Paper.node.style.background=\"dark\"!==i.theme.mode||i.chart.background?\"light\"!==i.theme.mode||i.chart.background?i.chart.background:\"#fff\":\"#424242\",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,\"foreignObject\"),Mi.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement(\"div\"),e.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),e.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.dom.elLegendForeign.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=this.ctx,s=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},o=s.chart.type||\"line\",l=null,h=0;r.series.forEach((function(e,a){var s=t[a].type||o;n[s]?(\"rangeArea\"===s?(n[s].series.push(r.seriesRangeStart[a]),n[s].seriesRangeEnd.push(r.seriesRangeEnd[a])):n[s].series.push(e),n[s].i.push(a),\"column\"!==s&&\"bar\"!==s||(i.globals.columnSeries=n.column)):[\"heatmap\",\"treemap\",\"pie\",\"donut\",\"polarArea\",\"radialBar\",\"radar\"].includes(s)?l=s:\"bar\"===s?(n.column.series.push(e),n.column.i.push(a)):console.warn(\"You have specified an unrecognized series type (\".concat(s,\").\")),o!==s&&\"scatter\"!==s&&h++})),h>0&&(l&&console.warn(\"Chart or series type \".concat(l,\" cannot appear with other chart or series types.\")),n.column.series.length>0&&s.plotOptions.bar.horizontal&&(h-=n.column.series.length,n.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"))),r.comboCharts||(r.comboCharts=h>0);var c=new Ba(a,e),d=new Ta(a,e);a.pie=new Ea(a);var u=new Ha(a);a.rangeBar=new Oa(a,e);var g=new Ya(a),p=[];if(r.comboCharts){var x,b,m=new Pi(a);if(n.area.series.length>0)(x=p).push.apply(x,f(m.drawSeriesByGroup(n.area,r.areaGroups,\"area\",c)));if(n.column.series.length>0)if(s.chart.stacked){var v=new Ia(a,e);p.push(v.draw(n.column.series,n.column.i))}else a.bar=new Pa(a,e),p.push(a.bar.draw(n.column.series,n.column.i));if(n.rangeArea.series.length>0&&p.push(c.draw(n.rangeArea.series,\"rangeArea\",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0)(b=p).push.apply(b,f(m.drawSeriesByGroup(n.line,r.lineGroups,\"line\",c)));if(n.candlestick.series.length>0&&p.push(d.draw(n.candlestick.series,\"candlestick\",n.candlestick.i)),n.boxPlot.series.length>0&&p.push(d.draw(n.boxPlot.series,\"boxPlot\",n.boxPlot.i)),n.rangeBar.series.length>0&&p.push(a.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var y=new Ba(a,e,!0);p.push(y.draw(n.scatter.series,\"scatter\",n.scatter.i))}if(n.bubble.series.length>0){var w=new Ba(a,e,!0);p.push(w.draw(n.bubble.series,\"bubble\",n.bubble.i))}}else switch(s.chart.type){case\"line\":p=c.draw(r.series,\"line\");break;case\"area\":p=c.draw(r.series,\"area\");break;case\"bar\":if(s.chart.stacked)p=new Ia(a,e).draw(r.series);else a.bar=new Pa(a,e),p=a.bar.draw(r.series);break;case\"candlestick\":p=new Ta(a,e).draw(r.series,\"candlestick\");break;case\"boxPlot\":p=new Ta(a,e).draw(r.series,s.chart.type);break;case\"rangeBar\":p=a.rangeBar.draw(r.series);break;case\"rangeArea\":p=c.draw(r.seriesRangeStart,\"rangeArea\",void 0,r.seriesRangeEnd);break;case\"heatmap\":p=new Xa(a,e).draw(r.series);break;case\"treemap\":p=new Ga(a,e).draw(r.series);break;case\"pie\":case\"donut\":case\"polarArea\":p=a.pie.draw(r.series);break;case\"radialBar\":p=u.draw(r.series);break;case\"radar\":p=g.draw(r.series);break;default:p=c.draw(r.series)}return p}},{key:\"setSVGDimensions\",value:function(){var t=this.w,e=t.globals,i=t.config;i.chart.width=i.chart.width||\"100%\",i.chart.height=i.chart.height||\"auto\",e.svgWidth=i.chart.width,e.svgHeight=i.chart.height;var a=v.getDimensions(this.el),s=i.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===s?v.isNumber(a[0])&&(0===a[0].width&&(a=v.getDimensions(this.el.parentNode)),e.svgWidth=a[0]*parseInt(i.chart.width,10)/100):\"px\"!==s&&\"\"!==s||(e.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if(\"auto\"!==e.svgHeight&&\"\"!==e.svgHeight)if(\"%\"===r){var n=v.getDimensions(this.el.parentNode);e.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else e.svgHeight=parseInt(i.chart.height,10);else e.svgHeight=e.axisCharts?e.svgWidth/1.61:e.svgWidth/1.2;if(e.svgWidth=Math.max(e.svgWidth,0),e.svgHeight=Math.max(e.svgHeight,0),Mi.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),\"%\"!==r){var o=i.chart.sparkline.enabled?0:e.axisCharts?i.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(e.svgHeight+o,\"px\")}e.dom.elWrap.style.width=\"\".concat(e.svgWidth,\"px\"),e.dom.elWrap.style.height=\"\".concat(e.svgHeight,\"px\")}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i=t.translateX;Mi.setAttrs(t.dom.elGraphical.node,{transform:\"translate(\".concat(i,\", \").concat(e,\")\")})}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,[\"top\",\"bottom\"].includes(t.config.legend.position)&&t.config.legend.show&&!t.config.legend.floating&&(i=new xa(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var n=v.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*t.globals.radialSize,o)}var l=Math.ceil(r+e.translateY+i+a);e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).includes(\"%\")||(e.dom.elWrap.style.height=\"\".concat(l,\"px\"),Mi.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=\"\".concat(l,\"px\"))}},{key:\"coreCalculations\",value:function(){new ea(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(){return[]}))},i=new Bi,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:\"xySettings\",value:function(){var t=this.w,e=null;if(t.globals.axisCharts){if(\"back\"===t.config.xaxis.crosshairs.position&&new na(this.ctx).drawXCrosshairs(),\"back\"===t.config.yaxis[0].crosshairs.position&&new na(this.ctx).drawYCrosshairs(),\"datetime\"===t.config.xaxis.type&&void 0===t.config.xaxis.labels.formatter){this.ctx.timeScale=new Ua(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new Pi(this.ctx).getCalculatedRatios()}return e}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){return t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){return t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:\"_updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var o=[e.ctx];s&&(o=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(o=[e.ctx],e.ctx.w.globals.isExecCalled=!1),o.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&\"object\"===b(t)&&(s.config=new Wi(t),t=Pi.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=v.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?v.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?v.clone(t.yaxis):[],h.globals.initialConfig=v.extend({},h.config),h.globals.initialSeries=v.clone(h.config.series),t.series))){for(var c=0;c2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,n=i.w;return n.globals.shouldAnimate=e,n.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),n.config.series=r):n.config.series=t.slice(),a&&(n.globals.initialConfig.series=v.clone(n.config.series),n.globals.initialSeries=v.clone(n.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,e){var i=this.w,a=i.config.series[e];return u(u({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.findOne(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")):void 0===e&&(a=i.globals.dom.Paper.findOne(\"\".concat(s,\" path[j='\").concat(t,\"']\")),\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new Mi(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new Ni(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();!function(){function t(){for(var t=arguments.length>0&&arguments[0]!==h?arguments[0]:[],s=arguments.length>1?arguments[1]:h,r=arguments.length>2?arguments[2]:h,n=arguments.length>3?arguments[3]:h,o=arguments.length>4?arguments[4]:h,l=arguments.length>5?arguments[5]:h,h=arguments.length>6?arguments[6]:h,c=t.slice(s,r||h),d=n.slice(o,l||h),u=0,g={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};;){if(c[u]=e.call(g,c[u]),d[u]=e.call(p,d[u]),c[u][0]!=d[u][0]||\"M\"==c[u][0]||\"A\"==c[u][0]&&(c[u][4]!=d[u][4]||c[u][5]!=d[u][5])?(Array.prototype.splice.apply(c,[u,1].concat(a.call(g,c[u]))),Array.prototype.splice.apply(d,[u,1].concat(a.call(p,d[u])))):(c[u]=i.call(g,c[u]),d[u]=i.call(p,d[u])),++u==c.length&&u==d.length)break;u==c.length&&c.push([\"C\",g.pos[0],g.pos[1],g.pos[0],g.pos[1],g.pos[0],g.pos[1]]),u==d.length&&d.push([\"C\",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]])}return{start:c,dest:d}}function e(t){switch(t[0]){case\"z\":case\"Z\":t[0]=\"L\",t[1]=this.start[0],t[2]=this.start[1];break;case\"H\":t[0]=\"L\",t[2]=this.pos[1];break;case\"V\":t[0]=\"L\",t[2]=t[1],t[1]=this.pos[0];break;case\"T\":t[0]=\"Q\",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case\"S\":t[0]=\"C\",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!=\"SCQT\".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case\"M\":return this.pos=this.start=[t[1],t[2]],e;case\"L\":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case\"Q\":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case\"A\":e=function(t,e){var i,a,s,r,n,o,l,h,c,d,u,g,p,f,x,b,m,v,y,w,k,A,C,S,L,M,P=Math.abs(e[1]),I=Math.abs(e[2]),T=e[3]%360,z=e[4],X=e[5],R=e[6],E=e[7],Y=new bt(t),H=new bt(R,E),O=[];if(0===P||0===I||Y.x===H.x&&Y.y===H.y)return[[\"C\",Y.x,Y.y,H.x,H.y,H.x,H.y]];i=new bt((Y.x-H.x)/2,(Y.y-H.y)/2).transform((new vt).rotate(T)),a=i.x*i.x/(P*P)+i.y*i.y/(I*I),a>1&&(P*=a=Math.sqrt(a),I*=a);s=(new vt).rotate(T).scale(1/P,1/I).rotate(-T),Y=Y.transform(s),H=H.transform(s),r=[H.x-Y.x,H.y-Y.y],o=r[0]*r[0]+r[1]*r[1],n=Math.sqrt(o),r[0]/=n,r[1]/=n,l=o<4?Math.sqrt(1-o/4):0,z===X&&(l*=-1);h=new bt((H.x+Y.x)/2+l*-r[1],(H.y+Y.y)/2+l*r[0]),c=new bt(Y.x-h.x,Y.y-h.y),d=new bt(H.x-h.x,H.y-h.y),u=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(u*=-1);g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1);X&&u>g&&(g+=2*Math.PI);!X&&u0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0;if(!1===e)return!1;for(var i=e,a=t.length;i(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY});class Ja{constructor(t){t.remember(\"_draggable\",this),this.el=t,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(t){t?(this.el.on(\"mousedown.drag\",this.startDrag),this.el.on(\"touchstart.drag\",this.startDrag,{passive:!1})):(this.el.off(\"mousedown.drag\"),this.el.off(\"touchstart.drag\"))}startDrag(t){const e=!t.type.indexOf(\"mouse\");if(e&&1!==t.which&&0!==t.buttons)return;if(this.el.dispatch(\"beforedrag\",{event:t,handler:this}).defaultPrevented)return;t.preventDefault(),t.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point($a(t));const i=(e?\"mouseup\":\"touchend\")+\".drag\";zt(window,(e?\"mousemove\":\"touchmove\")+\".drag\",this.drag,this,{passive:!1}),zt(window,i,this.endDrag,this,{passive:!1}),this.el.fire(\"dragstart\",{event:t,handler:this,box:this.box})}drag(t){const{box:e,lastClick:i}=this,a=this.el.point($a(t)),s=a.x-i.x,r=a.y-i.y;if(!s&&!r)return e;const n=e.x+s,o=e.y+r;this.box=new kt(n,o,e.w,e.h),this.lastClick=a,this.el.dispatch(\"dragmove\",{event:t,handler:this,box:this.box}).defaultPrevented||this.move(n,o)}move(t,e){\"svg\"===this.el.type?gi.prototype.move.call(this.el,t,e):this.el.move(t,e)}endDrag(t){this.drag(t),this.el.fire(\"dragend\",{event:t,handler:this,box:this.box}),Xt(window,\"mousemove.drag\"),Xt(window,\"touchmove.drag\"),Xt(window,\"mouseup.drag\"),Xt(window,\"touchend.drag\"),this.init(!0)}}\n/*!\n * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse\n * @version 4.0.1\n * https://github.com/svgdotjs/svg.select.js\n *\n * @copyright Ulrich-Matthias Schäfer\n * @license MIT\n *\n * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)\n */\nfunction Qa(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function Ka([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{draggable(t=!0){return(this.remember(\"_draggable\")||new Ja(this)).init(t),this}});let ts=class{constructor(t){this.el=t,t.remember(\"_selectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass(\"svg_select_shape\")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass(\"svg_select_handle svg_select_handle_\"+a).on(\"mousedown.selection touchstart.selection\",Qa(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint(\"t\");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass(\"svg_select_handle_rot\").on(\"mousedown.selection touchstart.selection\",Qa(\"rot\",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne(\"g.svg_select_handle_rot\");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>Ka(t,e))),this.rotationPoint=Ka(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const es=t=>function(e=!0,i={}){\"object\"==typeof e&&(i=e,e=!0);let a=this.remember(\"_\"+t.name);return a||(e.prototype instanceof ts?(a=new e(this),e=!0):a=new t(this),this.remember(\"_\"+t.name,a)),a.active(e,i),this};\n/*!\n * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected\n * @version 2.0.4\n * https://github.com/svgdotjs/svg.resize.js\n *\n * @copyright [object Object]\n * @license MIT\n *\n * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time)\n */\n/*!\n * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse\n * @version 4.0.1\n * https://github.com/svgdotjs/svg.select.js\n *\n * @copyright Ulrich-Matthias Schäfer\n * @license MIT\n *\n * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time)\n */\nfunction is(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function as([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{select:es(ts)}),Q([Ge,je,xe],{pointSelect:es(class{constructor(t){this.el=t,t.remember(\"_pointSelectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass(\"svg_select_shape_pointSelect\")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass(\"svg_select_handle_point\").on(\"mousedown.selection touchstart.selection\",Qa(\"point\",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>Ka(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class ss{constructor(t){this.el=t,t.remember(\"_selectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass(\"svg_select_shape\")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass(\"svg_select_handle svg_select_handle_\"+a).on(\"mousedown.selection touchstart.selection\",is(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint(\"t\");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass(\"svg_select_handle_rot\").on(\"mousedown.selection touchstart.selection\",is(\"rot\",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne(\"g.svg_select_handle_rot\");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>as(t,e))),this.rotationPoint=as(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const rs=t=>function(e=!0,i={}){\"object\"==typeof e&&(i=e,e=!0);let a=this.remember(\"_\"+t.name);return a||(e.prototype instanceof ss?(a=new e(this),e=!0):a=new t(this),this.remember(\"_\"+t.name,a)),a.active(e,i),this};Q(Gt,{select:rs(ss)}),Q([Ge,je,xe],{pointSelect:rs(class{constructor(t){this.el=t,t.remember(\"_pointSelectHandler\",this),this.selection=new gi,this.order=[\"lt\",\"t\",\"rt\",\"r\",\"rb\",\"b\",\"lb\",\"l\",\"rot\"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass(\"svg_select_shape_pointSelect\")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass(\"svg_select_handle_point\").on(\"mousedown.selection touchstart.selection\",is(\"point\",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>as(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const ns=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY}),os=t=>{let e=1/0,i=1/0,a=-1/0,s=-1/0;for(let r=0;r{const s=t-e[0],r=(a-e[1])*i;return[s*i+e[0],r+e[1]]}));return os(a)}(this.box,s,r)}this.el.dispatch(\"resize\",{box:new kt(l),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.size(l.width,l.height).move(l.x,l.y)}movePoint(t){this.lastEvent=t;const{x:e,y:i}=this.snapToGrid(this.el.point(ns(t))),a=this.el.array().slice();a[this.index]=[e,i],this.el.dispatch(\"resize\",{box:os(a),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.plot(a)}rotate(t){this.lastEvent=t;const e=this.startPoint,i=this.el.point(ns(t)),{cx:a,cy:s}=this.box,r=e.x-a,n=e.y-s,o=i.x-a,l=i.y-s,h=Math.sqrt(r*r+n*n)*Math.sqrt(o*o+l*l);if(0===h)return;let c=Math.acos((r*o+n*l)/h)/Math.PI*180;if(!c)return;i.xdiv {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, .7);\\n border: 1px solid rgba(0, 0, 0, .5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, .5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_shape {\\n stroke-width: 1;\\n stroke-dasharray: 10 10;\\n stroke: black;\\n stroke-opacity: 0.1;\\n pointer-events: none;\\n fill: none;\\n}\\n\\n.svg_select_handle {\\n stroke-width: 3;\\n stroke: black;\\n fill: none;\\n}\\n\\n.svg_select_handle_r {\\n cursor: e-resize;\\n}\\n\\n.svg_select_handle_l {\\n cursor: w-resize;\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-toolbar-custom-icon,\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, .7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,\\n.apexcharts-datalabel.apexcharts-element-hidden,\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value,\\n.apexcharts-datalabels,\\n.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-gridline,\\n.apexcharts-line,\\n.apexcharts-point-annotation-label,\\n.apexcharts-radar-series path:not(.apexcharts-marker),\\n.apexcharts-radar-series polygon,\\n.apexcharts-toolbar svg,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-zoom-rect,\\n.no-pointer-events {\\n pointer-events: none\\n}\\n\\n.apexcharts-tooltip-active .apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,\\n.resize-triggers,\\n.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers {\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows {\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers {\\n pointer-events: none\\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&o.setAttribute(\"nonce\",h),r?s.prepend(o):n.head.appendChild(o)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this,a=this.w;new hs(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,!v.elementExists(this.el))return s.animationEnded=!0,this.destroy(),null;(this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new Ni(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(this.core.setupElements(),\"treemap\"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var n=Pi.checkComboSeries(r,a.config.chart.type);s.comboCharts=n.comboCharts,s.comboBarCount=n.comboBarCount;var o=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||o&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Vi(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),\"category\"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pi(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new qi(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Ki(i);var n,o,l=i.grid.drawGrid();(i.annotations=new Fi(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(n=l.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){window.removeEventListener(\"resize\",this.windowResizeHandler),function(t,e){var i=ds.get(e);i&&(i.disconnect(),ds.delete(e))}(this.el.parentNode,this.parentResizeHandler);var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===v.escapeString(t)&&Apex._chartInstances.splice(i,1)})),new cs(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return this.opts=t,n.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new Ji(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Ji(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=v.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),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

1o;i^URWK2dg6G>;i4FPa(64Vs+Fzs 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%0A9{bdH3FKyW0q%sPyN) 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

`LIqIkKolF|w3-kg_Rtd3 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 H+7AE#-jl6M diff --git a/src/web/assets/dist/assets/widget-DwHmSLCm.js b/src/web/assets/dist/assets/widget-JT9gu8Fw.js similarity index 90% rename from src/web/assets/dist/assets/widget-DwHmSLCm.js rename to src/web/assets/dist/assets/widget-JT9gu8Fw.js index 8686a8af..7275c240 100644 --- a/src/web/assets/dist/assets/widget-DwHmSLCm.js +++ b/src/web/assets/dist/assets/widget-JT9gu8Fw.js @@ -1,2 +1,2 @@ -import{A as n,a as i}from"./vue-apexcharts-BAOY4gp6.js";import{n as o}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const c=e=>({baseURL:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),h=(e,t,s,a)=>{e.get(t,{params:s}).then(r=>{a&&a(r.data)}).catch(r=>{console.error(r)})},p={components:{apexcharts:n},props:{title:{type:String,default:""},subTitle:{type:String,default:""},days:{type:String,default:""},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-widget",toolbar:{show:!1}},colors:["#008FFB","#DCE6EC"],labels:["404 hits","404 hits handled"]},series:[50,50]}},created:function(){this.getSeriesData()},methods:{getSeriesData:async function(){const e=i.create(c(this.apiUrl));await h(e,"",{days:this.days},t=>{this.series=t})}}};var d=function(){var t=this,s=t._self._c;return s("apexcharts",{attrs:{width:"100%",height:"200px",type:"donut",options:t.chartOptions,series:t.series}})},u=[],l=o(p,d,u,!1,null,null);const f=l.exports,_=window.Vue;new _({el:"#widget-content",components:{"widget-chart":f}}); -//# sourceMappingURL=widget-DwHmSLCm.js.map +import{A as n,a as i}from"./vue-apexcharts-SftWG7rg.js";import{n as o}from"./_plugin-vue2_normalizer-DeOsZA-U.js";const c=e=>({baseURL:e,headers:{"X-Requested-With":"XMLHttpRequest"}}),h=(e,t,s,a)=>{e.get(t,{params:s}).then(r=>{a&&a(r.data)}).catch(r=>{console.error(r)})},p={components:{apexcharts:n},props:{title:{type:String,default:""},subTitle:{type:String,default:""},days:{type:String,default:""},apiUrl:{type:String,default:""}},data:function(){return{chartOptions:{chart:{id:"vuechart-widget",toolbar:{show:!1}},colors:["#008FFB","#DCE6EC"],labels:["404 hits","404 hits handled"]},series:[50,50]}},created:function(){this.getSeriesData()},methods:{getSeriesData:async function(){const e=i.create(c(this.apiUrl));await h(e,"",{days:this.days},t=>{this.series=t})}}};var d=function(){var t=this,s=t._self._c;return s("apexcharts",{attrs:{width:"100%",height:"200px",type:"donut",options:t.chartOptions,series:t.series}})},u=[],l=o(p,d,u,!1,null,null);const f=l.exports,_=window.Vue;new _({el:"#widget-content",components:{"widget-chart":f}}); +//# sourceMappingURL=widget-JT9gu8Fw.js.map diff --git a/src/web/assets/dist/assets/widget-JT9gu8Fw.js.gz b/src/web/assets/dist/assets/widget-JT9gu8Fw.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..bf98d66e08be7b5856a50df743e3349d04e8e7ef GIT binary patch literal 669 zcmV;O0%H9iiwFP!000021AS9nZ`3dleCJmLSD-}Nq$#3&_~c53QV?o|)KaLZs*{`S zU5tFTu{XUI%l{oExx(=PFOI#lvl;J>)yi2<@i3DiGa!eLN(*mStlGWpv6K$)nofEO z<@tiXzJKYL)%U<=YT}uJU>^u`r~9QcBjJj?kfO(FY#cWqF1_dJKeZ`BhQJIJ-PO`9S10ah6g6oyZXg0?0xfM68xb zIYD&N%T?eZ6%}=8axV^|eEL-8zG@}OA{A95sp&>wkYY7f=)Lv1FH(`fiP+ecvjz_&N`TYNkR^EqyqtdAhum6b;bdr40 zn}(D%c@aHQ?@b(aesV)F@ae>(YB{^@aXgi4)h>}3khS_odLBb(*ZlEbO3+wsec)GY zr>1zrG%- zdX$9iwpi*^7^ZbT<{n9sd68g+)Y&%h_!q)uxHnC<#h%=QLRC}gyvfIcQ_qTGCf8C? z*5wF{K^z-BCJeg-Bn~D4lTtycNGZ*3rO#Ti^_w9;V#tIbsG0}Vi)!A?rcP%eXMc>r zAWEXax@*-^$Jt(8KVi_JT6V\n \n\n\n\n","import Vue from 'vue';\nimport WidgetChart from '@/vue/WidgetChart.vue';\n\n// Create our vue instance\nnew Vue({\n el: \"#widget-content\",\n components: {\n 'widget-chart': WidgetChart,\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["configureApi","url","queryApi","api","uri","params","callback","result","error","_sfc_main","ApexCharts","chartsAPI","Axios","data","Vue","WidgetChart"],"mappings":"kHAgBA,MAAAA,EAAAC,IACA,CACA,QAAAA,EACA,QAAA,CACA,mBAAA,gBACA,CACA,GAGAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CACAH,EAAA,IAAAC,EAAA,CAAA,OAAAC,CAAA,CAAA,EACA,KAAAE,GAAA,CACAD,GACAA,EAAAC,EAAA,IAAA,CAEA,CAAA,EACA,MAAAC,GAAA,CACA,QAAA,MAAAA,CAAA,CACA,CAAA,CACA,EAGAC,EAAA,CACA,WAAA,CACA,WAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,SAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,OAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,EACA,KAAA,UAAA,CACA,MAAA,CACA,aAAA,CACA,MAAA,CACA,GAAA,kBACA,QAAA,CACA,KAAA,EACA,CACA,EACA,OAAA,CAAA,UAAA,SAAA,EACA,OAAA,CACA,WACA,kBACA,CACA,EACA,OAAA,CAAA,GAAA,EAAA,CACA,CACA,EACA,QAAA,UAAA,CACA,KAAA,cAAA,CACA,EACA,QAAA,CAEA,cAAA,gBAAA,CACA,MAAAC,EAAAC,EAAA,OAAAZ,EAAA,KAAA,MAAA,CAAA,EACA,MAAAE,EAAAS,EAAA,GAAA,CAAA,KAAA,KAAA,IAAA,EAAAE,GAAA,CACA,KAAA,OAAAA,CACA,CAAA,CACA,CACA,CACA,4MC1FAC,EAAA,OAAA,IAIA,IAAIA,EAAI,CACN,GAAI,kBACJ,WAAY,CACV,eAAgBC,CAAA,CAEpB,CAAC"} \ No newline at end of file +{"version":3,"file":"widget-JT9gu8Fw.js","sources":["../../../../../buildchain/src/vue/WidgetChart.vue","../../../../../buildchain/src/js/Widget.js"],"sourcesContent":["\n\n\n","import Vue from 'vue';\nimport WidgetChart from '@/vue/WidgetChart.vue';\n\n// Create our vue instance\nnew Vue({\n el: \"#widget-content\",\n components: {\n 'widget-chart': WidgetChart,\n },\n});\n\n// Accept HMR as per: https://vitejs.dev/guide/api-hmr.html\nif (import.meta.hot) {\n import.meta.hot.accept(() => {\n console.log(\"HMR\")\n });\n}\n"],"names":["configureApi","url","queryApi","api","uri","params","callback","result","error","_sfc_main","ApexCharts","chartsAPI","Axios","data","Vue","WidgetChart"],"mappings":"kHAgBA,MAAAA,EAAAC,IACA,CACA,QAAAA,EACA,QAAA,CACA,mBAAA,gBACA,CACA,GAGAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CACAH,EAAA,IAAAC,EAAA,CAAA,OAAAC,CAAA,CAAA,EACA,KAAAE,GAAA,CACAD,GACAA,EAAAC,EAAA,IAAA,CAEA,CAAA,EACA,MAAAC,GAAA,CACA,QAAA,MAAAA,CAAA,CACA,CAAA,CACA,EAGAC,EAAA,CACA,WAAA,CACA,WAAAC,CACA,EACA,MAAA,CACA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,SAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,KAAA,CACA,KAAA,OACA,QAAA,EACA,EACA,OAAA,CACA,KAAA,OACA,QAAA,EACA,CACA,EACA,KAAA,UAAA,CACA,MAAA,CACA,aAAA,CACA,MAAA,CACA,GAAA,kBACA,QAAA,CACA,KAAA,EACA,CACA,EACA,OAAA,CAAA,UAAA,SAAA,EACA,OAAA,CACA,WACA,kBACA,CACA,EACA,OAAA,CAAA,GAAA,EAAA,CACA,CACA,EACA,QAAA,UAAA,CACA,KAAA,cAAA,CACA,EACA,QAAA,CAEA,cAAA,gBAAA,CACA,MAAAC,EAAAC,EAAA,OAAAZ,EAAA,KAAA,MAAA,CAAA,EACA,MAAAE,EAAAS,EAAA,GAAA,CAAA,KAAA,KAAA,IAAA,EAAAE,GAAA,CACA,KAAA,OAAAA,CACA,CAAA,CACA,CACA,CACA,4MC1FAC,EAAA,OAAA,IAIA,IAAIA,EAAI,CACN,GAAI,kBACJ,WAAY,CACV,eAAgBC,CAAA,CAEpB,CAAC"} \ No newline at end of file diff --git a/src/web/assets/dist/assets/widget-JT9gu8Fw.js.map.gz b/src/web/assets/dist/assets/widget-JT9gu8Fw.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..3725ccd25cfe52f1024d7bc21badfd2d4c0c69da GIT binary patch literal 1402 zcmV-=1%>(_iwFP!000021GQG|Zre5#eHDVmAO&C~cWZ}Ejf=^u$3W9SYWVEfK zf8M9V3-Y}tQjz@dBUObL0q@h<+Y_a#M&NB~t=7|3vm5RIFa+;vBJKgN1&IHib{T>t z#Q-z#>Er@T#_!#PziWjiSzJ*BYC#dGu)qt6K!(fm8fV|O_W)Nkm=on2@PkE1jn?X5 zGvGiKg!#T8vM$xOq4q~-z+XG-0hovzKw~S&vBC#0A7fWrJGLEAhE-PhJ`sY8zJT=3 z@R9@u(7+rwt-X~?uk%`fj4vwA2vdOEX?`|W%uYZ~X1Feu>#S3FOb*YXapVx);nvC- zSAtiMjVP*0(!)D_l_PMe1Z8uyEo|b9fah(=R$FsfU%&sk9&&syf1Y(*(JN8*-pjon z{;v;rthpM2SZUM}s`HmC8fA@rv{E8jHO) z4G9W<8-W=vCD~(bwL`XRJ>wSs(Q2v#KDM;cX7so&vC z{ifE2&&Wde#Oc&m z^N8u%G_=({uxa{k;q^^k_I4ihJ@EJz({<_cJEKV7NAO@@4P!(PR|xo~RP3ld-A>wb z0z;F3UtQUbrRU^Uy0_`N8Hixhs(h%)x<}ECNwe-We2x6izDCftGP;d1+hxvbSrb5+ zRG4KXWsKZvC%#FLlo3eblcpcdY&V!f6Jt-&@mipE=S6N%MnxxQk~bm5Sw<=aPR=d> zmY^ac0)LrD%{y2Sg@b~thAUgE0X9B- z-#xRoESG%lr|{(LB88?Bo5)rv)BP{Q3)^bDe1ZtpqJ#*xjDZN^W?6r2-vSYA8w`k` zZ80E%ru;($zsgzmb%Ciq({(x4N-g`eKvNnbs0joS{9rnGXE$|-3tUx{%_WTBx0852 ziqTmd$1xhmah#xOoWv;6pLfk_Gqj6~ksi)R9cmI!;>75p#26Sq`c7Nz6N{U6GNXdd z%{=Mm#^q@o$73{URbQh?oOD5UW>6B3U9B@C?zC*+Hoc@BHsVVQnsoBh?lWyebr{#~ zdJk>ZpJ!*u(_=RhG>xam-qaYJYS>@e=+x}g8%?Z#^x_9Z;&?vlct5U2dYHh~f9a9y IlG+ad0RLm7Y5)KL literal 0 HcmV?d00001 diff --git a/src/web/assets/dist/manifest.json b/src/web/assets/dist/manifest.json index 089174dd..6d5f05b0 100644 --- a/src/web/assets/dist/manifest.json +++ b/src/web/assets/dist/manifest.json @@ -14,8 +14,8 @@ "file": "assets/purify-DvoaRXnC.css", "src": "_purify.es-!~{007}~.js" }, - "_purify.es-DnCl3rD_.js": { - "file": "assets/purify.es-DnCl3rD_.js", + "_purify.es-T1dZ8B5N.js": { + "file": "assets/purify.es-T1dZ8B5N.js", "name": "purify.es", "imports": [ "__plugin-vue2_normalizer-DeOsZA-U.js" @@ -24,22 +24,22 @@ "assets/purify-DvoaRXnC.css" ] }, - "_vue-apexcharts-BAOY4gp6.js": { - "file": "assets/vue-apexcharts-BAOY4gp6.js", + "_vue-apexcharts-SftWG7rg.js": { + "file": "assets/vue-apexcharts-SftWG7rg.js", "name": "vue-apexcharts", "imports": [ "__plugin-vue2_normalizer-DeOsZA-U.js" ] }, "src/js/Dashboard.js": { - "file": "assets/dashboard-hjVnLPX9.js", + "file": "assets/dashboard-Cd8Jof-e.js", "name": "dashboard", "src": "src/js/Dashboard.js", "isEntry": true, "imports": [ - "_purify.es-DnCl3rD_.js", + "_purify.es-T1dZ8B5N.js", "__plugin-vue2_normalizer-DeOsZA-U.js", - "_vue-apexcharts-BAOY4gp6.js" + "_vue-apexcharts-SftWG7rg.js" ] }, "src/js/Import.js": { @@ -52,12 +52,12 @@ ] }, "src/js/Redirects.js": { - "file": "assets/redirects-BXkYchow.js", + "file": "assets/redirects-MFAcS0Yj.js", "name": "redirects", "src": "src/js/Redirects.js", "isEntry": true, "imports": [ - "_purify.es-DnCl3rD_.js", + "_purify.es-T1dZ8B5N.js", "_LegacyUrl-7VynczAE.js", "__plugin-vue2_normalizer-DeOsZA-U.js" ] @@ -72,23 +72,23 @@ ] }, "src/js/Shortlinks.js": { - "file": "assets/shortlinks-6cjZJRFA.js", + "file": "assets/shortlinks-Da8cmtQ7.js", "name": "shortlinks", "src": "src/js/Shortlinks.js", "isEntry": true, "imports": [ - "_purify.es-DnCl3rD_.js", + "_purify.es-T1dZ8B5N.js", "_LegacyUrl-7VynczAE.js", "__plugin-vue2_normalizer-DeOsZA-U.js" ] }, "src/js/Widget.js": { - "file": "assets/widget-DwHmSLCm.js", + "file": "assets/widget-JT9gu8Fw.js", "name": "widget", "src": "src/js/Widget.js", "isEntry": true, "imports": [ - "_vue-apexcharts-BAOY4gp6.js", + "_vue-apexcharts-SftWG7rg.js", "__plugin-vue2_normalizer-DeOsZA-U.js" ] } diff --git a/src/web/assets/dist/manifest.json.gz b/src/web/assets/dist/manifest.json.gz index b9c07857000b49d60c4d92a8580b4b65f4052ab2..ee1a9050daedb9ed9ae87f329e981dd6edb9a4c0 100644 GIT binary patch literal 491 zcmVJjoA!JU)b)@=Q8U06hDY`yF(|iY!8nDw%zr7?h?oTU>rBurRdc0 zZPYi0pEZQ0o7%E9izZ*Dw%}tyiJlKM47lA3OHAO6&q<|HoqnoDNNC&~`Q-Y+Ym}(S zBn795BG?cTyxB54#{SO5&w@p|;4*{Ov#nW^$lJFDiUf*F9t8}OA$zBN!ll6Np1eP* za!ch?QBp8FPp;E69_lqD zdB7C@RA*yZ|2eJL036auJd!G*WN5tm_Sku?AD;s8Bm|sI-hb6#e!uu@X4;%lDO9$2 z3gPp^I&D`T2Y|B-g3Zkdt$XpREB>$fNI&4}a3TVGjj?OU&;pZ*h()oa{Z*O3H`7d+ z(YvkVmfMGJrkP5+?{n$c-m7xWBBOAV7}S+lRlrS7!H(v&{?DfGZPQ}PuX`L5xOKB< h1;*hR$R;7+T=M>_X7b~&Vs+!%^b1o{vh2Qflygb*?brbD)OGzizB6R|l0n>y$<0gT` zNo@z3BKq5>BqSNp#f6QRz9!$j=bm#NXKf&4PJ7HDG&bvy3@#y9gpK>%r2%p6an$Q7bdXH z?&ZY74{6^F{$(JvIWrEe**EziwKX4mO3Z4YC>Gvh(qIyQcwL{LUv6G?Bjhx;mm%qo zc&9;SDJccb6~Ts(pv^n}Ct*+D7Oc}XmnC$XZEc&R-u`N!Nua*uWy~;%*fVvBP!eBT z_v6n_)YAFXl+?`bk|#c&QqbmHHf^7!tQ*?d*4T2fN4vpc1$3l!iv1% zN+f0*DG@V`Ki%0l)PF^5HUNk8EgMOfP(CznJ&h*|t9u8;lM`?@RsUmy`S->5*~}A+ zDyg$23J7117Gvs$E5KO^!RB^^PQ7^D75~5as4y1#a8d&E&MLT4i328+68mB)`s*@* zZ>Fs>qr;Eg+rWixrmf1r4TbVOzR<2&mK1K$`Q*0$)dJj96zphM>-}u{hc|PW_Um3{ m1h!Y*V9@IXKsGr6=Th}QHj_7h6~`MlHh%z?u`~oq2><~381FRz diff --git a/src/web/assets/dist/stats.html b/src/web/assets/dist/stats.html index 8da01c1d..2fe0e5f1 100644 --- a/src/web/assets/dist/stats.html +++ b/src/web/assets/dist/stats.html @@ -4822,7 +4822,7 @@