From 87824199d098df758f58f52d2f5fc3a36ec4eeb2 Mon Sep 17 00:00:00 2001 From: Pranay Date: Wed, 24 Dec 2025 12:50:57 +0530 Subject: [PATCH] project management system Commit --- .../onlyoffice_odoo_documents/__init__.py | 2 + .../onlyoffice_odoo_documents/__manifest__.py | 35 + .../controllers/__init__.py | 1 + .../controllers/controllers.py | 303 ++++ .../onlyoffice_odoo_documents/doc/index.rst | 34 + .../doc/settings.png | Bin 0 -> 48772 bytes .../onlyoffice_odoo_documents/i18n/de.po | 324 ++++ .../onlyoffice_odoo_documents/i18n/en.po | 324 ++++ .../onlyoffice_odoo_documents/i18n/es.po | 324 ++++ .../onlyoffice_odoo_documents/i18n/fr.po | 324 ++++ .../onlyoffice_odoo_documents/i18n/it.po | 324 ++++ .../onlyoffice_odoo_documents/i18n/ja.po | 331 ++++ .../onlyoffice_odoo_documents/i18n/pt_BR.po | 324 ++++ .../onlyoffice_odoo_documents/i18n/ru.po | 324 ++++ .../onlyoffice_odoo_documents/i18n/zh_CN.po | 324 ++++ .../models/__init__.py | 5 + .../models/documents.py | 161 ++ .../models/ir_attachment.py | 7 + .../models/onlyoffice_documents_access.py | 34 + .../onlyoffice_documents_access_user.py | 22 + .../models/onlyoffice_odoo_documents.py | 101 ++ .../onlyoffice_odoo_documents/pyproject.toml | 3 + .../security/ir.model.access.csv | 4 + .../static/description/create_files.png | Bin 0 -> 393496 bytes .../static/description/edit_files.png | Bin 0 -> 419756 bytes .../static/description/editors.png | Bin 0 -> 449193 bytes .../static/description/icon.png | Bin 0 -> 2183 bytes .../static/description/index.html | 89 + .../static/description/main_screenshot.png | Bin 0 -> 13860 bytes .../documents_inspector_onlyoffice.xml | 16 + .../create_mode_dialog/create_mode_dialog.js | 114 ++ .../create_mode_dialog/create_mode_dialog.xml | 49 + .../kanban/documents_kanban_controller.js | 7 + .../list/documents_list_controller.js | 7 + ...yoffice_odoo_documents_controller_mixin.js | 23 + ...office_odoo_documents_controller_mixin.xml | 42 + .../models/documents_inspector_onlyoffice.js | 76 + .../create_dialog.xml | 106 ++ .../onlyoffice_create_template_dialog.js | 113 ++ .../onlyoffice_create_template_dialog.scss | 34 + .../static/svg/choice/blank.svg | 11 + .../static/svg/choice/template.svg | 14 + .../static/svg/edit.svg | 5 + .../static/svg/edit_black.svg | 5 + .../static/svg/formats/docx.svg | 7 + .../static/svg/formats/pdf.svg | 7 + .../static/svg/formats/pptx.svg | 7 + .../static/svg/formats/xlsx.svg | 7 + .../views/onlyoffice_templates_share.xml | 45 + .../project_dashboards_management/__init__.py | 2 + .../__manifest__.py | 45 + .../controllers/__init__.py | 2 + .../portfolio_dashboard_controller.py | 133 ++ .../project_dashboard_controller.py | 451 ++++++ .../models/__init__.py | 1 + .../models/project.py | 28 + .../models/project_protofolio.py | 45 + .../static/src/css/portfolio_dashboard.css | 926 +++++++++++ .../static/src/css/project_dashboard.css | 936 +++++++++++ .../dashboard/portfolio_dashboard_widget.js | 1428 +++++++++++++++++ .../src/js/dashboard/project_dashboard.js | 960 +++++++++++ .../js/external_lib/apexcharts/apexcharts.js | 37 + .../external_lib/apexcharts/apexcharts.min.js | 14 + .../static/src/xml/portfolio_dashboard.xml | 558 +++++++ .../static/src/xml/project_dashboard.xml | 345 ++++ .../views/project_dashboard_actions.xml | 19 + .../views/project_project_views.xml | 34 + .../__manifest__.py | 4 + .../data/data.xml | 38 + .../models/__init__.py | 4 + .../models/deployment_log.py | 6 +- .../models/maintenance_support.py | 9 +- .../models/project.py | 154 +- .../models/project_actual_costing.py | 702 ++++++++ .../models/project_attachments.py | 10 + .../models/project_portfolio.py | 636 ++++++++ .../models/project_portfolio_dashboard.py | 157 ++ .../models/project_roles_master.py | 1 + .../models/project_task.py | 97 +- .../models/stage_visibility.py | 61 +- .../models/task_stages.py | 1 + .../security/ir.model.access.csv | 29 +- .../view/maintenance_support.xml | 13 +- .../view/project.xml | 346 ++-- .../view/project_actual_costings.xml | 156 ++ .../view/project_attachments.xml | 30 + .../view/project_portfolio.xml | 513 ++++++ .../view/project_roles_master.xml | 11 +- .../view/project_task.xml | 35 +- .../view/teams.xml | 1 + .../wizards/__init__.py | 3 +- .../wizards/project_cancel_hold_wizard.py | 30 + .../wizards/project_cancel_hold_wizard.xml | 35 + .../wizards/project_stage_update_wizard.py | 21 +- 94 files changed, 13322 insertions(+), 164 deletions(-) create mode 100644 addons_extensions/onlyoffice_odoo_documents/__init__.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/__manifest__.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/controllers/__init__.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/controllers/controllers.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/doc/index.rst create mode 100644 addons_extensions/onlyoffice_odoo_documents/doc/settings.png create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/de.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/en.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/es.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/fr.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/it.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/ja.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/pt_BR.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/ru.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/i18n/zh_CN.po create mode 100644 addons_extensions/onlyoffice_odoo_documents/models/__init__.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/models/documents.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/models/ir_attachment.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py create mode 100644 addons_extensions/onlyoffice_odoo_documents/pyproject.toml create mode 100644 addons_extensions/onlyoffice_odoo_documents/security/ir.model.access.csv create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/description/create_files.png create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/description/edit_files.png create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/description/editors.png create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/description/icon.png create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/description/index.html create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/description/main_screenshot.png create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/kanban/documents_kanban_controller.js create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/list/documents_list_controller.js create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.js create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.scss create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/choice/blank.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/choice/template.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/edit.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/edit_black.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/formats/docx.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pdf.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pptx.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/static/svg/formats/xlsx.svg create mode 100644 addons_extensions/onlyoffice_odoo_documents/views/onlyoffice_templates_share.xml create mode 100644 addons_extensions/project_dashboards_management/__init__.py create mode 100644 addons_extensions/project_dashboards_management/__manifest__.py create mode 100644 addons_extensions/project_dashboards_management/controllers/__init__.py create mode 100644 addons_extensions/project_dashboards_management/controllers/portfolio_dashboard_controller.py create mode 100644 addons_extensions/project_dashboards_management/controllers/project_dashboard_controller.py create mode 100644 addons_extensions/project_dashboards_management/models/__init__.py create mode 100644 addons_extensions/project_dashboards_management/models/project.py create mode 100644 addons_extensions/project_dashboards_management/models/project_protofolio.py create mode 100644 addons_extensions/project_dashboards_management/static/src/css/portfolio_dashboard.css create mode 100644 addons_extensions/project_dashboards_management/static/src/css/project_dashboard.css create mode 100644 addons_extensions/project_dashboards_management/static/src/js/dashboard/portfolio_dashboard_widget.js create mode 100644 addons_extensions/project_dashboards_management/static/src/js/dashboard/project_dashboard.js create mode 100644 addons_extensions/project_dashboards_management/static/src/js/external_lib/apexcharts/apexcharts.js create mode 100644 addons_extensions/project_dashboards_management/static/src/js/external_lib/apexcharts/apexcharts.min.js create mode 100644 addons_extensions/project_dashboards_management/static/src/xml/portfolio_dashboard.xml create mode 100644 addons_extensions/project_dashboards_management/static/src/xml/project_dashboard.xml create mode 100644 addons_extensions/project_dashboards_management/views/project_dashboard_actions.xml create mode 100644 addons_extensions/project_dashboards_management/views/project_project_views.xml create mode 100644 addons_extensions/project_task_timesheet_extended/models/project_actual_costing.py create mode 100644 addons_extensions/project_task_timesheet_extended/models/project_attachments.py create mode 100644 addons_extensions/project_task_timesheet_extended/models/project_portfolio.py create mode 100644 addons_extensions/project_task_timesheet_extended/models/project_portfolio_dashboard.py create mode 100644 addons_extensions/project_task_timesheet_extended/view/project_actual_costings.xml create mode 100644 addons_extensions/project_task_timesheet_extended/view/project_attachments.xml create mode 100644 addons_extensions/project_task_timesheet_extended/view/project_portfolio.xml create mode 100644 addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.py create mode 100644 addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.xml diff --git a/addons_extensions/onlyoffice_odoo_documents/__init__.py b/addons_extensions/onlyoffice_odoo_documents/__init__.py new file mode 100644 index 000000000..91c5580fe --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/__init__.py @@ -0,0 +1,2 @@ +from . import controllers +from . import models diff --git a/addons_extensions/onlyoffice_odoo_documents/__manifest__.py b/addons_extensions/onlyoffice_odoo_documents/__manifest__.py new file mode 100644 index 000000000..4166c73f6 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/__manifest__.py @@ -0,0 +1,35 @@ +# pylint: disable=pointless-statement +{ + "name": "ONLYOFFICE Documents", + "summary": "Edit and collaborate on office files within Odoo Documents.", + "description": "The ONLYOFFICE app allows users to edit and collaborate on office files within Odoo Documents using ONLYOFFICE Docs. You can work with text documents, spreadsheets, and presentations, co-author documents in real time using two co-editing modes (Fast and Strict), Track Changes, comments, and built-in chat.", # noqa: E501 + "author": "ONLYOFFICE", + "website": "https://github.com/ONLYOFFICE/onlyoffice_odoo", + "category": "Productivity", + "version": "5.2.1", + "depends": ["onlyoffice_odoo", "documents"], + # always loaded + "data": [ + "security/ir.model.access.csv", + "views/onlyoffice_templates_share.xml", + ], + "license": "LGPL-3", + "support": "support@onlyoffice.com", + "images": [ + "static/description/main_screenshot.png", + "static/description/editors.png", + "static/description/edit_files.png", + "static/description/create_files.png", + ], + "installable": True, + "application": True, + "assets": { + "web.assets_backend": [ + "onlyoffice_odoo_documents/static/src/models/*.js", + "onlyoffice_odoo_documents/static/src/components/*/*.xml", + "onlyoffice_odoo_documents/static/src/documents_view/**/*", + "onlyoffice_odoo_documents/static/src/onlyoffice_create_template/**/*", + "onlyoffice_odoo_documents/static/src/css/*", + ], + }, +} diff --git a/addons_extensions/onlyoffice_odoo_documents/controllers/__init__.py b/addons_extensions/onlyoffice_odoo_documents/controllers/__init__.py new file mode 100644 index 000000000..e046e49fb --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/controllers/__init__.py @@ -0,0 +1 @@ +from . import controllers diff --git a/addons_extensions/onlyoffice_odoo_documents/controllers/controllers.py b/addons_extensions/onlyoffice_odoo_documents/controllers/controllers.py new file mode 100644 index 000000000..fe00a7c22 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/controllers/controllers.py @@ -0,0 +1,303 @@ +# +# (c) Copyright Ascensio System SIA 2024 +# +import base64 +import json +import logging +import re +from mimetypes import guess_type +from urllib.request import urlopen + +import markupsafe +import requests +from werkzeug.exceptions import Forbidden + +from odoo import http +from odoo.exceptions import AccessError +from odoo.http import request +from odoo.tools.translate import _ + +from odoo.addons.documents.controllers.documents import ShareRoute +from odoo.addons.onlyoffice_odoo.controllers.controllers import Onlyoffice_Connector +from odoo.addons.onlyoffice_odoo.utils import config_utils, file_utils, jwt_utils, url_utils + +_logger = logging.getLogger(__name__) +_mobile_regex = r"android|avantgo|playbook|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino" # noqa: E501 + + +class OnlyofficeDocuments_Connector(http.Controller): + @http.route("/onlyoffice/documents/file/create", auth="user", methods=["POST"], type="json") + def post_file_create(self, folder_id, supported_format, title, url=None): + result = {"error": None, "file_id": None, "document_id": None} + + try: + _logger.info(f"Getting new file template {request.env.user.lang} {supported_format}") + + if url: + response = requests.get(url, stream=True, timeout=30) + response.raise_for_status() + file_data = response.content + else: + file_data = file_utils.get_default_file_template(request.env.user.lang, supported_format) + + data = { + "name": title + "." + supported_format, + "mimetype": file_utils.get_mime_by_ext(supported_format), + "raw": file_data, + "folder_id": int(folder_id), + } + + document = request.env["documents.document"].create(data) + request.env["onlyoffice.odoo.documents.access"].create( + { + "document_id": document.id, + "internal_users": "none", + "link_access": "none", + } + ) + request.env["onlyoffice.odoo.documents.access.user"].create( + { + "document_id": document.id, + "user_id": request.env.user.partner_id.id, + "role": "edit", + } + ) + result["file_id"] = document.attachment_id.id + result["document_id"] = document.id + + except Exception as ex: + _logger.exception(f"Failed to create document {str(ex)}") + result["error"] = _("Failed to create document") + + return json.dumps(result) + + +class OnlyofficeDocuments_Inherited_Connector(Onlyoffice_Connector): + @http.route(["/onlyoffice/documents/share//"], type="http", auth="public") + def render_shared_document_editor(self, access_token=None): + try: + document = ShareRoute._from_access_token(access_token, skip_log=True) + + if not document or not document.exists(): + raise request.not_found() + + return request.render( + "onlyoffice_odoo.onlyoffice_editor", self.prepare_share_editor(document, access_token) + ) + + except Exception: + _logger.error("Ffailed to open shared document") + + return request.not_found() + + @http.route("/onlyoffice/editor/document/", auth="public", type="http", website=True) + def render_document_editor(self, document_id, access_token=None): + return request.render( + "onlyoffice_odoo.onlyoffice_editor", self.prepare_document_editor(document_id, access_token) + ) + + def prepare_document_editor(self, document_id, access_token): + document = request.env["documents.document"].browse(int(document_id)) + if document.is_locked and document.lock_uid.id != request.env.user.id: + _logger.error("Document is locked by another user") + raise Forbidden() + try: + document.check_access_rule("read") + except AccessError: + _logger.error("User has no read access rights to open this document") + raise Forbidden() # noqa: B904 + + attachment = self.get_attachment(document.attachment_id.id) + if not attachment: + _logger.error("Current document has no attachments") + raise Forbidden() # noqa: B904 + + try: + document.check_access_rule("write") + return self.prepare_editor_values(attachment, access_token, True) + except AccessError: + _logger.debug("Current user has no write access") + return self.prepare_editor_values(attachment, access_token, False) + + def prepare_share_editor(self, document, access_token): + role = None + access = ( + request.env["onlyoffice.odoo.documents.access"].sudo().search([("document_id", "=", document.id)], limit=1) + ) + if access: + if access.link_access == "none": + raise AccessError(_("User has no read access rights to open this document")) + else: + role = access.link_access + + attachment = self.get_attachment(document.attachment_id.id) + data = attachment.sudo().read(["id", "checksum", "public", "name", "access_token"])[0] + key = str(data["id"]) + str(data["checksum"]) + docserver_url = config_utils.get_doc_server_public_url(request.env) + odoo_url = config_utils.get_base_or_odoo_url(request.env) + + filename = self.filter_xss(data["name"]) + access_token = access_token.decode("utf-8") if isinstance(access_token, bytes) else access_token + document_type = file_utils.get_file_type(filename) + is_mobile = bool(re.search(_mobile_regex, request.httprequest.headers.get("User-Agent"), re.IGNORECASE)) + + root_config = { + "width": "100%", + "height": "100%", + "type": "mobile" if is_mobile else "desktop", + "documentType": document_type, + "document": { + "title": filename, + "url": odoo_url + "documents/content/" + access_token, + "fileType": file_utils.get_file_ext(filename), + "key": key, + "permissions": {"edit": False}, + }, + "editorConfig": { + "mode": "view", + "lang": request.env.user.lang, + "user": {"id": str(request.env.user.id), "name": request.env.user.name}, + "customization": {}, + }, + } + + if not role or role == "view": + root_config["editorConfig"]["mode"] = "view" + root_config["document"]["permissions"]["edit"] = False + elif role == "commenter": + root_config["editorConfig"]["mode"] = "edit" + root_config["document"]["permissions"]["edit"] = False + root_config["document"]["permissions"]["comment"] = True + elif role == "reviewer": + root_config["editorConfig"]["mode"] = "edit" + root_config["document"]["permissions"]["edit"] = False + root_config["document"]["permissions"]["review"] = True + elif role == "edit": + root_config["editorConfig"]["mode"] = "edit" + root_config["document"]["permissions"]["edit"] = True + elif role == "form_filling": + root_config["editorConfig"]["mode"] = "edit" + root_config["document"]["permissions"]["edit"] = False + root_config["document"]["permissions"]["fillForms"] = True + elif role == "custom_filter": + root_config["editorConfig"]["mode"] = "edit" + root_config["document"]["permissions"]["edit"] = True + root_config["document"]["permissions"]["modifyFilter"] = False + + if role and role != "view": + public_user = request.env.ref("base.public_user") + security_token = jwt_utils.encode_payload( + request.env, {"id": public_user.id}, config_utils.get_internal_jwt_secret(request.env) + ) + security_token = security_token.decode("utf-8") if isinstance(security_token, bytes) else security_token + root_config["editorConfig"]["callbackUrl"] = ( + odoo_url + "onlyoffice/documents/share/callback/" + access_token + "/" + security_token + ) + + if jwt_utils.is_jwt_enabled(request.env): + root_config["token"] = jwt_utils.encode_payload(request.env, root_config) + + return { + "docTitle": filename, + "docIcon": f"/onlyoffice_odoo/static/description/editor_icons/{document_type}.ico", + "docApiJS": docserver_url + "web-apps/apps/api/documents/api.js", + "editorConfig": markupsafe.Markup(json.dumps(root_config)), + } + + @http.route( + "/onlyoffice/documents/share/callback//", + auth="public", + methods=["POST"], + type="http", + csrf=False, + ) + def share_callback(self, access_token, oo_security_token): + response_json = {"error": 0} + + try: + body = request.get_json_data() + user = self.get_user_from_token(oo_security_token) + document = ShareRoute._from_access_token(access_token, skip_log=True) + + if not document or not document.exists(): + raise request.not_found() + + access = ( + request.env["onlyoffice.odoo.documents.access"] + .sudo() + .search([("document_id", "=", document.id)], limit=1) + ) + if access: + if access.link_access == "view": + raise Exception("No access rights to overwrite this document for access via share link") + else: + raise Exception("No access rights to overwrite this document for access via share link") + + attachment = request.env["ir.attachment"].sudo().browse([document.attachment_id.id]).exists().ensure_one() + + if jwt_utils.is_jwt_enabled(request.env): + token = body.get("token") + + if not token: + token = request.httprequest.headers.get(config_utils.get_jwt_header(request.env)) + if token: + token = token[len("Bearer ") :] + + if not token: + raise Exception("expected JWT") + + body = jwt_utils.decode_token(request.env, token) + if body.get("payload"): + body = body["payload"] + + status = body["status"] + + if (status == 2) | (status == 3): # mustsave, corrupted + file_url = url_utils.replace_public_url_to_internal(request.env, body.get("url")) + datas = base64.encodebytes(urlopen(file_url, timeout=120).read()) + document = request.env["documents.document"].sudo().browse(int(attachment.res_id)) + document.with_user(user).sudo().write( + { + "name": attachment.name, + "datas": datas, + "mimetype": guess_type(file_url)[0], + } + ) + document.sudo().message_post(body=_("Document edited by %(user)s", user=user.name)) + + except Exception as ex: + response_json["error"] = 1 + response_json["message"] = http.serialize_exception(ex) + + return request.make_response( + data=json.dumps(response_json), + status=500 if response_json["error"] == 1 else 200, + headers=[("Content-Type", "application/json")], + ) + + +class OnlyOfficeShareRoute(ShareRoute): + @http.route("/documents/", type="http", auth="public") + def documents_home(self, access_token): + response = super(OnlyOfficeShareRoute, self).documents_home(access_token) # noqa: UP008 + + document_sudo = self._from_access_token(access_token) + + if not request.env.user._is_public() or not hasattr(response, "qcontext"): + return + + qcontext = response.qcontext + + if document_sudo.type == "binary" and document_sudo.attachment_id: + can_view = file_utils.can_view(document_sudo.name) + if can_view: + qcontext["onlyoffice_supported"] = True + + if document_sudo.type == "folder": + data = [] + sub_documents_sudo = ShareRoute._get_folder_children(document_sudo) + for document in sub_documents_sudo: + data.append({"document": document, "onlyoffice_supported": file_utils.can_view(document.name)}) + qcontext["onlyoffice_supported"] = data + + return response diff --git a/addons_extensions/onlyoffice_odoo_documents/doc/index.rst b/addons_extensions/onlyoffice_odoo_documents/doc/index.rst new file mode 100644 index 000000000..db4b1ead2 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/doc/index.rst @@ -0,0 +1,34 @@ +Prerequisites +============= + +To be able to work with office files within Odoo Enterprise, you will need an instance of ONLYOFFICE Docs. You can install the `self-hosted version`_ of the editors or opt for `ONLYOFFICE Docs`_ which doesn't require downloading and installation. + +ONLYOFFICE app configuration +============================ + +**Please note**: All the settings are configured from the `main ONLYOFFICE app for Odoo`_ which is installed automatically when you install ONLYOFFICE app for Odoo Enterprise. +To adjust the main app settings within your Odoo, go to *Home menu -> Settings -> ONLYOFFICE*. + +In the **Document Server Url**, specify the URL of the installed ONLYOFFICE Docs or the address of ONLYOFFICE Docs Cloud. + +**Document Server JWT Secret**: JWT is enabled by default and the secret key is generated automatically to restrict the access to ONLYOFFICE Docs. if you want to specify your own secret key in this field, also specify the same secret key in the ONLYOFFICE Docs `config file`_ to enable the validation. + +**Document Server JWT Header**: Standard JWT header used in ONLYOFFICE is Authorization. In case this header is in conflict with your setup, you can change the header to the custom one. + +In case your network configuration doesn't allow requests between the servers via public addresses, specify the ONLYOFFICE Docs address for internal requests from the Odoo server and vice versa. + +If you would like the editors to open in the same tab instead of a new one, check the corresponding setting "Open file in the same tab". + +.. image:: settings.png + :width: 800 + + +Contact us +========== + +If you have any questions or suggestions regarding the ONLYOFFICE app for Odoo, please let us know at https://forum.onlyoffice.com + +.. _self-hosted version: https://www.onlyoffice.com/download-docs.aspx +.. _ONLYOFFICE Docs: https://www.onlyoffice.com/docs-registration.aspx +.. _config file: https://api.onlyoffice.com/docs/docs-api/additional-api/signature/ +.. _main ONLYOFFICE app for Odoo: https://apps.odoo.com/apps/modules/16.0/onlyoffice_odoo/ diff --git a/addons_extensions/onlyoffice_odoo_documents/doc/settings.png b/addons_extensions/onlyoffice_odoo_documents/doc/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..5820b71b7334959408a1ff64559e2e82c94eac5b GIT binary patch literal 48772 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 literal 0 HcmV?d00001 diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/de.po b/addons_extensions/onlyoffice_odoo_documents/i18n/de.po new file mode 100644 index 000000000..0a88c2cc3 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/de.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "Zugriffsebene" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "Anhang" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "Leer" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "Abbrechen" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "Kommentator" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "Erstellen" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "Erstellen mit ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "Berechtigungen erstellen und festlegen" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "Benutzerdefinierter Filter" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "Dokument" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "Editor" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "Dokument kann nicht erstellt werden" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "Ausfüllen von Formularen" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "Aus Vorlage" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "Zugriff für interne Benutzer" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert von" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "Linkzugriff" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "Neues Dokument" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "Neues Dokument erstellt in Dokumente" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "Kein Dokument zum Teilen ausgewählt." + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "Keine" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "ONLYOFFICE Docs-Server" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE Dokumente" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documents Access" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documents Access Users" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "Nur Besitzer oder Administrator kann Dokumente freigeben" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "Oo Attachment Version" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "In ONLYOFFICE öffnen" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "PDF-Formular" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "Präsentation" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "Überprüfer" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "Tabelle" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "Der 30-tägige Testzeitraum ist vorbei. Sie können sich nicht mehr mit dem Demo-Server von ONLYOFFICE Docs verbinden" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "Titel" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "Benutzer" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "Betrachter" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/en.po b/addons_extensions/onlyoffice_odoo_documents/i18n/en.po new file mode 100644 index 000000000..afc3c0260 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/en.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/es.po b/addons_extensions/onlyoffice_odoo_documents/i18n/es.po new file mode 100644 index 000000000..fd5ad9b0d --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/es.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "Nivel de acceso" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "Archivo adjunto" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "En blanco" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "Comentador" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "Crear" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "Crear con ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "Crear y establecer permisos" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "Creado" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "Filtro personalizado" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "Mostrar nombre" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "Documento" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "Editor" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "Error al crear documento" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "Rellenado de formularios" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "Desde plantilla" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "Acceso de usuarios internos" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "Última actualización" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "Acceso mediante enlace" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "Nuevo documento" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "Nuevo documento creado en Documentos" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "No se ha seleccionado ningún documento para compartir." + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "Ninguno" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "Servidor de ONLYOFFICE Docs" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE Documents" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documents Access" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documents Access Users" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "Solo el propietario o el administrador pueden compartir documentos." + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "Abrir en ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "Formulario PDF" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "Presentación" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "Revisor" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "Hoja de cálculo" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "El período de prueba de 30 días ha terminado, ya no se puede conectar al servidor de ONLYOFFICE Docs" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "Título" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "Usuario" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "Visor" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/fr.po b/addons_extensions/onlyoffice_odoo_documents/i18n/fr.po new file mode 100644 index 000000000..9a7315798 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/fr.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "Niveau d'accès" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "Pièce jointe" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "Vierge" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "Annuler" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "Commentateur" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "Créer" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "Créer avec ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "Créer et définir les permissions" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "Filtre personnalisé" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "Afficher le nom" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "Document" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "Éditeur" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "Échec de la création du document" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "Remplissage de formulaires" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "À partir d'un modèle" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "Accès des utilisateurs internes" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "Accès par lien" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "Nouveau document" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "Nouveau document créé dans Documents" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "Aucun document sélectionné pour le partage." + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "Aucun" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "Serveur ONLYOFFICE Docs" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE Documents" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documents Access" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documents Access Users" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "Seul le propriétaire ou l'administrateur peut partager des documents." + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "Ouvrir dans ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "Formulaire PDF" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "Présentation" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "Réviseur" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "Feuille de calcul" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "La période de test de 30 jours est terminée, vous ne pouvez plus vous connecter à la démo ONLYOFFICE Serveur Docs" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "Titre" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "Utilisateur" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "Lecteur" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/it.po b/addons_extensions/onlyoffice_odoo_documents/i18n/it.po new file mode 100644 index 000000000..ae4574d74 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/it.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "Livello di accesso" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "Allegato" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "Vuoto" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "Annulla" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "Commentatore" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "Crea" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "Crea con ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "Crea e imposta permessi" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "Filtro personalizzato" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "Visualizza nome" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "Documento" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "Editor" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "Non è stato possibile creare un documento" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "Compilazione del modulo" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "Da modello" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "Accesso utenti interni" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento da" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "Accesso utenti interni" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "Nuovo documento" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "Nuovo documento è stato creato in Documenti" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "Nessun documento selezionato per la condivisione." + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "Nessuno" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "Server ONLYOFFICE Docs" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE Documents" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documents Access" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documents Access Users" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "Solo il proprietario o l’amministratore può condividere documenti." + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "Aprire in ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "Modulo PDF" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "Presentazione" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "Recensore" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "Foglio di calcolo" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "Il periodo di prova di 30 giorni è terminato, non puoi più connetterti alla demo ONLYOFFICE Docs Server" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "Titolo" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "Utente" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "Visualizzatore" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/ja.po b/addons_extensions/onlyoffice_odoo_documents/i18n/ja.po new file mode 100644 index 000000000..537e14b0b --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/ja.po @@ -0,0 +1,331 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "アクセスレベル" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "添付ファイル" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "空白" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "キャンセル" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "コメント可" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "作成" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "ONLYOFFICEで作成" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "作成 & 権限設定" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "作成日" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "カスタムフィルター" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "ドキュメント" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "%(user)sによって編集されたドキュメント" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "編集可" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "文書の作成に失敗しました" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "フォーム入力" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "テンプレートから" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "内部ユーザーアクセス" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents____last_update +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access____last_update +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user____last_update +msgid "Last Modified on" +msgstr "最終変更日" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "リンクアクセス" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "新規ドキュメント" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "「文書」に新規文書が作成されました" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "共有するドキュメントが選択されていません。" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "なし" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "ONLYOFFICE Docsサーバ" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE Documents" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documentsアクセス" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documentsアクセスユーザー" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "ドキュメントを共有できるのは所有者または管理者のみです。" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment" +msgstr "Oo添付バージョン" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "ONLYOFFICEで開く" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "PDFフォーム" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "プレゼンテーション" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "レビュー可" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "スプレッドシート" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "30日間のテスト期間が終了し、ONLYOFFICE Docsのデモサーバーに接続できなくなりました" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "タイトル" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "ユーザー" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "ユーザーにはこのドキュメントを開く権限がありません" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "閲覧のみ" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/pt_BR.po b/addons_extensions/onlyoffice_odoo_documents/i18n/pt_BR.po new file mode 100644 index 000000000..68235b519 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/pt_BR.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "Nível de Acesso" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "Anexo" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "Em branco" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "Comentarista" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "Criar" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "Crie com o ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "Criar e Definir Permissões" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "Filtro Personalizado" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "Nome de exibição" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "Documento" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "Editor" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "Falha ao criar documento" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "Preenchimento de formulário" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "Do Modelo" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "Acesso de Usuários Internos" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "Acesso ao Link" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "Novo Documento" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "Novo documento criado em Documentos" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "Nenhum documento selecionado para compartilhamento." + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "Nenhum" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "Servidor ONLYOFFICE Docs" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE Documents" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documents Access" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documents Access Users" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "Somente o proprietário ou administrador pode compartilhar documentos." + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "Abrir no ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "Formulário PDF" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "Apresentação" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "Revisor" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "Planilha" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "O período de teste de 30 dias acabou, você não pode mais se conectar ao ONLYOFFICE de demonstração Servidor Docs" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "Titulo" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "Usuários" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "Visualizador" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/ru.po b/addons_extensions/onlyoffice_odoo_documents/i18n/ru.po new file mode 100644 index 000000000..bb2d51d65 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/ru.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "Уровень доступа" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "Вложение" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "Пусто" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "Отменить" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "Комментатор" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "Создать" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "Создать с помощью ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "Создать и установить разрешения" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "Создано" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "Дата создания" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "Пользовательский фильтр" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "Отображаемое имя" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "Документ" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "Редактор" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "Не удалось создать документ" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "Заполнение формы" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "Из шаблона" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "Доступ внутренних пользователей" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "Последнее обновление" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "Дата последнего обновления" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "Доступ по ссылке:" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "Новый документ" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "Новый документ создан в Документах" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "Не выбран документ для предоставления доступа." + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "Нет" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "Сервер ONLYOFFICE Docs" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE Документы" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documents Access" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documents Access Users" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "Предоставлять доступ к документам может только владелец или администратор." + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "Открыть в ONLYOFFICE" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "PDF форма" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "Презентация" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "Рецензент" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "Таблица" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "30-дневный тестовый период закончился, вы больше не можете подключиться к демо-серверу ONLYOFFICE Docs" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "Название" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "Пользователь" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "Зритель" diff --git a/addons_extensions/onlyoffice_odoo_documents/i18n/zh_CN.po b/addons_extensions/onlyoffice_odoo_documents/i18n/zh_CN.po new file mode 100644 index 000000000..dd43869de --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/i18n/zh_CN.po @@ -0,0 +1,324 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * onlyoffice_odoo_documents +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e-20250520\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-12 16:20+0000\n" +"PO-Revision-Date: 2025-11-12 16:20+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__role +msgid "Access Level" +msgstr "访问级别" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_ir_attachment +msgid "Attachment" +msgstr "附件" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "Blank" +msgstr "空白" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Cancel" +msgstr "取消" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__commenter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__commenter +msgid "Commenter" +msgstr "可评论" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create" +msgstr "创建" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "Create with ONLYOFFICE" +msgstr "使用 ONLYOFFICE 创建" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Create&Set Permissions" +msgstr "创建并设置权限" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__create_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__custom_filter +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__custom_filter +msgid "Custom Filter" +msgstr "自定义筛选器" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__display_name +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +#: model:ir.model,name:onlyoffice_odoo_documents.model_documents_document +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__document_id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__document_id +msgid "Document" +msgstr "文档" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Document edited by %(user)s" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__edit +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__edit +msgid "Editor" +msgstr "可编辑" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "Failed to create document" +msgstr "文档创建失败" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__form_filling +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__form_filling +msgid "Form Filling" +msgstr "可填写表单" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml:0 +msgid "From Template" +msgstr "来自模板" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__id +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__id +msgid "ID" +msgstr "ID" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__internal_users +msgid "Internal Users Access" +msgstr "内部用户访问" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_uid +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__write_date +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access__link_access +msgid "Link Access" +msgstr "链接访问" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New Document" +msgstr "新建文档" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js:0 +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js:0 +msgid "New document created in Documents" +msgstr "在“文档”中新建的文档" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "No document selected for sharing." +msgstr "未选择要共享的文档。" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__none +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__none +msgid "None" +msgstr "无" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "ONLYOFFICE Docs server" +msgstr "ONLYOFFICE 文档服务器" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents +msgid "ONLYOFFICE Documents" +msgstr "ONLYOFFICE 文档" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access +msgid "ONLYOFFICE Documents Access" +msgstr "ONLYOFFICE Documents Access" + +#. module: onlyoffice_odoo_documents +#: model:ir.model,name:onlyoffice_odoo_documents.model_onlyoffice_odoo_documents_access_user +msgid "ONLYOFFICE Documents Access Users" +msgstr "ONLYOFFICE Documents Access Users" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +msgid "Only the owner or administrator can share documents." +msgstr "只有所有者或管理员可以共享文档。" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_ir_attachment__oo_attachment_version +msgid "Oo Attachment Version" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/components/documents_inspector_onlyoffice/documents_inspector_onlyoffice.xml:0 +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.public_folder_page +#: model_terms:ir.ui.view,arch_db:onlyoffice_odoo_documents.share_file +msgid "Open in ONLYOFFICE" +msgstr "用 ONLYOFFICE 打开" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "PDF form" +msgstr "PDF 表单" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Presentation" +msgstr "演示文稿" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__reviewer +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__reviewer +msgid "Reviewer" +msgstr "可审阅" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Spreadsheet" +msgstr "电子表格" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js:0 +msgid "" +"The 30-day test period is over, you can no longer connect to demo ONLYOFFICE" +" Docs server" +msgstr "30 天测试期结束后,您将无法再访问 ONLYOFFICE文档服务器演示版" + +#. module: onlyoffice_odoo_documents +#. odoo-javascript +#: code:addons/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml:0 +msgid "Title" +msgstr "標題" + +#. module: onlyoffice_odoo_documents +#: model:ir.model.fields,field_description:onlyoffice_odoo_documents.field_onlyoffice_odoo_documents_access_user__user_id +msgid "User" +msgstr "用户" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/controllers/controllers.py:0 +msgid "User has no read access rights to open this document" +msgstr "" + +#. module: onlyoffice_odoo_documents +#. odoo-python +#: code:addons/onlyoffice_odoo_documents/models/documents.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py:0 +#: code:addons/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py:0 +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__internal_users__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access__link_access__view +#: model:ir.model.fields.selection,name:onlyoffice_odoo_documents.selection__onlyoffice_odoo_documents_access_user__role__view +msgid "Viewer" +msgstr "可查看" diff --git a/addons_extensions/onlyoffice_odoo_documents/models/__init__.py b/addons_extensions/onlyoffice_odoo_documents/models/__init__.py new file mode 100644 index 000000000..b3250ba79 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/models/__init__.py @@ -0,0 +1,5 @@ +from . import documents +from . import ir_attachment +from . import onlyoffice_odoo_documents +from . import onlyoffice_documents_access +from . import onlyoffice_documents_access_user diff --git a/addons_extensions/onlyoffice_odoo_documents/models/documents.py b/addons_extensions/onlyoffice_odoo_documents/models/documents.py new file mode 100644 index 000000000..25883e714 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/models/documents.py @@ -0,0 +1,161 @@ +from odoo import _, api, models + + +class Document(models.Model): + _inherit = "documents.document" + + @api.depends("checksum") + def _compute_thumbnail(self): + super()._compute_thumbnail() + + for record in self: + if record.mimetype == "application/pdf": + record.thumbnail = False + record.thumbnail_status = False + return + + @api.readonly + def permission_panel_data(self): + result = super().permission_panel_data() + + if result["record"]["type"] == "binary": + roles = list(self._get_available_roles(self.name).items()) + + for key in ["access_via_link", "access_internal", "doc_access_roles"]: + if key in result["selections"]: + result["selections"][key] = roles + result["selections"][key] + + document_id = result["record"]["id"] + + access = self.env["onlyoffice.odoo.documents.access"].search([("document_id", "=", document_id)]) + if access and access.exists(): + result["record"]["access_internal"] = access.internal_users + result["record"]["access_via_link"] = access.link_access + + access_user = self.env["onlyoffice.odoo.documents.access.user"].search([("document_id", "=", document_id)]) + if access_user and access_user.exists(): + user_roles = {access.user_id.id: access.role for access in access_user if access.user_id} + for access_id in result["record"].get("access_ids", []): + partner_id = access_id["partner_id"]["id"] + if partner_id in user_roles: + access_id["role"] = user_roles[partner_id] + + return result + + def _get_available_roles(self, filename): + ext = filename.split(".")[-1].lower() if "." in filename else "" + + roles = { + "commenter": _("Commenter"), + "reviewer": _("Reviewer"), + "form_filling": _("Form Filling"), + "custom_filter": _("Custom Filter"), + } + + if ext == "docx": + roles.pop("form_filling", None) + roles.pop("custom_filter", None) + elif ext == "xlsx": + roles.pop("reviewer", None) + roles.pop("form_filling", None) + elif ext == "pptx": + roles.pop("reviewer", None) + roles.pop("form_filling", None) + roles.pop("custom_filter", None) + elif ext == "pdf": + roles.pop("commenter", None) + roles.pop("reviewer", None) + roles.pop("custom_filter", None) + else: + roles = { + "view": _("Viewer"), + "edit": _("Editor"), + } + + return roles + + def action_update_access_rights( + self, + access_internal=None, + access_via_link=None, + is_access_via_link_hidden=None, + partners=None, + notify=False, + message="", + ): + def convert_custom_role(role): + if role in ["commenter", "reviewer", "form_filling"]: + return "view" + elif role == "custom_filter": + return "edit" + return role + + if partners: + partners_with_standard_roles = {} + for partner_id, role_data in partners.items(): + if isinstance(role_data, list): + role = role_data[0] + expiration_date = role_data[1] + partners_with_standard_roles[partner_id] = [convert_custom_role(role), expiration_date] + else: + partners_with_standard_roles[partner_id] = convert_custom_role(role_data) + else: + partners_with_standard_roles = partners + + result = super().action_update_access_rights( + convert_custom_role(access_internal), + convert_custom_role(access_via_link), + is_access_via_link_hidden, + partners_with_standard_roles, + notify, + message, + ) + + specification = self._permission_specification() + records = self.sudo().with_context(active_test=False).web_search_read([("id", "=", self.id)], specification) + record = records["records"][0] + + user_accesses = [] + users_to_remove = [] + + if partners: + for partner_id, role_data in partners.items(): + partner = self.env["res.partner"].browse(int(partner_id)) + if partner.exists(): + role = role_data[0] if isinstance(role_data, list) else role_data + + if role is False: + users_to_remove.append(partner.id) + else: + user_accesses.append( + { + "user_id": partner.id, + "role": role, + } + ) + + access = self.env["onlyoffice.odoo.documents.access"].search([("document_id", "=", self.id)]) + + if not access_internal: + if access and access.exists(): + access_internal = access.internal_users + else: + access_internal = record["access_internal"] + + if not access_via_link: + if access and access.exists(): + access_via_link = access.link_access + else: + access_via_link = record["access_via_link"] + + vals = { + "document_id": self.id, + "internal_users": access_internal, + "link_access": access_via_link, + "user_accesses": user_accesses, + "users_to_remove": users_to_remove, + } + + self.env["onlyoffice.odoo.documents"].advanced_share_save(vals) + + return result diff --git a/addons_extensions/onlyoffice_odoo_documents/models/ir_attachment.py b/addons_extensions/onlyoffice_odoo_documents/models/ir_attachment.py new file mode 100644 index 000000000..1bcfee31f --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/models/ir_attachment.py @@ -0,0 +1,7 @@ +from odoo import fields, models + + +class Attachment(models.Model): + _inherit = "ir.attachment" + + oo_attachment_version = fields.Integer(default=1) diff --git a/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py b/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py new file mode 100644 index 000000000..8b79411d2 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access.py @@ -0,0 +1,34 @@ +from odoo import _, fields, models + + +class OnlyofficeDocumentsAccessUser(models.Model): + _name = "onlyoffice.odoo.documents.access" + _description = "ONLYOFFICE Documents Access" + + document_id = fields.Many2one("documents.document", required=True, ondelete="cascade") + internal_users = fields.Selection( + [ + ("none", _("None")), + ("view", _("Viewer")), + ("commenter", _("Commenter")), + ("reviewer", _("Reviewer")), + ("edit", _("Editor")), + ("form_filling", _("Form Filling")), + ("custom_filter", _("Custom Filter")), + ], + default="none", + string="Internal Users Access", + ) + link_access = fields.Selection( + [ + ("none", _("None")), + ("view", _("Viewer")), + ("commenter", _("Commenter")), + ("reviewer", _("Reviewer")), + ("edit", _("Editor")), + ("form_filling", _("Form Filling")), + ("custom_filter", _("Custom Filter")), + ], + default="view", + string="Link Access", + ) diff --git a/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py b/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py new file mode 100644 index 000000000..2656a1c32 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_documents_access_user.py @@ -0,0 +1,22 @@ +from odoo import _, fields, models + + +class OnlyofficeDocumentsAccessUser(models.Model): + _name = "onlyoffice.odoo.documents.access.user" + _description = "ONLYOFFICE Documents Access Users" + + document_id = fields.Many2one("documents.document", required=True, ondelete="cascade") + user_id = fields.Many2one("res.partner", required=True, string="User") + role = fields.Selection( + [ + ("none", _("None")), + ("view", _("Viewer")), + ("commenter", _("Commenter")), + ("reviewer", _("Reviewer")), + ("edit", _("Editor")), + ("form_filling", _("Form Filling")), + ("custom_filter", _("Custom Filter")), + ], + required=True, + string="Access Level", + ) diff --git a/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py b/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py new file mode 100644 index 000000000..6485b2083 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/models/onlyoffice_odoo_documents.py @@ -0,0 +1,101 @@ +from odoo import _, api, models +from odoo.exceptions import AccessError + + +class OnlyofficeDocuments(models.Model): + _name = "onlyoffice.odoo.documents" + _description = "ONLYOFFICE Documents" + + def _get_available_roles(self, filename): + ext = filename.split(".")[-1].lower() if "." in filename else "" + + roles = { + "none": _("None"), + "view": _("Viewer"), + "commenter": _("Commenter"), + "reviewer": _("Reviewer"), + "edit": _("Editor"), + "form_filling": _("Form Filling"), + "custom_filter": _("Custom Filter"), + } + + if ext == "docx": + roles.pop("form_filling", None) + roles.pop("custom_filter", None) + elif ext == "xlsx": + roles.pop("reviewer", None) + roles.pop("form_filling", None) + elif ext == "pptx": + roles.pop("reviewer", None) + roles.pop("form_filling", None) + roles.pop("custom_filter", None) + elif ext == "pdf": + roles.pop("commenter", None) + roles.pop("reviewer", None) + roles.pop("custom_filter", None) + else: + roles = { + "none": _("None"), + "view": _("Viewer"), + "edit": _("Editor"), + } + + return roles + + @api.model + def advanced_share_save(self, vals): + document_id = vals.get("document_id") + if not document_id: + raise AccessError(_("No document selected for sharing.")) + + is_admin = self.env.user.has_group("base.group_system") + document = self.env["documents.document"].browse(document_id) + if not is_admin and document.create_uid != self.env.user: + raise AccessError(_("Only the owner or administrator can share documents.")) + + access = self.env["onlyoffice.odoo.documents.access"].search([("document_id", "=", document_id)], limit=1) + if not access: + access = self.env["onlyoffice.odoo.documents.access"].create( + { + "document_id": document_id, + "internal_users": vals.get("internal_users", "none"), + "link_access": vals.get("link_access", "none"), + } + ) + else: + access.write( + { + "internal_users": vals.get("internal_users"), + "link_access": vals.get("link_access"), + } + ) + + users_to_remove = vals.get("users_to_remove", []) + if users_to_remove: + self.env["onlyoffice.odoo.documents.access.user"].search( + [("document_id", "=", document_id), ("user_id", "in", users_to_remove)] + ).unlink() + + user_accesses = vals.get("user_accesses", []) + existing_accesses = ( + self.env["onlyoffice.odoo.documents.access.user"] + .search([("document_id", "=", document_id)]) + .mapped("user_id.id") + ) + + for user_data in user_accesses: + if user_data["user_id"] in existing_accesses: + self.env["onlyoffice.odoo.documents.access.user"].search( + [("document_id", "=", document_id), ("user_id", "=", user_data["user_id"])] + ).write({"role": user_data["role"]}) + else: + if self.env["res.partner"].search_count([("id", "=", user_data["user_id"])]): + self.env["onlyoffice.odoo.documents.access.user"].create( + { + "document_id": document_id, + "user_id": user_data["user_id"], + "role": user_data["role"], + } + ) + + return True diff --git a/addons_extensions/onlyoffice_odoo_documents/pyproject.toml b/addons_extensions/onlyoffice_odoo_documents/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/addons_extensions/onlyoffice_odoo_documents/security/ir.model.access.csv b/addons_extensions/onlyoffice_odoo_documents/security/ir.model.access.csv new file mode 100644 index 000000000..e18c06578 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/security/ir.model.access.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_onlyoffice_odoo_documents,onlyoffice.odoo.documents,model_onlyoffice_odoo_documents,base.group_user,1,1,1,1 +access_onlyoffice_odoo_documents_access_user,onlyoffice.odoo.documents.access.user,model_onlyoffice_odoo_documents_access_user,base.group_user,1,1,1,1 +access_onlyoffice_odoo_documents_access,onlyoffice.odoo.documents.access,model_onlyoffice_odoo_documents_access,base.group_user,1,1,1,1 diff --git a/addons_extensions/onlyoffice_odoo_documents/static/description/create_files.png b/addons_extensions/onlyoffice_odoo_documents/static/description/create_files.png new file mode 100644 index 0000000000000000000000000000000000000000..bcfd3f147533a3dbd0e5dd877e690ecb18379bf7 GIT binary patch literal 393496 zcmYhBWl$X5*0u@3T@&0j!QEki;O-D0IE3I#a33tl;Oo@LN^3n)3QxyCEEYMvP4BZhB-ZB2){YFuX;S2%cErN!M&ZqU; z*Ea#7V`F1$H?NG0j66I%>o>0(x3B+P6B83l*RSK_9z-Fx@*=TH3n{IjPIDxwOVyLUaiH`B+r%jXXre{cHw2br0f2Zu(6 z4(_`CUbXDrFC1S(4z7lVhDIl*|M~K-U)_Js?mE|wTUQR1Mdc@t?#Fh|2jDmV*r##n zKwVU6^zeS|`ep9mqI>hC_wVJ<*2(Sd?Z)XjZ1==aA2cv9(6W8~@cdF%Ue3nGR`ate zC$A_oE1QyvT2xXYzp#Xsk+r0?e{u1TvWDUN_wOqz>)&|z=8}>M3JOvB{Di~z!10Op z6;zkD2mt{>XgY=)8yiPQhk8a9^^MJ;VR8NQtEXq@W|rRs!gyjQah*YK7Il zTdD{Hy;CQ~I=za5<|^!)1E{q>Q@+R}BI88Ym6 zLiELf(uyD#I}r}n`(j%wDK#C5uLCZwsU=PR2HNrB8l#1t6OAESVqtc?%ncx%f;P zO>RV5e4Z&`d`$AQI=dMd7@!pJq$H_zX*p*5aeVvf$dAwmTJhnM^FO@qUcO#_Zjl^F zcfP!X$?12(!W{E&xm&|v_hKnK+@S1!+hpCQ4+Avnfdn%P#9Y_biyTdnbgI;>)tn>w)X+o7Wr5t{BC~Z_9M2$j8WzfyQ-V z!yt(kr~AYC^Y!WPK*tes9L4S8+q7f10?M9Z_j6wnsOi#s3TWT_uxIpn%h1nvMWaLP z98R1O(Mx)3e2I=D-3|*b`SWwmE8V8tET5xq;Vn!QcXNFE<&tYo3x|`Z&Z;vT$D9|d z4gZBAwJ__^DNxg7 zpZ)nh6OnI~du8yJ_3sv|{f~-N`etl^38LGi%mYQ~d_;=}JYomIv1-sGI*2_G7-3Yy z@n8FQU#^Rbyq?ucI@i_}(R|A{tgA$|lQRokyo-trN6YzeM0Yamd41dZ%DF3-nq zX0l{X;aPP8>cs-y$TSkhd$f^u$(5yH(Mt&O@PV>V7Z+FGG(O&4fnLkgxdpbJRTjNd zgOL(PP&fRn?2zHYT6HmMK1N@?=NA}iDKg;@3*f6ukhhWVVCRgCPp-ryRMGd1)a~=d zpK3zzJB$Vyr6UMUo=&pJkY3v>VouvK@ahkZm-GuH^gc z7PBG~pR5oa*>Twm))mIYFHWtjLt@U8o-NgWG37_KuVPn9Pu{byOVyuwpmDO7{T>`c zTL~t(iRD1OkePch(Ia|K81T7D0yjYM2^XQTyAOC%7iqBjy4$aROuj9kSQ5f2RAy_oMUs-FEjdE+egCaM-o_QtGkGHh z#NBLfwyvNXeE-%sSF%j}R7UY{kE5?OF$$PHjxnQ_6n_qU9aW@7JW|6ERgyr z%31M|vw|x+cKaLM)y{jG`^0hB2bnJtv$=5(?gDG2WlJmL323l18udT~$Y>iPZ}Q&8 z2AU0+`Kz!)D=)5mp=5L{2zgJA$QD*m>#!aaw~g}VVSdGIhvr+B$o?Xy{36I(u@HFUfN_l_lkhm#w&lE0i7bO`U993IVTM=)^KP`*dTj~Ft-XM1Rw!!oY< z#MAM3v7q2<+cJ(lR6Tgv3IyKY=+Z9r3r<) zh@jdZVf?%~e1FG6)J)<%xuA!4#kS{wq&G{aswsOou=#Mi^7GFg&0*6)*OHyeXN>@0 zoq-0Ha^TaNu%~PQ>a6+576^?AEu)$33gG(FQ!LSEyGrxBB|M%Z?i-_MDNYEgb!&S1 ze1rbaLQTa7?00mxv)%gt74+n8&qs;Z%c>QMCPP>GUT(mZh+I}fQIph-P5g9~noUZc zz7xKL`_?)WX*eQ`-2LJMTG!8YVLJ%Ot-*duXj6+?0K{`dJ~r;ci^}>yE8dd`5Q29? zvBoab_r|t!tS!Yp!CANMuH99%x!hGUHHCWe`6Pp(=t7m>=@K4A)nrYYZso;)dpIn6jNGjZTD z?g=npGZ}&)LGBiQdZ-a@JV1E7^xgg6zLkq?T!AexQ<$L`xxSmD3mt74;hI8(4P#~! zy13*FjOIeAt|H`3%{+f^{HnRxPY?%QM{=H{$LCLn6wFS_V2?WrX&VDxFf9CvC@7dIL8U@P*cSoT?C8x+#LKXT%Olcp;x0F+e0@c9Gyg+2P-CR0g{@w`(s7^VSL|DqxwscQ6#%Z~CmX(isk~|F;|G|e@=F2h- zfO&7FI|%XvX|>n_NJxM+^t*2g+ZCWJLL1CCYxgc+FSDd1}P(x&wPpTs_2_qMx*N{VaW7<=GjDMePpV5hACXA*9~tsBpE!T6F4{= zhyP~g5T|DjG=D-Gv1ih9^eAqs^C(g``LA@3cY9vXkDj(~D|c<_=D6M1va%yITETm_ zv6Lii{EfnvmiOM)d6!aLs$qf(v2yI9a75H3ok_>x!*T)UA0QdFUVJUIYo$?lieUzj zhVEtYZ8=*+XQM2&;e*1|QfATt`Hy8`O0v^G-hNh_XhQ-aj+RqIyDQI6v|NxpL6n|bEFs5*?~)8(^-s*eBs9lyd>U;q3MJ&ryAmvckBIVunPMzM zha~A?d5XdBhBA8Z$yUf|{h>X9YXL7rzL~qm;}!)eXts-*`U5&;=Oml+nXBOsaJznYfW(rYiD`f(T4Id|6N*B2JHl}r3+2KjN%1a< zV-t+TR+OH(Zek5@yp0B>E1+B@wb7u+twI-JEg7z*^ZT$&)k`IvSh$`7_)9H#eyWfwPr zH&Zsvt~S{H*ogbvRm(JvNDVP~i_CuqX9T;XX#l*a~vavkd0fx*=oc@TS4S*l(>?i(QG^X6MFvi66|1?raGmlQ&eGQx%{i z>2YeVa#w;%(i~f3opv73+dPSWPMzs>#10+hB9_14Tv)VHBQr^WP6}}cfz-j^EQLwY zC|UuzYXRObKHl`{3941ci#44)l|V`h9wW9|DBY%6A^bn#u1 z=1(O0qM-9tWNAZMig&Kyf?H=3y#W$Wb;hQ5sBiXr3!XC7zw0YOm7qjynD zj^z|5D{w*nW^8<;r;IT7)?KMGHn6}Z;NzM1)vRsed^P<-HNEgWH)ZR2LO4?lrJWt} z(huU*7omcNY09R*?v^I~!x=LHoS$YOoJL(6=N?8?U zEU$z;@$>3kb>|hRk=E(_`Ns1e=pn{<{iTZ2v}2Lt%M>@3f&}{Jea3bur=G&ME;Nsp zf6eRn(zEqM7O>__7^T?<>H4joRz(9Ry?o!qp>V?Ugz`#?0eXBU-KSuvs24=T0%M{( zyXD>fIunPrv`%<^bQmb@GUWQlhr3xY+Hk66Dp8z_pH|HM}EhOUCV zoh+QrAe>SzK!TY&dq?ph*|Rn&skp302>)j&zbGs~#+uS-p(&ccyh~PexyrMV=Y~DX zTfF@o!^`rSeysj8s+6GQTR{&=M}h`0%Jl>v_@m;%M{j6xx_9syP&}7r5dXIlnmI>t z$s|Cy>sl{)8b2Ym*_iO-{ql-MLK@nN*JkFAHauO{<%TB$_phJa0{m4@Ce3rv8OZK9 zEHsu_@0na4>+$?p*GZ7x%Vr(we(iEG!Hw^X?K|;(cmMP+fv|hVC%?51dF|N?%vYF9 ze>A=EQnfZ{C*21WFfiptpqO$>Maz)05L950HbM4k zrlyLoT)%I(l0SwI@ByvvOkZJf=En&nQ|P~HzCc7Jha^864Ac_XJ6O6jf>6RuZ3Mzq zS-~gF{Ei|+_TOSgVvDKsPtQ!UC`tGz-|c_z9ztYan`ZJoyFM&RfmIS})LJl>p zw)*EJzhkcRP8zG1MpSKm%53H6lFM3{l-fszpy_-ET@jwIqlCuD_cZo4Iumr&Ui#7F zAI@Z)%`Pg<4#^J>koZ$9)FcA`!|S?hz*X++GhE$^|1#T7bwga9Zm16^_{}7xk)$uk zF430!UImz8kheyZ**G= z3A352B45Lugb(-{EwNBo9(<}5hEy+~3v9_{RoG=6sR?wQ_lWg(AWE63G#RxUK4O-~*GmF_HPcH*(pI)O`kzuP=tp9TGi6G(4H zito;f)ajI#m^^T{GI5KIIrapwX2P?}Q^5>j8=cZ6jakF}qDdS>XO!Shh#1(22H;%L z?Gx@gt*s_tX3CTN53je7+RoKWB_?yP(J&7Imxk;RHf*c8A7Z&oR9C~!a7I=-cOBLGs~16>CR)=~OdNs=c=$Yd(dar;>}=KaK@RkmoUf1j_jg zpAl9AqWI7O3)P*`ll&1Ew$4ze(q-%ltcr5&tzj4S4H8q&f|SMtp_%Yn!jDE4lplVs zLnn%sAXjyV#%Jxy6L1d31x89~tzk;VuX^(hr5Dx)c0a^xPw>0J+ijY=e@cYylV*sv zXr!+?0CiYE-G+N=JHoDuThQhs5X-Y!L7C#Z7 z_R`OhL+Gpgf>Y8d*rk}!SrDwtV)sKbm=5T!@s7~X?A_wmx*zOadW7RT_5Pn8NdFBN z_fI`OFIx~o;HvVGZN%E0bFIAx-N|rnMBD8O<>06j*0*ecY91$C@eLGz8%9%vzv2p@ zCRGmg4Hg}kQR5y7y~EFmFWm$r+=?$l&I1}nyX!0MsP7Xkd6$5XJ z2z%}~7_ZFRq6Kg<-!A=acpZ#&-Q#G^I*o_YRZtJ|<51J&d;37QkA^jQVd^)ipCjrX zQ^yH>Ufi_TwCI~kPUI22{ZQXbiahAWHOMdW^iFLb-l;zJdN|DhQizNeW?7Hge^Q>d zo7U$Xq7K>`Qi-*n6VU^f^KWNJQ+7vI`~G@cF9sVik?>gxnI**YQizh$787hHyrnRc zM$OIHA_uw{yduNlt0#d} zp?MJz5)OP07pCVBMEl`$qU^1g7fR08gbkGM$egzJc)0*Y_4J@_Gc(IVeCfp1{78VZ z`ml!$z9VRLG(HMDQkj5U9xYg2ReOz_W1AdzYOaS*@s2{B?xn$6m|@>lJ@5u=@1a75jQ;GrUU>9rdng17xy|}kXbdMwx=!Xx$8W{;!ks6l2)7#Xts{}=fj?U{ z`LaV@4HA!Vy1%dl+o3kkbZmYeXT5dnP__?a%f@w*-Z2%TZdryMh>RC$+Mx3fnxAzz zr67odD-s;Vk*CSm1N*d(-W{^4F~ohICT|@=F*jK^_5c-9#x(KbU4>XKi247$hp0XX z$A%Y?x0HY9EeTNiTRs`2Hm}16OGt;tg}GfWI<8g63+}}ULHwuvcsa3673IH_0NO-_ z`TYm+P_cftX;w%HUgb~4VjpDG1kN^bd^N4$;phgoM@xTZAF2wM4<<(dz)ga`86h9$ znH?h4PFcw!d8o5kz*Fo0=A}NS5}kgm3gB@^mJ2F0%Lz3jc@6SEjgs~c(#y0)Gvgjh zf#m&%S4?>A%aig9YhcS=s{>Kl zRPUU_KjlI3j}xngLu?l$3tZadQHSP99k;m{xWRq!+z8x9kjX`iCMB|**$`$NE*3CRZ2f(B=Q_)tAwO?M) zVhXz*@r8Fg<;30Q2;h!@mcP~hfHb&9Kn^M7+aYN3ql#$js$-_nT2hci!fQ4QoD$+) z6sadkwhj5cErc>!hTqo61(d*Uco%%iZXpZ)g%lEo5|)Cp|M~M}CLr&^_|yBN3M{u% zeBUi#v@^#Y`P?kaYDX^a4RZm{+&2b_*UE6lSKoabg4;R@S zJY+TFn;|6ZrVeMB4K)eDRaUuza=`JmC?Wz#`4K6T z$vZ^mJu62y8GE|O>@}C>!c}fUZ7vZId#oCRJDPrO2U|xWl%_m#F*ae3ycj%@9^p|} z1Cu&m1^)o9qUk?AQEiiKIr5La2Ui>KFgvJno+pY}t2uGz>5B2kHdEY}#b{j@pUm8A ztJw?8k8Iz%&R!GV$>l(Ewci|PhQy{#O_tK0uJYh^&Fo!*vF#F|ksEDM3w{b6=?}$1nwkd4B~HUN5k%k2$sr zPj$l63uCi8*G=xh<@`--{(>p+1#M90+@8II)W%Wjk<0q4jbpTiMHz>0pR=YxxVbUm zBEx?}QsCtiLBN{)!grf;QQZWXRcqRVDRhkOpQ8otw_uKPa~kOg;!~-=K{-yp#bj*W zGIxpx+#?-{-W74oN@fRP#NsqcAN~?t5veASHUkOKSTIEcZ+M``mb>ABB}{vsMUd?E z{1PWqJ;irg(^yyYw$bNA!xCA2fKqYKaXItb#zWT88Iim~?KR1kfAc^Z9S)>WBL@0O!EF@pB& zkOd<9>*X3!*P?cn57=YqIS&bvNZ&cJu8b#u&=vo&NFAn$&yRT9c+~Bb9D?$l(kB#` z_4qetIU*`Lvq8JoF_&n>Pq8beYyj0L%C~~*^IkbbJiAY=dm8}V3pt0)zxGND{y!63 zDv_NnMfOJ(m{;(blMi{$s)<`HR7_ANNZM5NTe?ku<6?7QRDaoYy}bXI*XeuOCyEWo zWpr#C6Tvhf(CuPz&rTL%QbQA$@Z<+jTmAk^+TA6SiW)@ePg*;ZQV!V=@gfDd-ORv&H6U4tJZr-mZiLdF&UB#v| z?z=2J66*0;2xokoB;Atvd%w9Ccl|k0FZY=j#w-e|&0Gc>Uy>k_t>;@XWt?|JZ6TUG zBS4VSFef_ls50)~S%5$7UM0lR-%>1%@gsJj)WP|bt3TMRT;~~2@%OxGEQuU&MsOkt z^AnF25CKhi!%3UG!WSa5%&Ze}V~;JwtLDk$;=1m}!EcS+(zyRyvU6rr4?sHiI-G2q zJ7J?v>1qjgyrF{qJh#LsXbERe(BWRMZc}+yG>NNAJmupS{x)t+{H+8^O$Uj|Af5v~8{c#-?+ML0I+kM`e^>!nO5iZhNPb zTC%ONI}-A;;J>$et*D(&f&Gt3+|pAH*}~ZV;AIdKg8xeax-=^Rhg|1EF9oxjc+vuv z%v#$Y%G|s83bXaw@dSY3x#|1y=jU1K+kObw%JW^KDI#=iBY(*(-)%2)%!W+lqWI8C z?vtK2cx;DjA6|yAXCN<+B|7AyA?CBeu}QuktBdT<)pFVAmOm6iW!CO%hFu-?fZ5C! zQ;vYK)YLifsX9@aMYS$bv2T=rFGpvWfL-4nDRinXW{5#6oGpW&&6Y%kcuMbQ#-`F* zVUUtdU7&kucB)rBDe&yu_yS4qQKd0FMsi{*zaK+YrY zR#aeHY-R*G(kj)Rdh#*MbOD zES~}RS7;oe;KP1b_V7#ct^dBb_SyYZNq^C%`{F3k&cfXF?n{2jQpQSS$;zKUC)>)~ ztBMGjI!$8bj($Zivwm_yCJs{CVP^vIX59c9ADU4=E`g>A+(bsoCwMKVNB+-n6X6D& z>^0oMwCuB_Ai@uAjBU*FzcfDAF_Bx=2we)euMhq#0^HJJhD31KJ}mqr+A{7gJW9$@F^?JuDD~=l+k4-~WFb2R`3|=7?0JXub$XNrA?4N;kyl zV{wKxL%RL#Y`wgY=iRw-Wq!JZkeTDn)>ZN#<5O0I5^_`{EKbRYku?jyP|_=2Yr;Dx z<9ccAGM{&m&rs6P90Q>vG`hfcLhi(ex_C}`W(r(VX^Uqo94Cd{`WW7}NY ztOR>_3L`fJn}=(>5xJ0R{yasI*5f~ZH_PN74rFe-T#K;BoT^p4qEOM2-j^$vhZueb z60GmNr{*JAmE4q!Koyrh1XmO%^t#$MJE++1EY4+ZwX6N*9mzY?9S+wh@J@Eg>f;`C z{{W(OTcmX+_pe!x{U(dn2~q^$7H59Vh~K%0jfDexJxJE?=x|2fFG9h!+Y0g_(}E>y zb)6x%8+N_TMBs!KT&s_T#l&nC;Y7e~d`?)(wgI((KHA|ao~+V>^R-C-z#rJM0xcMA z9X<3G%`UGOGi(<6*6RmNsdW=yv@ihUX>#KTVgE~;>i;CntA7&aOLHMor#=$jF5TY+ zyDmH2yLNOGWO*p8&p7wxEnz4CpuT`N)0W?o%R)<8NKK_2#-&7}!>{Hw;D&+b?3Sd< zJ!4yxLC>Ht@~Mr6B{#TtbNieq&x-#Ee1GJ*#ZED8FoEaMu;my}u5JLCT!J5~y?6s^ z8pqdGvnoN5icklU)*~)=td3{&u3vol!kw;aiI9)iea=|IW%ikA+THCk3YqQtM0_9r z2IMuudeVJ&w>DN4?2@*H3}?K5rs?OYD|$qE3#j(x#0=jcnIDNpuUCCu9gbL=AHNRB z;9Am3c(>_dhJm`nkB3OfcNK)NM@}H@G)s+j4d5!Ew#XE$>_6_2u79vDk!84{oh9u1 z<_oyJEN@o*)85~P*N6C%Bv#gw0kcH`Bb=G|C@Fc$EP>BYKc(>x9?KDygBN-?o&@1i#*`MBD%6G1=X3h9e^^)hNYLjtJ0$|Pbdpke)IPngGv~D#Z zn*;v@aZLkMHNGc8I%=u~H0m)j0evn6RSH}j+n{0rJe&-tdR6HssMpd3O8t5|y7M6b zGh~3%Dch`vX8?>Dk|X`%_W;u;SS zRN9~Mx$^$lW=`d@WoQZGNh$mTk2GtoDT=V;x4!Q;GxYdw($khjV0nn++Zk#=Mo~^5 z`HfYFu~_kx96!%c^zfaz*UtF!W3;vhV{PZV5*I&T$F@P)t(gnv{ zp#KKblSzZr2FPsGtvLs1vHJ#tox&V#1++S9q6ghuVZ?rf1Nb|+{N(Im(y=afXiG|a zH@wKPmLQ72-Sa*Jm7>I5&HhupMAkw>OaubyQ<+U`~hg2LK|~# znmNvrf?`id5=G3m!T`i3;H+&HDo?)7)dk=y;Gf{0&C^5C##c>koFG`kA@F6Q;p0c~ z=K191VN9n}P1zB8a=!k`YmzkZ`q9=I8dmxBx^3@G6x#bTicAvZg(1ukrp=T#3)uk8 z0+=lQJgPEPj%^0oW5e-w0&SO=!cwd)NkGpAzwQ|ewT@2QS* z8~vaXQA5!Cp8#_5?6oq#}vqk9WF3bqn)Cx#ErHLyM+^?)mTk%1lq zO5+)*$%ECxZ{Qfg<%;aCdqbT?bAuuIEON^HR{ke~EPV+a2}!~k+l(_OWVaC-@OrEp z+P$GWg`$n+q_4znM}(V5UXO60tJb8SG?;QmXf{r*#I0v4@Ll*S(?rd}j*}Cf#Zd+k zf0Qj>slGHt77NZzdhGFpS%<7dZRJi{K*1`T7|xXFOe5xUdw@P5`q+;v!*0wrs3m}9 z?+x-LHa&$xB+9yQXnqeu4?t*dLn`82ryU34$G`I!6hu`b{vigg>ouSe^bqqt?67m@ zbG!~!!AB3>%m&ZR+4sSs(e8>WuP&>^kDu)Ka9*tBHyBOpzRTM6d!~epbDPBzso|*$ zfe(pb4DN{GG5?b@ZKq!2A+KiMXV~la1aI;QPf%(Q5$&Ba5euE@MuhH0>FxI8+iA$j z=C$RHaKnR8|8*hgj?aWB4Rt7-pD5}ZH{8^)GVW&{r`CD)7Ly=l~;llks z#>tb`cfS}PCc>|3B2yO_T3r#vt^~*a@Y zp{uw@cv?C##_-6OmC}p$XAOR4iKb-q$IH@ymOMn1%uLWa^BAx$x)?QPYu48@F z-l3Xs?Rua7z&gZ*g1aSnADb}zh1wUMxYag|ycvpA*}l!EKnP-_MVgla1-|K@=|qjg z3Nh+6v8mqo%=J9jbZf7$-9NdJ*{P|a0E$G$Tq2(dY5nwDLSCpA!KfTlA-vH3EN#Hl z%(}z-6kZ~sFCwS#70mE#+?BMhU|1EA8h^MEjB(?b5cCI$KZOT95Ck7+p($V zIM$m8tA~NfHqn0ucLcPE9Xy4oR#0-w^|Xoil!?|ZW$&w?fxZ(Yo(_vYw>Q@<(>Uy^ zN@&vU7bL)xJ)u0A2PGGW$eG$TtqQ-j>VFS4q^SY_q;~NM%3R3%53dXJ zlJq{?5JZ!OuH?wn}{L(HQj2@A$^3Jf!kSBP9O0awO#0bUtq*Q0u#V3;&|{ zOleoKVV#K-=Fy_Yg56_)W+5_BI>mL%h{9gkTzr7_d9!Fw%4D;$$<>Pd$zNs$E%@D3 zI|}}G8EiVZKFVT(UokrV@Z~kvXJtSh7MU1B$&MDaCs#jn+41L>_-G(_I7nuRoVG6M z=pD4fIf&InoTGLd>+>rjm8;xp5SKmO|FxcYVTj=G`nhSGYx^HU zL{{;fS;3iL8cpd{v82h(yWa^SPK01W_*>hUhoKV$ao^(nyfk3G;Me{;N86*Hb8Xbu z@ZD?pe|T-a?!gZ*)i1Ymv9uU?-%m~-@>gz5%w5S6sgv|&5Y~q;4ehPV!qX8nSEl8w z7^IL_k(Bp|aLION3E!u#czYoXG~+^Il$cSUkN*Ug;4_x`X&j+TsbV>dMksQXX4hGV z-Do*kphR@DvYxZK5=p`QkcTHnC5b-a9Wy%Sb+ zj<+#gnu0U$$3}>B=UJJ>Q=j-dXM7(F61cNnR&FDsY;xIq6v!-6VS$!J*}P~^Q*H}N z%m>HLU_590OpH}2dwD2rEs_zfAWMyJ(99fu@HOW;27&Z^D}8F#1dG3>;vqs|JiM3lo_1mPx^`!ZO^lgzywzpTq`4B_Dla9 z5^Vp$X<4!>r?5&4ZSaC&;9G{}3JarOxd2%x^=dRai{o<)B~(?Y-z}K9@g^Chu`AFmqS2TL;zHR!ej3E|HC-;Y4^n~y99g|Y^ z(b6P+9#_L8>u8aso#u8Ty>~Piw!ft;BV~Ni3S=1>Kp=AhB>BlMP%zJOe=+9RI@(t> z5!m#XD^Jfa#v4mS1Apv1w8*~@<0&2Hr7nts$x+v>J|V5q7XddtjrM1H59!Lom$%y(tBN1h$VgmLBM>Uqt+pAF6Xo{Cp( zw=rjOPGtzis_MkS3NMWq52Gr4rbvP=L9ci-ELaB-(sDOyp<<) zONcbZ*Y-p9fApHZyHm;Ra<@oznSk#6SNSQ|5Q+e*9&UVFIn=j1k?gjlJmbmLkp#kI z&fiut~X;-L8s$}28xAWE-xD0ee1UVs_r!{$S za#I{)p1$+u{E|)hYRK1A0w`nXyy>L1dpCK$V1n`Md-z#)<`h#yunjK>%n$o%uTuq| ztjWaLzN?4jARyq8MK#cq=(qo9FgURcQyB)0Tc6Y38@{Mf>NX$^&Ed~#PIrkL(L6DL zf&Pl1uxluypjMs|a6`Jr4&W<^DUQkBD$CnJImi*f~i0%a+)ZL6XHx2v`ueCLS z!>(D9oVOm@myuTF2fCJm;&Jx(a+&Q^KXW=!R94Z>;CG=8cE9Bou4>R#_U`oQ3vn_# z-z>bj$A<2}LTh4mn2@pa#XgJLc~KlF79CRvdjzc}T{Tu8;#f44VfcWYTG2d1pOyOO zWNG>F$)s~wnT;{_N)_LD=wwcpT7Rh45?~mEDVZy^j#eKAhyl`tU|SNLedNw?As=@2 z`WIeifvKMX63ktz48?|gdFovSON#p&!v0?`DabwCdt!suEEoOljNV?7Q%|fQkY^rh zt0dgAPCDw$N4H$B4kx7cqGZ7I$kU7pwNA(&1A0^0BB8u1j$y^Zh|u<_cUPF30Qy->)+A>=>2&Rs*cV84=lP&P@CP;Z?N?$+`t8B=lO z(uB>LNDaSR>I@J{#C@S~7Lr5@wAWeUQbD`g^P;AQKtCI-+uJLlms)dSz<(5xv-|`V zmNTC9)%N<-1pkts3>gNmy&E(4RO50e74FbQHUCiF9IcUUt2YzX>PrQ3!p1b>RCrS$ zCYbVpEq}%ecuW4zG)NZ*45G|2@<`W_wk~k;eKlVBBL4T*A}fIkeP7_VI6R4 z9qv5sIXW?AEL7gtVkPugRg_0lUp|7{n=9#uBRl$kRh9kroNp!EaPqQOfCxxtH>%chJIX<_V-0prS8?hmYCgXl~ zLc>cli>#~wBdwEDOHgr*@HA!mLIXg}5_N0@HlY@69D(wa`m-J<)_xQb%0zBW5-rLw zGl}ptCjHHw2)smVS1+};I*nUTIcOKF9Uky5_q6Et64A=>{~vd#mfSynG5x>4&=b^y znup%GlfX<$?=EGYz#0N1=igiJh?r1EL`0^gYO*vOWl)f`p=S&#Ayps+zT(U|9j0&I z4Y1gJ6#hWUzzwPX9smMRrr>xm#IzmqgOF0%KxBGT5!Jla{#rmLR79w)*QHLTD<#1x zi791%7Pny(EbQ%^2QTPt$~B`J-aoC} zbHq0|XC;(>J6JA=G5+k>3`dJF-**l4@tJuGi^llw#>CLeJL)154At_gpvw=q;)Xvj zZ!?at1PIvL+~sc$8?GeTQeKC<5=T(KF+J$SxH8&;mCizZoDMIPuGMqP1X1T2!LKF1 zUjBu;Hn69)bD61;{Zk?9qvd&l#6c9^0)6w?@An&Y_4N-%wtjFm6I&Q$wU#EoH4_cpw9LZr{`)aR6ixV%O*eEH zv{p$on|h+{EVkQOzANgU=N+j*tzFwL=|Ao`-`;mo1jp#dwQ$U?lR(}98eUY+yvGhz zD*tDUg8be064^aB){OCIR%s?NeGtu|(38X8%X~$!emr?6tDSQ709;>Z((aRX9L5~J zme=;!FfUI&r#x6r#_#P{m_BN!TD-T->!@&Z23&HF1~>Q)VMmhXjiQ1gP!4@00;jT$ z!gKuKw=&k0q71t?_4x$PkJC}X`G<;(x@XyI!2$_qRT93>ZQ7~BhIUx~sp6C`*e4VH zjdFgKw-+;Gzt#Th0J!t7I2|=DF@mx01zE2V^W8PK!J2~d`+jd*zb5aP&wL$vdKh!OvB*PHBjOVIM^JNSfxC!9*t* zyLHN&d+!1oS#`K;_>`@SzH{l>3!4;OcoG;%YUQrbvux zApx6Zq8WaYNr?KrAuDoPxo!J(ugo!&AoS#j5yO^GajV@s#Uf2;%A_#sy9XEY{LlN9 z=cs$X7TpgH{O&Q92^(JHpcCw&npSv}%hl9!9z{8B9WF9d>>?c^<4eEylUwCeBX$hI zLtpiu^P(D|c;QURd(uv5;+y{OrOegW4`}8iyhwe}4X547sJno%Uw1K_ohl17mB6QU zLEPH-NQxDfu)g}gIqfuIZaQI=gIpzcePQ|*7y{)>ZNGc|`O z*7M&%1FlE;haC$lduu7Bviu;eyh8kai74q;8yA_m3nr9fADsYN1jjpU#6Mk5QlH~m z%i)~-89i(_ej=YzuX01w;)T1*B-g{PRBCt$^F~26j+I>dJhg{tSvDr=76MIs7TP1t zsICslm!@e-F@Nz!CvvZFA3D2iBx=4WeiNK4i#JPs8lJ?o#rSlY6%W6&y3DYIM%HJ+ z4GE1KB!4~G5*U#+VE9{USAH`@TTcFeMEwOrT+z}rjNFu1#0NP@e&y9`bs zxDPhC6WlGqVFq`1hv0s5-sd~#{)Jt;t81;U>g72y2LFhi+D`QH;JJ@FKQW3~r2p1e z(7Tb5+?b;6#tPd5v_yP-OX32jI*eKS5e0E)i@Y$8^+RWVIU_LhSS!|0=8M_&A~a2I&$Loq3SjHU`zEiwn(~I3!GC4{tJ;Y$D|ioXqJnknvEW6v3&)S z)|;DmBr;|8^Or2s4~?I2JhQe*Ry9r1?P*Sv*TR}Lto=fzq-$c!p<+XepqA6PhU-E| zfMCZ|&y3hd)-a>dKq@fNg$H{945-@Ya?IW;b=0V|Y<-2$zxErs8bL$bWUjea3$JcTd$Ao-AMan^r7l9O z5@*Y^Qr;pd!*-VN0fSbI>jw-#shg`u2F?x+Ruvc8crMz^k?!>c=nCFNhmMz??)@4! zglU~(7wtljIqxI`kDptQ)r&s7a3EFZ=$8f6Jp?u?iT`P<}AhAamz5g&@lu$?R^m2x-<-*t zq&N7GUObe9T_!1C+`Qe7Ong40J&V2R1y#zet)nDeqW=#(*Z(1^ccTe4rs3q9!ArI~ zB^1DhfV>?3JO*mu4HX=bAl`RL}Ts@{pA$IL=4Nv`n-2&0ksxOFG zC#r-$w+=NW;+){20i~Z=D)LgzT0#~uM=bh{mMBvK`pQC~ES=9S*ATnlwU2OFJ+Wzq zUOq#3&qWAAc*912*VehQ+{Xi`?qfRWn|}O=^J}kjc9&rpJuWk7h&jg*m2&1S_mI>D zPq&gZ9$7Q4&T(Wz=9jBi1yO~KKCx0S&$?cBQ3oh@2@eVj@qwLYL9V!PygE3B1h5kl zhmpqJb)gX?Lvi=0KNk-SdQ<;7@`*<`r^HDSUFM4}|mJLn!dsJiGVoLtUzIKxvYY zl0b9}%9EOeh$7}FW-$@m=0!Zm|HI?|HICyK^vJw-g*#8|@|NvG+0yJYd#Rl(-U*8D zgQku+zt5WfboKoldR{n@0zjyLUYy;yAogUsP<&m+tjAJzQD0nQ@KAEGdI(1A42fmR zz9nhPZTkx~$zgbEzubZec?=Y!by{?lAcw=`3734$arQ|ExyxNzb(AN#=!l6_`_6nay&5P8X z9LZ&cVEQG{FW-9xq#MBb@fMRnJmz)g>V8>aon;awqQLpb(hI6~7e!eBFf*4auTfoP1`{ zG1fra>-t~A+{zMw*=asglx;{;-KBD^q5x*mnGDs_<-`17t)lMAp09hK1xS&DH2l)2 zz^;D*TnwYGi!ORoI`O}PLBCe=H6stCGDLMYelY3E;cuC)iYv!lrv5F`ODaLW5Z&u> zskFE$!gbV!s73~+B-zb>j}GjfY?K0Uo%lpBTq~c2COBc-u=>-e4sIkAMHB);ZS7S!MxrBIKc{md>939$XUfsNSHB}7qEjn8|G^ zETC8O{>i6M`;KDJX~sk(qWNeHI;4z&B+`7`4c~!vpzy^ADhsG6AsbSU!M*fge+XoyiSAR+IaD; zUjLNK1V0eK|KsZ%m@h^GeufEaw3dr}opKdY$G!{K!=t_NWZX9Pj5(cD^ z3N=DX>qP?UzCY1B&^pZYKcanIa+14Yvf3p$?cC&oC2Z8RhRN$WTo$4toHiHt<73QI z@n>i8X!@TB2oimVD~$-xGeQ+@=@cdjGneaj>xdyn7OtoH6LQCO4bo$wlIHQDD_4FH zWVy`6K@`Cs$5J5w7;gpVZR`n8_AOK#AYGw0UJp-rwnKVuH7u>x9?T(z=sE!}DXlEv zMVA}hZz9}*gPeDdN8a&{LRwYlcR7E}*(%;BT}(f+dWM*X9}B!Q%JHOHCEGH-D7q#e z&^v8+L-=*l)}v>CXmmn73r7fC`r`-e-vKaITm5zb*n?)hgQ`DzR%9FCZnf$yh?IDu zoVXMh+F=T_#_UXf!#vPnx`Z4dxHmA|5}} z5hb6me$^G*ughqp;5I@=wK8)smx>EKTo(n>IcR@t32=Tq&`s5}kcsJVHS*iXUv9*0UT(#OV(DpOY46Rp}LoZ@Sy zk2C`7C_DMCTsBk;d%}@?p~8`eDZI^;pS`sZva(S;xDw{BdxSiI8{4@9f<^U5S}x;p zleqaZUoK$tJDeWKyK2=m`Ug3^(|w##;*HLzSIewoUA`KE#ok+i>SM^C|8SALJ-)Dv z#G8^DmE}QjVY3>bM+UuJ_d~a_&&z=|j5q!VSdy3`awlP>gb$B52=_U^U85=-Q>=+) z^2u!;?!NoCR5|SszJG&WEKb(j#-l(l;e$UzJtNRk(dSW3E2MfoS~A-E$iwp* zRpphf>6T5f$he_(KXEOWh0>~Y$tlw5{aZPCMYajevYrc? zowpFyQWe!Gj4x)=_ya8;4=lTVIJqm@Zv^)mad?qy5<_?=NAq9l{&4NR%3W zd$}ZJv3)Bf<4~ZU{+9MXBz9kvnpRd`9XzEvt=zn=&e$_ELqbG=*l|h}ahWNuV_nQu z;D3oh7AKXAs3;eG4yd(ev*vH4vPJ1XQS4&>FIe2-( z&eHXp|LJWZ$7<5?D||s;eoO!3i?rYndN@@#E*D_Y$Fq8EXAJeQKF~kWkIYfGGPm2# zU&^jiEo<{qFRb)KjMHxzEZy9~2SEdBUQTxqbX*9~F(!ySQMh!hZ3Q$EF}(gDO-~kQ6$mdm^^d4z&>t26hSDx!KzX6+PpZ-; z)|I7#)*s_@uzaj{3e*XTt6j#riZoLg6eE!%ghR@IRl{{*tuHTC-8 zS^VOV!$SFYOe#WtF0<5c?mWoc#!AjakN#bF$YdLBG1wxpuxpyJXtuUtTLsq`1qb3J zLil~!xuGG4I1lDIk~teRCJrlMFD479L#p277{7L$tm{j|oaOJlR|>Z_-zp+rEuC~A z%^ZuEH70-d_;R;S{FA`^@XPck5v3MuJ;u^`><{+sZ9n0l0cbC)Jx-E8KMk1-UOy5N z256GGpNg;o2lfE6&*9pOkI_HkH)@ASEUmiT*(t2eoM-!Y7R|)p^Say=9CD%yoh3r% zy!DZ6=n~j|&`?>U_RpM3fP;I{AJQ{Fzt%k0B)us5&MSH`1@7vIs2k)79ti1VQB;ki zuHm?ub%+TVG;69nJC^^AU=&tv!NHrS+@y%<)tS^evxM z(6$AyXe$=xYaL!!o?335PB!LyzKUJoZ5*+A`!Y+G%^&Em#JPRq<_YVUaJvl4z;qRE zaYjZyjy~>S)<+4FU}f=YK<8qO7uH&Bw_xA$(iHMRsEPVl!>r#?t%>? zzNmx~74MCPbCJ#QGxMxtlTY1q+&igQU^KGemvY|PEPi{t7`n5fusUKCxh`pOF;;SY zt?XKK>>xeJT43s18TJ=PD(W5OBJungVhsAb2FdAp&Ed>!r{$ z<%Ur`0~Vym9Gx<23UVatkrSYlUWgfLQ)ef{WEbI(PS zX%~b@@PzE1r^vf+-`4p%*AN>YSqIDhvD~p?u(T14sh) zRo1=6`~Z^&I=FVF86cC1eMW)_(;7?Z3}{|rM%DW%&TT*$0sjWuCLN@L&tNZ>& z*YPB8_v;{rdsM<1x?kKw9?d0#sa@&s5naG2N3F)OKYV_Cg@m9Q&*RP4z6!4E=lZxEo zu@DwMjA8YQxNFWqWVr%W;Ef2KJ-n}8$`>n6D7X4X_f1*PD{iXw*8J7s3u==4*KW@T zpOBWR{N%S30{i=_&wJjAe(h?5PdW4gg0I5pRYI>_NU4@*ShrZ*SnUdphZ_l}zAJkU zA>=XPj#t07m=~fswX$wnX*Z-FbR(JPvykR54?-_{<8N-+kC@w zA?z%~yOM50qsX^D9rEctn3I>j-7;=VQKjbgd%+7YJHx0klE=lCg_LVG7Y#cN3YHPF z&A5l`h=Nz0={r57{mYx3*(TWetU-OJA0WP%!n&6umi71u`1dG)Pp8|OuuLYD$47s2 zLrNQ#!fw72U{S}0{^itE3ARfAq3z+A+s2))%8R~A^8Zm;b&%e>gMq)eK#$;S(+z|d z8?R%M;7KMLdB`FuUryYm7X)CDJ0A?==Ea_&p!{*=y}X9Rra~KKuj2}*K_=xH@# zt;Fngv{Lp8SX%_?|z3V9>R<()v#vNk?>(Twf!qkgH2ZLF&fsPmr(Ph6H}` zFSf$+3ZdW)a;L5!oYi#_7(sUsS=O=KU!lhJhFm2gbbp<++{3Q31;27{X#}qPR=>F$ zm&)o}DOq6IB4|{2v)m$DaEIa10z;PS% z@j5krmQ9MIUE_&~@9WSJA~-p3dIe%yC9g87vu++=%%g(T+U89%cp@12ya zWhx*rSgDx|6D6nqTL#ob(C4zQKvlMwxxD^gUVFD%;OJU=j`Rd3&*cDD!`DG-myarNuOA|dK1@i~H@`oU{hf94Si1`r6Eq;Y2 zjK#hcRSkdS)9;xIb6*q#-Q-t}^|EJ8!P?kK^rwVv2(u3xEDm&aP?Wc)Fqz85J6C{i zsYa>y14-M@ALOkK^Kv@~KQxLT3$jxa5JjRvOH;kXJe+vPn8?gljR8ZhEazEy7|=q| zphOEWgg$J79s}9E3?^U)eF8#2c6w6u`OhrwK1_Uv<6+?3jtis2Q`SvUR4P0z1tT(Q z?fo#M67B|WvM-by8HII5&DwEKpr6}GnM-87#j4nb6LtjznafJt5i$68p2Nf|q!mH| z^SGQ&PUpKSlzEs=1Kg7DNmnP4tEh@#XxoJgk)Q7Vb`>wWGDr@kpB)11Xz5__8@rq5 zb=MG&FsDXB4t^qD-M9IDvG-qPq*)Fx%~uR@6g!9|?JLqo=m4+s=P~(~S~EV(HxhfR zG|ddsS@uaD+iXP&I0Xt{<-|~a*_iwbwuES6>I9Tm)^Xb8gYMiC(Hj24c>gJ}_tU45 zuB(F;5&o0Ga)D%BsqFaD_BCTZt5C%hmmi%NhvOCp*Tx2u&k_Mpc(hsiuOizBn4{bj zO`)&w@dkQzLO-Jdkuc<7B0rCf($|UQ$8g#z+I;7XdKIwNqdS@XC=7N7B_6_6Z@h7Y zU9x!Zn5#pgKL!ZyvD{pl$Drb`34ls4r)%^ka1>z+G{A&S5}W_=+kp_<6%H(wRu5bK z>b8go&(#yl+n(8D!D=ed99n}n0NDo%W6!Qdfm4Rn`%I?x9=Y|h+5j61 z8>ygf+Yv>Db{nEQwqe}xA%BWck-1+@O!@vStq5`PiG_j74%$e-LINko$a zxosgH?V@};UP>Qw*X&F3oeo5ktUNCY>%I1KK?tQxJn6~U+;y&%oG}%K{!YR0#5rv( z7Plz*UzIT}{ELG*2HL>cH*Ap>9r88C@+U<7OH-~CnPy;LPT)fz^tZ(r2s7$6A&?Wlc4Ng=tO-px8m_k~O^)LK;nn@Ri%^;bK1ULU}0 zZ=Xk4T>R8v$JFb;2{f6uvY(=qB5xdIqJj2%2zgwy4^MBr2*vm9YByJ`&~s{3sKv5O zE2q=~gJ3e^)99DOWz&-ip$4}moWjpE*5%~fstt6YX76;!N6%;s1JYetZk~TDxT$l6 z!=`!eigP#sf_b=BrH59I4AN_)A>=PuVOHfD(Jd5+DO;L|)nQk*_}eIPT5dnEKfGZw zx;4&T1&|l?&?BS5f8sHH0X1}Yu24z(Mkm{ep2CE?eK0w98FG$q*jLZ|6OQoldJ{{W zDJ@2hy-a~fjG%;oCcx~c+=MHy+di`gvhx`QHEU*aH*@W(HlssR!5g7SrZ6)m?#|c<)@14R z>WHo)39*s2PI3fbum%_2Y5vFXleWGwiB3#tu}hd^lV^f3#lDxr9D@pEaLPN3te+@$ zc(I6%OVW`6!(ni(bwh;YO91B>?swDB>9ky4ua##nbQHpYK0J4;eDZw>MCaWv2XlRo zH+pc9X+Fs?poh;4>SfrSsU$^50QO7Ab3QCSp9^CZ93kJs*k7SW)}hTPLRbWMwc1#s zmr^^IRabrO9OV-o3_WfJda&P5klk1tTXW(T+L9hKUPwnPco11X(0;X?Joro7p&CMt z8X`pkjW*d)iCQz6I-C%-wx*WGB}4Hfj@_cU9?VR&f)fX$KRJufAekfgExPm(5u)H? z;SZ)OSVW-Bz}&-};d4mx5n`tQfDqZC{RHl!_LOhxxRglV=`tjNJGca>I36PcSu`;O zZadSl;EsFotXUk`&i`+F8$(P#BI1{wrvFUHM^L2f{xc!J6S5}6@xHsx@F`JPb9+}z zqa4cA`JTz}rX*PY|0d*qqLj-f5XMR8c9Wf6M9p%+5!Oy4X*4{dWmmL>ue3c;FUzpV zS&930a2oEowqc9}C9O3<2Jh`}9pLrlu)yj7vzC_xDQM0*&DyG)HP{Nnq*homWBkxtHgRpz z_Dq@=TmVm!I`#>gxWIQSriFMjJY)bilqs5xM+><0x}z5QZ968p#e#32_!FIN?pr;4CjXE{$(g*F74R9-TZyGiW`9xuO&}?bA{e36X_jDS{|-z4N1<- zCgBF?ZXF`IR|yu#DXOXogbqjiSmZf*TDYw}FR{2HP zG3hL8b`9+fr6Lttr0Jr?jc-`pp7|H(XbK@^=K*T+r#653+f0t;$Usfz={^D}BEs@W z7uXjD5DVHJY;JTRN+8-vyvi;e2NmlHWC{3(?KEt+N1C>G=*(Dh9+X`3;5cz)Gj8Ve zoagMHYe_5KPdr&UNsbL&x%^u+>}?SWtvDV}y^DFQ``T%8$5WcSad{b+z~VhW)iDt) zx`qUxLOUjKF8S&1W-u%(RHMjf`jkZqRr+@D^r1g-3EI>?*>ELExY9&A*W?8ja|*7R z3z;WqOrPAa4P3v)0&feQl}*O;kY}(UX#b(t`gptQ<_Yg&#puiQoQYwLVwc{F^rBggh21_NyTroU_okn_W=!4Mc& z?q#+b<13oXs*-uYi?Ctr%-Lm@l0e1((bfS+mx5C;qqzl-9eTLBX=EOjPX+yZx{ugk z;;Z8Ekc74G)l#-)%|2k#L>{+1RebAU9%Pu3hkk6Il28Dw-usNOG$GzE7kzNo+&B4) z!sl*jkvY@zynWT@{QP#YOZ}B?bjcPl8}Rne<;mL-#C`wR%Lt7W(!hG(4XiE4q9T=^ zeBA5>l7+5Yd645p1+sx>b~kPK1mrOx<+xeCC!73vER`F^GzGf_j6?PJqdsXqHT%UL zP5ARo-zL%2Tm-On|J2hIRA$11raIhI0&~==|LX+^NZ#gn<@6<}+x8Qxst+vcZ zp7}_-rR9t6s_qGoi%l|_Fk!us&y9uVmcST53)@v}5_>IAA4af60;9x^%Qs;2UEo+} zQpa%m4{!k56WGDb>3XJ)xdz~{4aR@Lh6GG`KZp{W&3DCY)*vPCq{};-j zrza*ACteQBzIvOJ-atATn`;558Hp&kGKaRm&l>&;wlMR3xSfcDk8Za(U@OI22^A)gH78o%f!yQ@CR{<}htP?YeXMg)^n zBN)Ajxvz{BC`))jPL3uGbA2X0)l7NjU3SFfnEJ$j%BH?lXThLmPfd2)!7;3QGLprVtWd zHz*1N+UCiKv&P~0OV}=ni;~R%i9cYQ`r}AgM;-2pm)hYJ1Ez71CUl|HrzyhpeE99W z_EH-d+kpK@x4FPwvQBd#I8JF-F@IA{^Fe{Zpym{nKY zq@1&BU{L^Hca8t3HS2Nud;v!qADZ$nI%D9_UkJyYn?>$Y5xOQt8&P~UEZHgnvB*lq zRR3eap8vG1p9b$?=x??6L597a11=Mt`nGXqm((Eter{FYOxTb8XH;b{%Z22?OJq`T z|Iz`^r7_0ahu77w3I@~d-Y!L9JQy~x)O@o}OyW*PzjQ6#ZsLpSer0|OW86m|Pca=yzlUKl>i1EaZ2P>QPm8)DBn52Q0S?KqK7CYyez8ffNBN0<-?4LI0nG}S z2Q-?MQ>aLxf8Fyt^AH`n;v=4KJ2*|Ia4OBT58MfD2i}NLGavF1KsKDNQn_WW0*Gu;0sJ6S+@J zRP2uv+(XDzAKx)$A0$!ZLE#ehCAR9nutD_S!>+ClTGtH5QXEqw&3l(aN>DXjfm)5B zSfU~8A4t3AI(Znb^Vy*(VideEBA0Bm0TU=QzC}Oe;P*E<=`1E1rDEgje60eNh{ma^ zJ*CbL@DQAqV2ew@xN}vT5=Z1F&R#q86l$%v=>6>tiq^Q}wi>MYE9f>((m~UP=?a!t z=?aYtlQKJVzS;hlw%RioDf{zckFgGL5kfg;rMXWJ5VfVcI58x0r+=&;< z?InKCMVc*5xF>fG*t2DRitgvp<@O5Is%lmc)#`=A59c13^E6ArQ=Q+8RpSzLbBKw`Jfv8P#c0U++01DFsY^HoU1M;%hxm z4zN9uwo~(v%Wa2TE@J9bOye@kpr;0r|DVk0sd+E05!>+$`rJ45aOzf~^(~v5ieJG- zx*&5>1wN#_W^$JI18Q+1@XQJiitt%{g=d6d%vZ%

gQvav~#3m(s3Mv*W+zH3D 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�y!6@LX3b`97e3muj~*$ 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�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

HL!JNpkF|cX^zGWSes&WAu;Sa-kP) zKis2EjLq!Afw4xB@2qJs4AeXDPh1K*>NGGdBK;s;?~Xt1z~|bT;o(MU(h-I}HyaCi z#m1in#WITvXCHY_zh{W8F7~YFDxgM3a4g#JVpDEyP0X2qPe*NPkd2C!QBS~}#*OmK z*s<~9ryBfRdnkz2gQI~&;H#$<<@ByjY3$a^T0)PghXJ@ClhJYaFZ}=ef;L`9!LjXF|oc#|3Y5xcmE~ zPuEO*%R@yu)|r{Ve5A>MjOGVXIlO(&?TMqVsA5De^mxn13zBFQS?dI`Zq2*cu#KJd zvcLBT@F`Xu(KV=t?>`FYL$#@tgp4;AV(x6~MiYfD^`eD#3U4x*jo*T7Yu-*FoeNj) z0KNAYDbhY>)kD35<}%mQ!EUc~{^9ou1Y3{p<6m;6D&4Bm!bZ{ZG0jv|t1QhIRJmKJEDBv#4Pa z!<9xTu)l*DT&5&^Ub^r&cWv)!{SA`AFtsmaW4TtlD#X;N%sZ9tP;Mn+4Ry)=y+@So5q{A%LRFs zZJ(=0@o6-qy??z@|2yHMbfA?ktg1&7ZBo9|aw!f@l@Ha(P!&lKVb@Ys4VU+ZAP zYwX#M!qCvP--^D@t#c*?tfqfd{$F4jWd;r6(jEk4Ys6Xc0IaiEQ<_}b+$>tNBYs2Y zP4#EAL1ZUnnQ>}GTq;%~%l>j!F(1_Kego1m7Cm`hic4Jh9oEN4Xb}B5!QO*GKy&<_ z9kV2;&^Gjt;n$~i;)#y>jVjF?0N&9(9LYvk02eO?jvTl%F?MYzK*w4Snpve!vbP_2hx9*$AwaR^XEL!BO=BM;{`E5^8 z9S4?ql@^!oQ^S9ImysN+y%c?Lv?XSib}!`iPQQg&p!xO_G1Qc6FQla$P7{82Q-cXi z6DTR!vu2=*NgJ*4K=2iJBzAZG@#mZTg~VN_nN0h6vBujQ4Ym$HWyH1hVC)ztmzJgt z11`i{(HhYqPgcV3c*R*fWVoB*6wxndP9+};S{x~xYs5cY0WjT4Vu;*jK~fT}*&$?@ zuy*CwZ>`*Utv4O`jSIp5YHC^Xr`Wu$r=8b}242>H_4~ zF?|wPI?yOD{M^EnYtVTbY;F8}>?jopjxg0I&p0CtnJcBiNk$nS9wj5sYKAq!=JnC) zP}uNGBoqV}p+=QP=QSVK&$jR$QBq=W0TLRY+w#qk?meNMA|qs3|#IiSbbfyiu43R2(xVN zv9JS-G|z<97Ht!Wg}kmb zC?I^Z;C|2h58ugpiwL;-lf!tc&U$5vDf4|gO& z;_tph%$VJE$!bI_7opz|NGPFWMW%tBqWLUev+E~qrJtfP%$tIwbG2brY}ny;TS!9E z)ilfZkC=hrde19OPICdyqeR$t)Iw?SPDm5(-XgXpvTdfOFMFP-2 zf{{F7sybM#9h^{`CP7M~N=!CEOcqgmmevM;#;S*-!_9{)*S^>!a(50~El1?S?>eM1 zU;OHX9y&{BSu67}%U*8yqsSs%sz|0y>Qr^Go2X9|tri=geI!WQaL^a^VZ``P(KADH z{gMfEsi!Q0OxVtTbRUEGe2P+0G+HlPjHL`gliF@8Q-DEvqn7*U#q&HDS%dh$dT<5C zp`PD-1K}i#M#7h(>L>@Mia3}S2?EBy)r0^Z8giO?8YEDjfPf|t+RFuA{DFWaT&s{L zrjChWl5Q+OxZ`mneBhETMBJ9UuP(DzzB7?@x8dZxd$SbiTj-5vv@JYGOk zWo*IlN7P7y2L$sZuuD}*tA$V7iONzOY^8RUSynOBHIOo2W1F4WYWuXh;Q6j{O8Ca$ z**oUg^X9pHT0LP3wHBJPA+-BX>y?ei&CF#e3lnWTb_WRoQZXAVX;5v5vBJk+^1mbe z7W8ku@&tfY#yjV(1Q%ae^Wj%RS@K=vl}`Ip|H{xjj+zOqez7F1)FsA=3 z6*GvzVpZU{0XlcRqPPy=R-_s!4oOGx^_CVWcHBA1XjWkZs(}jKUXf@Lb;po|Hi9Rw zm%^}Ya>aNiA(K-mCEl=YV9*Ux-hgJ3T>=~9r*eDk?uP~z+&U{Utxiug?*CgfD$+f} z{XpM@jv9|-^pOCkR283gnDIH2U@@(ZPlv0asjd|}NdZ+CnhZ=pi~g5yAHE{8ct~@J zYwWRzl=Rg4G}M;QS_$teaT>5=cGti2Lcvo9-cQ}YtS$gILd4W_Vme|W^0qW3S$X?T zCcrF$VDhy>X!Sz zIyY>Sw0v)yOg_V`PIZ+`3}{_C_eqnn;qfE(wWlQ1MOk-YCV|ZtT#OZ&Z>>a7-5N(c zkXj@~%+-c?vDfFsE$?4-kIA~tuZm@alm@6L8{bIKGBNSl*+TaAgk+_i+p1S${Dk8@ zL`-BNm!lm7N$eR^Q(rZM*O^6YO?$>s6HWIu-GdFqzfr#vFyShH%O_w1ZGhb(Oq+~}j6X!@_HWVzUn4;fP==B2a+1c}gxV3Q6=yJgj7|4pzQU7o z%+9D(o;2#t@d}o-jp^Qke29aD-XZ*Ko=AR1TjKB9NUZSBQ>sd@&Q>~CJ_?L|s0VB!ET?~`2g0in<>u00zW8#&-J48eDzu`ib zy9Eo=?@qV#wbRXZ`~?hSyX;v3U+TsTArCJ(Fg4d}5*t&8#(qTQkI_QeSw z&6B16tA>twezw*ZdRnH~UiNNRvK7Lg6kh6bP1kCn=8j^J5&bTWvU)fbVU|?m67cv- zSGW~B@yAiF<3gk_Cj}p$Dh({Z6f?vCGXK_zT7!|X=s23x3PDVW7PSRR+GP69hG_}K zlIb$6rSImnYbl1^i2uId`u@b=m)4r)jKHVvb1X&13kBtg_mi7e*CLQcEzVNL);zL^ z_yCKvd7JMZbm3l-YP5Wprc(y+R!}bR(sW-TJaTK1Kd`?gA~CUbj)sX39%JPQC@LgR zJ9QL&&)II;+8XXTZec4bGVqY00rj*)l5wxTKNm*oeS*2xQBKWFt#8OMt1b^oY9+)5 z)8=H0y&V6s!r#yJ!lY;F=krq?_r(Ij-A55(vx5Gw9O*7e5#HfKA>(=);Bot%Qdqvz zi%o~jyMUV@#wfN61`Hf4h107nUFo z+O(5izd{tswU0Xg*PPV(UR&9~6q`o|M%%1Un4EJ}!$n@+$)4s2V|}No^@2zH0cf~{ zX;Kb;8*s%o&2^N`Ju7~G@&a7--)c{`@(ZG2$Ajhc7i2-ZWLj^l1lNwI zVf?RX&OKYkJLqA3iKJW!|9xyNWlIH})}#e|(Vjc;l?AKw-9;tjt>syDP7&W>_UcjP zkRX{$MX09va6fht4w9_G#Tp&x2kjlW0cZ|k;4OM`Y%yfKu1cNDO?Riz{S`GhVF0RG z$5iJiA@i>~)=mx2&OWh2{~A{NnlkufM_N=7GYH=kGlBku}yXzy<^1;O9^xRmv z1zKB2ZxMw>65raPAHiF&QCDZO-x*)7kT9eJFAj&-h#O)-9vDGa%o<iXEbU0QYm>gMCXqnh$=_8uE-)(fT!3}s$g zwx5!fxRA1l@aX87C%}>eP_Lw@0}m>HhSwsgh5X;x6ah>G?08Lw;oneS(S!LF=TXkF zewP(U;80q`n{bvQV)zE>|HDR>*Jqyw7BSG!W}Gy7Kn+g z3|vz+_^mC1GTRCV@NJ5;gYZSKEmIYoo?%{%ewRKu+d7F9KKDOaEu)$Nvv zBh*D5Lh>xj9X`Z1i%iUp2l`?%)G@-)>17_RPV1{m!igV93#~%gk^g|x2YFOA;vm&* zX&I(_A3C2L814dRdGX$A_i)+|zSK%rvJklrw1-oEW2yL2dh*o^zqUMO6wN9wO@F1B zvWsG(`?mS2yN*=wmJ*OIj&-IJzpYJ4U;v@LSrj6s=d-UVv1BhD?mi?_5XalhUp7o7nY)GOAv{$fD!CrEGaT6N-$6r_EEt1hEcT(v9%L4=f_A0iM_ z_Zo6#P5EAk5H#slK+2m)E){(R#-4EiLgk5YF!}k|elgE~kE&T(yhj~J+OQ3r+;Sx* z0h)pZC3C7_8gsN*s~VNxABPq?$1P_+=zsG13RpLDAlU#hZCb4hXYNQ#jcH(U!*SHr;uYZwpj$ zG)X0&eXP0JkJ@1qS^9b>ESWK!%RSx2{wck{Wv5}P35w3~^K@E44<2zst(PO$2=Ycv z^tdv3qYOQ+z5NarPNsoDmxMw&#>*K!eSQlwMEUPrWL^ZcJB1q;e~m9|8H!zuEi@+t z^hmV3et8SgYD)1XmL@U}JM-3p((ZP8A%Kae%9@EqS_m1W7E2L@_XtVgos*UgF<6?O zoHkZM$xOZ^9>9oVn)G4zyXhIABVccWw~AU8YP}OGWepvqlNp$yhl4YI#}2Kak~;KE zlOE^y`3y96wSSj)wVDnyt|aTL$@uIU?75+vF9Ui|O@7g1zc>BN+0B|dFHPs=)unb= z#|-{4G?&S`h9ZZTeRJ`n-!V+9WWc56Grnhl>a(-sJD3P*l$^n-g{Ug*;IpU@LdrncSSbfE8EAakS@|7Y$OI7pP6wS^Q_oFr355VpL@L5lJr2E4ML zoTRF9K% zBQ)tZWcCw7U%6$eB67D12A-Y725EN>YEJRGHK`xJffXs+K$hu)WBIPs2OZ2pTh9xu zni2;A2zz0mi7q%<&8qTl$N#b*77WZ0B<=RnSYDdWq8#v9d&X*7M|xg=UTVBl#4uQM zHym}Hn7^46vSL*{ia3W6~yQX|3R0VKII zFKJzH6k?Ogh(r`t(f?jUwl56e3w$@Puf;(38;*inO9i1-y{V@!WZ9zeFH!+8)*-%s z3WQ7Er4C5Mln~#uU;pw4W6hGwiPfN=JdgJ?$$Ri(3A@5p^ff<7{{kifY3}P;$A$03 zXZ?u(bmtgd^(7BNVv;zFBy{qpX$vr?BY`JwXE7U2Q8D(*eU- zm-+=P12#shvASPs><(i&7%VRmRKsi@@BU5Y_e`{5B@Yj`eqJh}hMed1PgfPm_fC4- z3I~rETB~R=%=EKc4!08oIIzP1!bS_C)Q#934w6~A*|*ctfOfE9NU4tjtY6Aq@2#mC zBnRgW{x~9DunwbF?F;c#@C;xE5B!k7{TZxU&v_nnizrqx|c@y%a;K<@sv#e zj>MJ@_(2*)14M7GHTSg838{L1pqLbGg9r66s13w=*7iDXJ~6#oRaMpdQb%nh^Qe5{ zg$6n5rq}vxurw6d(i4!x@!AM`sV+aoTYiHK_v@mCDOnSBGiU{DTD8E0e zZ+R1Y<7r4??M72eTN#9|?fCtPrWg;Ijm~ ziZafws5ZQM+1er8@7W4|ga7!0HU6Njjp%ZqLUd!tF`Z#zpjHe6aOLsv?9Zz`P1v_56^fUJd1x zPc>R&Ra1%q;4~<-5R80Q=psYg=$i+Wl*g<*zanbC8cU(bMsuV<8i}vBC_lS#?tz}w z=YY$wNCH&rFU3S}4fT$6e0y_>+ui4$iFT-_JYG}$vFoNABe-XZXreUNAaxYbcs1=Dis1*TjWORbUp(k~qDdrsA&6mv2RBZnTu5TN=Tm-~WK_Z0*XL-)Za( zHL%k)?m|(Px-2g(helwCLb$vF&66L3c^)j4_sgYkKmP7uL+2^_nZdGHNsUE}cFqYk z2?^q5(Lei;m)w6nIB?o+DRL$wL+EzNgD6N}$j$njg3drhqFkNV3mlvjL@dJ+IY4c!5WB_zZDSL7$VBP$L5fcgq4%h?dGc}w= zn#Cf}hO~u7x&#yPfZ{zSe!$ivnRx^^?`mLji9<;3?jIbMqk|}Bg$*{PhM2PT{vj!r zaV<-^@BvP2TU*29-M8J27I;rKf(wfo6J2%~#!<|Yqv#Wy5ZrS`- zlG^gz2nMx#`9XD$&ZjEJST!G=ZlFfq1j?T7xh;kmj)dP>5Z2Ss;2!GtcUmenlK12b ztgW5687;aw^{M^&c7Oc$chh{7gow2Kn8B!e`S!urF!0;2(umyaXHU__6ydq8gb)b| zz#XEhG?fOdp+~&9V+tza;9TSw9gOMQB5Z1;Glcd7Z2hf1Lqy!uoC?m|?z^Enjz1Zv zjG1xzj{!QvT_p-WezalGE1Fdq@YVN`Dz?)=A>ysv>o4E=Xup}VC3(=}LUvR6>pR8U zg`iZz?hz+R>;PTw`gKPoo%w>`R=xba)(FzD+(y2oukxUP!W%(nGgD#?6DaGp$=5nv zygC%7G5|aH+f^M@;mKD~HD_8N5tZ$!zA7|W^}ARy?It}pBiI-R`cV?{(mg8j^Jpa{ zdKmVqTy~IeL-l^tFul|R_27w zwt_RWKuk=P3*f9cU;6IBpQDTD?0Anuv}d)idyEx-sRBcwyzpQq>q%F!fZ*qr3blL7 z-9e}b?)9&X^XNq?tUiL&GmNkp^88-HIeJ%C%+{h`AmOpAoZv53$8I-)GL^o*s%vxC z_I@@X!Yfiav62``XuV)STP|hlQ%@(~>MY37izzUO6Uz%g&I9xeIM6*BIhlYxN5pbr zW=c%r>JsN$ZH#%|F@YOTQCMUAj&$W&>amxzhMbu&m4P@1C+EaDv4QFFc48zLX>_4R z+xy|v1P4~P=6KYjSlo~bOi;cX5}?$YX<6C4oXp$hqocRG@>bSCO1RGAp7Z;jF)f#D ze%`;IZ%ct6t}iQjG8XGc)xQlUZyx*gdgzATTX7ApX^!&A&8Zlu2wj}oTy=Q88Jt2a z?;3t)gtrRb9NTuOH(mZ79RlKx(p-9UmLJ?PnSBJ1IAYdq0$6}FEP97tpE;^W;9 zvS3dC;^N}>!+8aj4Ck-P7_siN#XaZ3cE_JjIiDG;UbOV^o^X>B>b9U9d5~J~97N6c zH>kheKkn;;9-)*>SW9{fe}{Rv`K$^vKA0Pjg|8`OLT#ob$qY$w`aj=qw)!$)&At~; zL(RANN(Ky06ZlqGK_y?snsA;m(O$bJym|ea_8*K!H$2r2y(VKgOqp6w8}aIZa0RGWVHV##eqN9iXhD42)clS51*ZoyP9nv%H?-(c z^`5vWLP#}GepS)md-3GxY--JGB0lX`@Rq0Pil?+W3;vnCPH)j52oXaZ%puufIs4f4!|5qltT^#3<`~qs)9e-hdVrgh!;%l z82O2bunU>q@pWYZaMi{6Ry}eyA;iuxG5yMY@3vu2kwq_)^35_fays`MJ}pOJ7}+89 zf~$s2&M78ZP?B+n{fA1Wd$PJ zkwsr}?d_=-#-(`xfBSGC;xx#a`T)weCMcuPXm5OFb>IkZ)06F=1=OJT+6ogr7?JyT zRa8^!?t_}Gz!R9PEkL9x25^-<&UH}~`&-p<|1O?e8)zG^-mS?8}~ zI>VMzC;~w*ftZBsF@_KV2CklxgmK;5zDxH|1_c z<>fe&{=B$Zi0d=HL#ktu=haj&fplqA8Jpi~nB#+~N%^-mK_)nvnGF+5$poREd?@;} ziJ@o0P7)s>6;y{%0*`2XK#w~W(C)Gt7g;OPj(hkBj;E>OUpve3sVKnRiIq}=YK1LbK5fp;c87p5;rIF(+n8U(k9x?9)2Sm^>L8AT&%)Z$ z@g3*ErAFh+)_AV#Yh+3OQIF4^oxTjYclz@MH7}RK*4-ww&s=?I{LAjVm~yb$YoY6= z?ggL6C)NC(|&Owf$< z-4>=8skLmc40v~alh>EMXz*#Ev$(92-n-nZQ}hN6*rU)=SOW`3?=C!&0>iH#GrYRd zdr&Hx8F}yc>$p&M3A=wQ0fyO~M*85gOXUSOgpkI|5Rx24zS@Ck9BZp%}H82|>3 zVW7v!GbFw+{0+j%Q8diBO&>uL9?z{f?yIh%qSN1+(cQH-rBS<2dW_{@-RN)NmnbRx z(%*lEZR|})B*m^%WDGKp+lSGW{0pNo)IJ=Y$XyX|9~loe zm885ys?V$RPl+^rad|IR*g|hUhe=kM6ejmtk@U!(6ua;zRO{_SbyUZ{r>6tWiRBbv zcBri}j?htZtL%Y+qxD+kFz7X`;2WH!zcX^CLf z+XQ(bTij#!8%w(vMib*5T?Ms+8r6OdMeUyTkIv-zcPX&~FXx7!Yi!aEKV9Kw9BRl+ z=xD!FcUTGGh&CK!%@)&I0Ef^my61w(IOOGbzB;K;D#6I|8Tw>Ft%c)biV|CR^jS2YNgk z_s4*N`e2Sii_evun(m$ZO2WSIjW&asgq@rx-(0xDvkNzCuRq{~tpk|)C+)*M?SBI^ zh8Q4iK+NjF&*wwCe~PN}(9h2<{tO*m>hrXdMpsL`OP1SG`DWI&p`dHk4cdq*t4o|* z?9}n*1u7VFS2u&{iGS=~t1QLrq#)ZBUIaXnk7KUPqm4Zi=YjtmKzQED`b!riuNu5L8QpVqoJ zi8$DLp-Ug$aw}hB-IkReX9kg@ym5BE`KLrwC`AxlM8K7=~3InzRSxrNPSkU@z6W z=ah7mDCV1mHW9z^Hhx|&jd*#M<$&guD3x$QbM;%8J8*B)k%*1n$a^o5*zz6T672~G7}PbTq`p)`xs%}_GVU_%qAVMj5w^V>TfFR zjQFbDaIoi$iGzT|=Mj~ho}cQIXB zha1_SZ6&F4sVBk^lt2p#6LCldn6Y5E89r3Q$d}Dw0=A#oWMPdpl)7ww^PaQbeUdJ) z@cDLFxUo8gvpHQ1*H&c;Jud0DZPA{OEkI|f!i~6taj6-qkUk*s6RM>}Ko>Q)`>r?ZY-Y~tSl5;|VHGvUeBnf()Mprzg>Oo&x=OapA z3heXBqSf)85k`O$`g^ul6&y#K=%1}*Ih>Ocw|IT+r_0iEv`}F-7xwxh&ym9KZ*8l~ z%-vItfETNw;z(Hl)hB984ieXa9m?c3U8g>~TSDI`TFN#&E8&j3NL{d8i6Q6r62n|t z|IuEEVn?6IgVd%Qkl}QJC1$>8^HRY6#=vmVG9V4c?E5`^3W5zljbWC+{O-KX`JXS# zlc&HL|NAaqY0#6?UCQ_hifd$I4v+L%?=FZ8C3?kAd#amxUqwdGe#vwhSrMlqb(D~r zm|JWBFR%0TiQ;h`JZ;RPF;~mm9=yfB7CQ&y%cXYhKe2d)5U1m2Z@ePcid>qKXa6W6 z2qlK@WNZcev5X6eqnu(7sN+ND(iq5MhT+ASK-lq!W7G7Mgb+^l`b!Evd-=Q6sKYAQ|hvF4tjy523m_mO+|LS^l>ER|8QoA12?%3gWa&dO28yzL6~ z^=l87L5p#T?NiCkG6*umo?OT|{j#j8_v4;mrK3?DBFsdy2F(z&;TF>cDfv+IJ>-4x zd8%murX`rz7OnHAN!2QlawvDoH5(!e?rG>4{jqpa8$YP2Ov4XY?oW_0u}oUCFEEG9 z(wHXiK){91riE80COBlYUAam1a25|e7CEq$`id5jR!r`X!U6H;j)`YA&dddt zwa5erEnw%*FrW0sdZ5cGeHWIrRT0iG+^#FwOzF!I<7YfPjjs*hflWOHG@7Wub0c2@ zU{&fgShe)c65i_TF%Im@hX1xdZ0ZzNrAbMsmyb!4 z+Fqn8P~(ajRY%82=u1*zn9pL~=tW(r+T_AQk!%0#pNy(Fo+pluLeJdd8P6fB1h2Ln z%*APGOjiFv=KE#_7yHk&(31s35Tg$DGtXA1nnuN_54;V*b1?<)7cq!C>>^U2o%{qE zC5NJ6Yr>`p&`th%G?V1j(Wyl*e#T(FvEAQQ0+V-Xx{Y0s)Oum=a=jA4j#l-~9Y&_- zlv7_wX_NxUm*2+mbmJ~^Y3cK4C@+U!3i9k)fKbj#fNie2 zZvMcE*7n7YOaiV($&2xFkNcKAT1S=2@xGan4)+!P!Xdsk{6=#abVKZB-qeEjRT%WwJZ0o zSPXK>ZzkdAPSQJ4Y}lfXWI$*^8PO|dhQ7&^M!OHrk>HO z3jVt}8HgAY8TH_T+a}42Fusgh#FMp$ih^7W>yK^NRR8*64r&=b6s8KfqPwh~tf;cm z$820mp|=Ba=q;riqaICN3kMEqfdx@!keVLUl*M?%DDPf2SBX(*XOp*s!YP5F)i5OR z&AEsc=Bh+-V5^#|lokElKZU}%_khb?c}4`5FW@-BK}iZoa|9&s!5F$GT9cT7_c%dV zxa~hUYo#GIaR6#&F=?vQq~{c%v^;)Mh!WeaY0Ch1QbO{RR3sA$5Y7aa96D3ORjan@ zR4cAg$Qm1@Z-jW>E5g4HMj0!ssKJ#)sThD!*K@@9;AkY2TC#2iO2pH(Pqcb5Te zRt8#lTMcAei9X>b4HxRwjgsSA#$Zz$O`0vQHp@KASH~`8O89=40X+{sy#La~RXX70 zfjvNnNyIWDR06UoP*>8Xq99}MS9D<1ZG0Ir&EXRE zH2pA>EOb5MbWJ-ZxKLMrd|4klZm%$kIhNDUsa)UmG&$f3a_^RlJ$-b_OFTQFb56_t z%x%&~5dmDDNb5|DA1(3GxwI+E>Xb(;WUp|*gua{FWa17VLB8AX9amwd`D=`uY0UIQ z$&#@Tj7e~yfdW+F0B+_`;^JDZrszS^wpT7C?y{8&Oskzj)d8|k-qKpXBi1{j1{0uR zbfm^Wn5iF=)iK6BqC@R4zzbwLz$Tw(ZZF2MV@|`L>D{MLjey4a$pJ8WVJ^-=A21P= z#T4g91-=O#OPF}uKHi{ddq&$$ z;8;S!PG7lhZBYv2{?PdH;%rYYQr`HxVqY+{_v_D-qF-ezs16=n3let3=DFJuJ9-%gInegEz z_gT$;$C6t-JbSYEQ4{yZs}J+ph?cyB2cSK$w8-{g*miY4hPJ2uQyp*elLr(C>>D`d zRLK?oiS(%BZym+tVH=#FIh1S?{@$6IZ+b$RlZ3^wG8b;kty)xQNLF^Sn)8c>zf5dR zK4;8%I)%DS-T3s?y`u(Kg*Pzt|HIRp$3yvr{o}J(2Qy>~gHVK!eP`^YRQ7!@M)rMQ z#!j{pvfr{N`-CV$A?qz=&Av_9cPael^E}V@_s{%cyym{oIoG+abFS-sz2DY%-HLT< zjOsVh6xY}Hing8}NxZlGCQz%~J}=BSD_FkjX$J7xpk)b63 z&-PPM;RCZj0RzqEd^}!HZ7<{dJN1n4gXp`GPu@-6f4%Bq#zX%yM=b6EGs66FEq9}! zD<<4ZkfA8y?%jq*rgsO#+y*}VRq;-zkVf7QOVLcHG(lGhUtT9(0ca>ek@!^h=YY^J zw$zSZl!VGM!>{n_+r?3v(4yKc+i)yHBnVPX~&nsYx)^l==nH)bd0^xMjH3r9jw;EzznSK`%g)9mK>jJPEj2v!p$ z7t{Q|8|m2O?Hxw*rmCF+GN5K_GKLmz%=Vo&_XVDisxWA%IPJJ{iWV(wtBMN>wA_^$ z#A|aeIg|Q|tnp*SsiV$Z;uB%Ds*iKEYVAWH;8qhw?J|R}$e2dfP z#hpu9LUu2af7x)=#ZtyfArO-eaGJZww8x=S;`pkDoAdI4y9n|JBN$Y-jB&TU+_Y^f zQcw3uU&Uhb*5;v3^a;Blo!ND)H2IkwqEg22(C_{NAmw*4Kn}jlpEtXERvlAvG(Tr% zwrQJoXbP3UT3ob4S)Ds;AwZ|6DLGbGh6VUC2T>HhS$gF-Wdm{L3^` zLw1%aS{a%>=bIFf!o6x^@hu@~m9;OI8p@iqG>@OkVg6qI9`_}b*6P6QMpPe@AQ%aB znh+i@0)phN*&w3Vyxl0ru*!#x%g&S~wUMjgR+Vi;STrPuKJm}B9KJ+meQc`BW7DR8 zo}47>Mn-Eke@y9y@=(NsHG>AWL+ya5wt!PR&l7D@x;sgx(hJc~$_%c&0hu2-Q*LyNjuHZmxkJcK|Gn-eV^xrG$)$Mc3a3FxblL`u zZIn`vmN=$PsQEL0lbgdUE$*f{4lj#}$;e65ndt!!t1%rN2Xo2oc0S+F4hVmRPYpO;H&TYb3IOr+|7UyoUSOnP>-ks-MovbKX0+@eI_>2G~# zKJkN|y@BKB`N^kE11?sdLGYLNrYEyUt1(fjjc$;sX4vd9ajm@LV6NFy= DCN2W`kAL)!8vI3jzukdz&hGg03=)D!`LU&@+3t<+|mg8(ndnPC28Cs|9f=Nsj&9MVE+wk!PluND`$~Nop}b(vdRY@{X?IJ9mkcUs5Uzk4lm~ zRfW?^GbFz*tRko5RD-Zy$>6Ext;*Pfuutned2$P~Grp`U+nCDcO=;zdrnAU+qK`A8 z3h2E?f3GiOnbuK>XIvN!!Ss^4u3t5KU027B06~TfuUn~1WD^$1ikjSi8{Bb1igO%PLQazx?so>WP%#3Rs($ zZT|)bN~2*W!;>LEZowu# z8!@qBIIgqZ!bSzA!>UmE*(=Kq z2b?u@0JosZSpYBV@XwSTz)2c@&@%QS-QIH_)0E zeyE!UIYjE_GA~Cqb-14_^ii_e$E0t z-1Ce>`G|Se$b#3S;5%G+LC^;7IysqNAvGgS_l;SRMEm%W8OO058q}`FrqXJ2RhEQbz7Bf?(Q+1t8w<% zDulMSTt%MLV$v@inz~5?9+*STEX_3brz5esOa|n_=ZAQHbh%gzG{*4>a~O)+(+$x%WHhK;J}CiwNh z7${V%TkwuU;U!7WjFh*1n{=Wno_*}L>h2wW?3g#RxOXKEsR#{<|8B^#A26ghmx4G% z)xbiBpW>rniVH8h=qN1C7*dFYXI|Ej(B+<`CB2q#(rE;^LnKN%f?-Et;P@No*SZOy zAz&HNZUJ#6KCu7+2xU+NThQ0QwyYf45%@Y6b@|4^Vcm%Fsw-!M+R;fx#IzyUQX}1D zXw*N$08~=`9ASsBf0^SjD>_GV3+}RBlZN>GfMBa&IuO>+t`F#kRvC%d;KZk+(JsZIE5ER0lv-aDMr7B_5DLM1ni-x!>L?~)jYfU zCu|XGNaWd{y#PR&DI&Ic#b>(V8u|v)!1`kH$wsYU#^U1h=OXQW4wX>*Ai0dlOi79j zGn2mc?nNVngpI#a`1x6}*2xYE#h2a`dVbcWS_<>+ew)Tt7029%$#{RVrY!d2zKF2! zt)!$+k%CCH9xf9yOU$;*g}OqwnOnp^r*w@G>#y6Cm6(CQN&Fx$tpt={nmU7gQ>%+p zI(`=@j>7W>0GBv~!~v!w754Gq&DCeUadD>BcSC5}x5x=S2%pZcL0Qdz%&%K%wJaGz zflAq8BtX@Ep8Bu|)26ij%n-m8?#xob@UQIrGjF$1e6cqZy+bh7ke3+1X+F}lisgHH zr^o?$RxNLraq=qHzE>Y`Co)!2P-)HE@Q}*=^rI`ndsv_`%(wcOlfF1uMqDJqd^AW1 zrpy3moH;+S;yeYxSo1*gtH}vk41g;$Fm@M4m8z-Pj)33|fE$>T9GFg6cP$rYhWM}g z5PSujbUR-OOlU`31vh>>YJ24TeDvaG_C>`WLJ@4;F7?2wM2!F9?()U6d!z7Edbn7H z))xKYhHN3zy{xM5U7mFhs;@bC@>gJTA>hcHUR}ABD>Slk8?gg$YB?x*^!ea&aI-WlCE82QJV)Y_4f+ zk_|iak9GT@$Sv?&#utr&*OK#4QZs^bH?JCO_~fezlY-UT!=r?!lRqs=VZHl;;I97q z!CeJu}f%TF`$@tEJ>$LdS-77a7A~U^w2tX zf9A89>BAtjB%hKgf)Vc($XnOSJR-<+(q{g&bJ}g@2!cVb_WVXlW)=$9IG;UZgn{l- z(9hl@O({BwfL%s2fKfJA9QPrn`q?0d^-xqc%neUYaE;2KP_4N`MLPXGlpigDM$J%5 zyRh0f8*dUJ#5W{8?~i|(OdjLT=;Ob>?pYWI_X1R&7@0asYdJE$kTUok=@3%gvVkCf z71KS0yBMSg&N+yf-B~>#7ml}ybZd`)WF{kw0M_|2<>}lQJ~%`%^ir2Cg2`6|362S4 zjG6v&JbQYz;%A+&!|-KCA(Sa?4Gs}vB>qNzSK9jrkVBvTV~E^C$XP!>WV)73x|Q!S zebI-JM>r)54Tm`s2U(DJ)e-KUZq1QHz)8J_SzZvchLY^wKrseSwua%JF~Gmm zUFPG(Hi%{$5Os9EbUI3)0;jD;y$A!}oV+52TwS=?kxF8D?YCZg>C1F9D|FTjg(w?VFaKzLxG=INrZmZ};hDmEWV{uq7BiKby-T z&aV$Y=-(?xHKo=kfS$+U(a#3TO^&py$6ZkpPq6MZi`SbmYDheQDeSr&w2JxVW5vu> zrl@aDegn(Y-Kop!Pt{3gR06w#ufRO~nUjV%B=$m>GggKOFcMI7z-piLF)_`G>i>KH zfx7_6CROuU{;aq@-L!wy&~GZFKd{j?r>E*;9;0`^ajlWd-=Q}(Y$BP<&JT`%k19P} z1bw>R*2|z@+pRA-&l`8@jjG}vM1TVu_doeU`Gfe3tBDt#RhjZ6WwbKwJ%AIIlAQnMYR4N z)B$0Hv^v~z#qBUZMX(^I`(AxIWL722Z5`)lzd0=cek21A4lb3}15X~n@Oc9?ptpEv zR2XpatB`M9q2ofJz}CaV;lag&zF!)otw#Ke2>$YapX0~HGW6bH3QF~cM}Lb#350IN z$VSphGOxy(@GR5F^;P)nJCC$1#x2;?oeMO(i&m%nPi@?sNm=q#jk4X7D36n-CjA*f zrdwWV27y%uJ2*1^9xMJhW;J0OdTpv9GcVLbot`N(%ZX`-&+AOw`7ady-Fr7F;-*q; zd@)eXh~U8RUCB<$?_$nu41ec@h^w@WhJ}tW0x`5mrfxc?^@VteAaoHEGN%Feb;N~h zF=FB#1(ZGH{Mrnhbc43YF~(G;r%vlh7qMfS*jmH9h;vJWv%8I}PYyuN-NKAvc=Vs1 zuwld@zzM8B4Euc>bMlpF8>z5EtFH~WAlNz=25%$krw096GbDg-b>`QZ$7(+XWU5F2 z-O`la>h)X;+_>+x`4^1c3aweW3-sexP`O0U=*e%T!~mK8rwH*e97|>d8AwcZB`=uMv zBN^4=MQenxyN2()km9P~e*TG-k-GI7$(Ed`&&{triVHlQcDFzMh(P%ymz!Ldu%yO= zhu1tWEKo&XR^N&Fh5qfxz7ydJLu!do(&o6@luKRVRqlpYC-g>ox^+=o48djI26OBu z7y2p)aP-_K1h}15Hp|qF^HcQ}wy&IqjIHC=xX^>c3g6WuIG*a=jbB4)>^1x*c}AvW zOH3U7cufbWJ*s}KsvY;6D)Lwm{05(0WoR2Sk#UQc1v@tGMubh!MTGG|%~A}2KllB~ zf%TP8-f}JIG&{XAHa=e^UD|}Qi1~3GNI7{weTBgM&qlqfIeLIhzoVl7u;p|NJaQVD z``zLwZ`8|xon8s`ZmO(ysIimpL{Ap;;0?@3!Ae%hxe`9jPaN13UKP6~C%;&RWB}FkyzagIPVdtviFy zH!6SS#Y747yyd}CFMjfkF8A`NV{#wd0Ypa(92_j?3=)mLLu*w?n_?<3)i;ZvO!n&t z(7u2?NRFtB$prG5d|f?Jba@ z?~ch6SsvbTBTakZ$)@ICO-Gu>ljl|(8>0;8`~w+nKf&4GD=N)>>!3?oh$rEQgs`(d za`HulZaVxJ<<5ZqU@WjqkL&l|v>N%TBPeQ10T6dp z-a?D8C=Ms+K8+-!3<{}uKOb0;Ks}UbP<9R=}IKHf>5G#)AgdmxoUcSKe{+oh&e@c9xBbr^3f~?~Re%jq&ChS#G zq5hlSLbsw{ySoTRUvbwkaqi2dP(JuIa&c8Y8-C8Uf{E)Ms`^k06H)}du4BAO<dVWSM#!uv zX$}I6ACY#Vh{Hyv>>5V8&QS2sG~JZ2SJSN;z@e-PzK{oj(1$LX}NXV=TU@T@~A3x zFH1GJHgD`TemN=Mk=8OSk;LgWI2a%FuKE3JE(P-C%a7StNt|cZgjFX^Rd-((F?(~- zSlv>Yq>QawV9gowQJZ)*OE9tnC3ws1%q1J8Do24kvH2{PSudrEkUC6M_db|JzEa#d z37hwCKXAPGER#NX+Wuf|MB0(J^xFB+VqjsMmfXXUOc5n!@t7z{y8atoJVqJKFYL0s zogW2CFzB-C$^5%-$mAQ%{rSQA7yht(6?~cLxq!*VkROF)R!nz6mkLoKpz6a(5xJa6 z0^+bI)-alT*egHYyT!Nz2g!+r$Th>x51pp-WPX-bA9XQ{eEWA*TkreEmoKN3dVrGv z3(&pvpcTjthfh#c8N_GGi8B{khlk((KJ!;+t91Ha)>CIrMKg0j>j+_Dmv1fc2(z-D z&LN8a)T!0L^)pb|9DL*###A71Kt(VZo!h?H*6pKxI3lW5zs^1HaQN`naG%pEzG zKhi6(qWe)z8aLurqGEo`ME$yXIlVhvDr=kr3ysVMs<|1T0W9Qf4GDEhsR-A}AcI%r ztfr>=5!pXVZN4N@PO|z1Ha45+7ooUc*T+9H1hPql7zoQHm@K`>;Q~1O&n!W5vwd$h zS(pzmz08kMx(M@YOlq`J*7c&Pu-shgXYwyaN2H|e>M@YoSeW~$^Bssz;{fzb_4X?o zVCgL)6yG)&U->&8446NlK;ety>z-%JuqG=Q&e?^6IPi6U?vY>Al_Ba;rTeQ8vvF>2 z{Da=Ote&UWn19Z|*= zaa>S5SgliRd{Q z*~z4sAtZ$8GH;Q$_K1_`lzQAo#i@dfc=cCbA+%AHJgyh(icIv7WTWJV_8z5mfh4aq zlZUY(q&t=Kn*YrvBcUJ<;j^$hAmmLOF_8|7-SgQX{f9&t5Rn5*>7fa?uU@Aj*ZCs| zj*}H(_cILznuNLpGBVY;1}Jp&6B$y{d-FJm5(5zyI}Pqvg;}O8&#M3Us5=P3&cvwR z*o&gM6QTyd2GD#(a zuIUb`nVbxDW;fKv;!;~@F4nN*wW*2A7Ior>_4pLFSUSrV;5?@$m-E|9c7mGx?i}>w zO3`hPG?=A8z$u+ljfBDB6x3%IR<+M&;!-v+3QSP;KT33+(SU`la z>#tfi-VWRA&pxj?NMQ3`-@ZKFBE?#jT=|*R+}~DIWWk8_QF0G}_?STnN#q#!E0{4_ z%nSno4arC5=|Rp6q#_=)b7RtBI{Fs~ydi$d&#L@@lL)9vi@~-6; zI{8*icVEm%tRpTl01P0Lcox*t#BdF3H6`=`l#@R=_>4SA5bvp(lJBX}V<4PHm3}{W zu34_%i*vl(yO^>~v`0mYc&1_dztEo94r)&OeusbPYJ=x6vrD-LY5L$p10btBxz z%ksmOi3J(>-W{TkxlWn`_c6IaNNY=cG%X$N-+iXf$W7WxJovapUi6u98RSy1u_YTn z3vcowwsO6ne)}gdA|I9E$l~I7;JcfmdLZ1T00#ZV`Aw+@7zoqtGo-wL9;z$+AvpN^ zTUuH!ZElITkpl;kl@wHQAMcbl=*fH|h5oN?ok=oaJ!E6qjFE&Y(qR7wU@t6r|rtix`l+(9Cc(uI;yXKES zzB=ojATO`COYA9)?dq<5rGK!zw@MTw6nHyl&e^YTFOp-#L{Zf zFB@Uf)^e?XMirudOqgy#!&0VnA{=T#g;>t2q$M@`?9s>S{<3Hbf$y75dl!v#BRzk#a#iP&t3l zBdu|rkRT=;I5-F>?J`VwVMxH#=k<<@iw^jDm_oQ~xadV0xm#6-X*YN0zS> zow17Rp;L@DdaixTA^*t6Jx zkoKq|*tdp++n?b@ANxN9#vvw(`D2UY5k3Qy41jKwpCFiAcXtxYuoS(P9R1JCZISlI zENd+fzMp(_hx%M#Q|DL?<|V1%)O-(g_ek&vZGU?B%pWJ^gpB)tSOBh}aO)qE8mDYe z{VZ?~lw>}(rV|xWT7^VViAmA;fk<9{wJiY2E&f8{JFWV)J~e!)dZ1LhkI8bhf5(( z_rt6MOFfcyC@{v%Bw$R5$IDP89vyILKM}BsDISWl+r&~36Q<2i$O-yLkw$u;xk+h@ zwopK#r=~jje{8_4#{-DrxjrhyYg>X!{Yd~g$# zBozRMxfyG3bj@c3B7Kx1hH3wEi0jz}RIWtVU9*C5gcDMX$^Q$(1~5z&3py?Um&i!E zb$@X|7X0wVJl1p5i%M&c*fvZSIw-(x;Jr!hu+(R)UU61J;}q$DkPuhyzPJ`3rGAsV zij%}B7NN@IS-$){HqgJdW(Lwa)ubL^F$&x(!f5ebp5J4e6drzc|D%lZ49k{w_2CZZ z=Z_yz`t$k03g++R`0?iG(1($0uF&dh|zzGdli@art2FnnlO%mY7AlHnsKEjQ;t-&xw&@ z7b9yCl3Gwel_&~2)WszPwrS%ucO+hhJcD`sPb}LK0By$Z)TjwPCmk!njBPSSAgOpH ztgpY+h)!XU#|?gK=aRr?BXtly^^lw|7^+4`7+kkcVFtZ2=`Avf0CO9t{7mpf((H*>hL zv%e4OS(#*o5H1dsFE$##E_SvjoSuF+aCScVH73{`I~VgXMQCuyLh4~F{m1i>h)QSP z?Ie-;O*dD?(4dxMPeIsW^64N?%bR!pE7R9thsOS#LgydbghhkGDI$M8<#kKCByVqh z=lkR_Ryo9XXfnX-Y2}Z9Wg|vsadWj7f40AEni(7W`)~BGxLd^)96<4J_vf;z6Y8po zka}w!-2b?;<1-=W0Vp^{q#q(29{=yjgOu<I-~n`@N8c;MH`(Z{=4d{k_v%CB=_`Dhkkxixh;OAP#<(;MI!*-D-40&cKx=$-)&%by7cK^!=GdD z8hwR)o2J&VWyeLg+0*@|K(YGUmvw@ofzAtOhnr@O2i>sp6<`s^&zN0od9RdY%PL~^h$H>FS9$qOtu|@|-9X?}k z@Gw|E#E@s)=qih1%z%GnCuOa{jkvnV%pfRD)z9Dc-Ppm&9^uX87*SNA5K19InSil~Ec~?^>N(e**+x(*8`XIo#fkoxe_tA^%X% z9N0NUl^NSE#YLsXo$oC#9qhlZQ0a72J8Iw}x9`1F=M!(P5xo7CpRx@vetRoVZEoe~ z?k7QWPW+~pHcrasBmd_97AWb?G5~UkU<3n%)`XKDuvlP737qg_#$H2`FZzWoPX8eA z7MDd3oec)4k9{EN;#K8QY3-FH8?&F7szgX~E5%(#Q()+G=ctif#PSDjn(15oqm%v6 zFU|}fxulT4srCBEkTDJmHmXaD*L;T30Qo3t@O9ks!9$6J+jV&%#_nHtYZ5%^fX2*U z{~A59UJ)Zv?VdM9`EKdPU5)fq6c?xTUVsUjRyorNfab$2OiPMYHpd@D%|;m!Up;=h1RVXIWd1e z(k}7va3RwC=;-K76KPkQJwAlj4hHp*9u&S~AmE_7PF9vNV^ph0=g<%iQmk1yJJ8mu z4LwX%X6hZaeZ&;?dm)%JaXgibP$P^0@hOe4>a;wR3ihKFJiVTq$nSs{H6+1G^qc#6 z;4AH9Xs_w9FpH4K zyh|@t2tN0qJ;YN)*|ux_?}YqqOvlXEb%$P!OClgJ<)3+U&-~k4Kh~{s7oLQ)vqdS$ z@UJ^p!cT=r_Tu*3zJ#q>y)_};9yRF~JFm8-OY{fZ04BJ(jz(pm6f-}?oU!)fJoE-; zXPzbCAvA}Hlt3JP_@jt2-yn#Y)4WV%!BK;;TIYy*j1jHGD&aRoqCow0s`IM+!J=aH z@2OeiX9n06+;~D1`4_+u?LywtN-ssldUbS&i$%c$eYgcj;NQgUo=6%1T*@_n)Hp(U zmpxSVG~OIIb3YXM?0;H8DG1i`?df^Njm)@6@tp3(iDKZ25YAke#BNJmF^z7@PwKI*BxI@Z#Q{KQ1X+(+Q+EOk{ zw~JMxzi^~*V|l;-^wH-hA$ZBUj}o;l*&4fs0^~W0+Bmmw z{Wv8R4lL0u3Ce!NPi!b6qJ7GwAPzp}Rs3DP!nox%qx&P$)*w;8>#@t?$!M(j{Ya(n zpLAb-=JKasLSv&CtQ|k)M^i_A`<=#1lS|I>iY$4T<;I+7etzqNz?Uaa7%^3A72jzA z72oQZ#_+av?`cEGP$eYDh=kx1bpH)NSG{$ktSqVkVrV>8xA?o_DDbw+@KENz`d7)3_WClfq>E(5f(& zqJN`)5tD%iNwRz%qn1?v*INgg^MrXE!5-KvQ%*vFkYR)AFb7?CI!@oo zc6#AX&qS)7!cOPa^w~&ZpzJ&}V(s^b=Oui$^{)rzTqD+Eis=3jylH_LV99OPFi*Xr z5@T%;>+!M=R|X;eG85_l%>2A*HpDUoZg&6YqcV>>vS^9uVn4*8qZgZPZct|P%O=k| zN%^LVY2bYmRsqm!?3&w6hG4SiEIA(>ui1ZGwM!$ZZVUaB!$5NWhtCMG{cu2qBBEX; zTW$sc>GG=I4a$ifI4beeE}A^2WXeO;Z~cWn@T_ozhL%pO6?Q?`$%F6by_)9Ia3%?3 z&Sv`>`>kuKg%_hn?kl1+?SPkT9w%+;h5%oJSzN1^8TEj7ITXYzZH00bS>+>Av$ov; zM&cSg5WzI#`)ai%p+;8#bF-V6F}Ws$kG-idmcOB9vIO^IT{EXk7mhmQbgLu}yvK?+ z6_d#Vfm)`!qf2P_5Ak+HQasWji8R?+In&t8vLJdKYmf{pwOrT8YjU#(i;t4I--==y zaYwXJ?E3@{nqW~PFnEd-GoUN+o;I=NXV$It*_5GlE7j;v^d%>0pCy#P@T0k_$c!?7 z2NvFC1HKH%*bN~g{3B1E2PHGVPvi%m5L;MiS|u?4?1B;Pe+ys|LT9PxB#^@!#KELA z!$J@4pbk~;^G4zc+q6V>aM4yd1fIywJoaJcB?p1WPG%4hpxM>v5+4h3y`82z*ZLr8 z#k)s9e9!e7zgc-w6TH@KgQ56Cty2$Xq9S2;_2>1k;Z`P-zvAUKZ^rO&YJBzF+&}Oi zUvQSMdIU^iLO!|&dFjaxc?dq{!VL@FV}gJ#3#(@Y37o^Hg`4C#R1%Vlq~VLwCvB1t z)>x%`Szj%ae%YBFD|aX<%KjaN3}xiQLtkqK4)Ev-I4wk|84?$O7?3wQqn<7t#G#bW z)fus7d?diY$ikyV&ti#$N632T5;30)1yK4rd9P5l?%efNQ$NpFs8e9ZfI;XyGRgoP zWO!*+J|?Q}r1|P6zcXkj9G7xkQ;lUB*vD84YA;q4#T2{U_!Z#u#lcx>dTl8t{iYaH# z-x})i&M*WvB#4}tZ}f=bkN^1q=-JH(jtVG|A}D8kkCd=aXI871bM(!H@j2jx@F8-0 z$n=?u-d#1yeVtJEk|fk>W*FDKu~MUYXCPmWx|ce;xa;=qv?x&^Ooe0^%fR)rjD;OR zu<@b!O`GDZp%ZNqRg)aE{HOIs`tbX|mw$Lg3l|;l6MN^v6-5qDP8=08eZEs>8&ZOE zF^@WPkX;TP$va^l!;vv2T&fNh7@A(Z%MtSJPPmJSM@lg&y$-Q`QN(9$(3J4#9?ngGwZ!Y6 zB2mly@2B4vPb+u6?V$Io+d2O`eb50T1%~ZmyEeYQM^4$wPu$vq*9I;BARR~ah*4?@ zYWA(jkPf|~J7saFDiLuglnvaVWTnyjQ=AA4u^u}{4m|Q!dgy|_KJ=iRhsVICAipNv z3A{@Q$`nR%y~cM9<4CYkDO^k`0|F@gH<%?4m6n*~w7>gXN0-e-#S{8588SkFyERRu zcJjWPV{^WtAUL;L>G7Lu9xioA-O5)`k6R7c46;U0_kAGkM>SY6sfG!8IKV9CznpN&KFs~-mo<7qh~}1 zh5+lf=M)dZkB7@8Q#KQqP#s2!_s7_3k0^U?b6<;R-jagdwM7Uao+DLdO#1DDiY5a@ z)iasx$ndDE4s=%=ZeJG^Y1k9EAZhGp{>nXn?P&Ysj`h)oa)aTIrzf)C?g%AUQ{z;X zk?REq%x86k1HJIKM*Cxn7&T{VkW!v==xMz-b-rE0#yhp=mgI_H+%T?STDOS3OY9@d zeL)$HwtK2l1&a5@)y8yyY>&I_KQIpw+4@{3rfl*{Lo7&HuE%j^5V`w-ob)P%x-@YX zbbia2@Q|~`-}_rL%@YsZ=Jpn^onXSxd_vEUzYa-v>>L37wZ;$UE{85lQwwWqw&vf5 zoFrQ^Ztk21nO>%C2voX!s^U)Wss^oCnnj;01&E_JV_pX_Yxgw!b?oNW!!oR_33 ze-Hm|`!8;T&FW&VNqPEWbAat^^xg3(-_&K-yo>nmw})qYz4CABH&{rV_`_EWhX9noDoRP%;&!Ubn}ILmqQr*`mA=ctKbIS=-|o%G>>*Li zzKM~~G14S*QM=-=sF$rYipGq_)P}FoFt&@nO^{>No66_Vlil*^pGjZg{A1XlKA9@s zeg2Qqs(WH9j`N-fr^4aO-2K9z8Hwj17~5eACAiT){xN9X3_re*i1NSdJ=jjvSHCQ$N=pNj zrGV>+{$@&ZvdTT{{Dd`1s;>$MdR*@GPg%JQi1B0*0|(^E34tsG&E#4A$N$NoKv;3FB5lz>#590CBq0YYSDi<2>;R$|2^b?MOPY2 zAwf0JkCH!NA6K6N_GT#?TaZzr#FPxBlJQpt+f_5EGV%}0EUFW|orjylh`>8B^1t8G zSU$q4#W3!uE}`3dQ=B(n>UpULfDl4}7Aewa0(lq}D1;^w61)F5JTAz8=Hu<>kMwEk z73Ny6m_;i3ZE492qr`>46^!wdvZKJ4pC$X#W_FPhaR8B_cSU@{qeYUDZMjY$ARz79 z^iH6DboUkf^ehd@5b`kFAGoBBaQhKq^)1p(U8X&eixDCbZN0gH0!1JoI4uW86`OC; zo>6Eulr>29v5tY3B6QlQ!$pJC*$>8+9?#=3h<>Q_UR z6AWZF;$q*DM~Wxz){L`^oW5 zeL6|p(l^H^eKBj&99(ZNvl+y6?x1xzLs9taGRVgXyDgm~MDpxJ;BTW4c6)KsYKI9) z(Iw)i;7IF}3JKz;3L40o{E~QWY3(SPRF zOUPO;vb67hoBC2{_=@X$-bURc%ST2zrbH1*Cm~362$|g6zGn2Yk`SHn7@UTj^?$Vh zU7Uyvo2)6fHD0}*zs7MCYgSz^|InSH>gg1Jmso;EFy2qthXypzEtk#feB$S&btl75 zvsXI$v644?oMH0Rh%)S*hT*Nl#`XN|H^a@W`v?-~)} zq~j1%?#Pi`WjEW@?ogVvS+`Lk_s?m6L6eb_&PP48a$CQqyKhiBU3@E~O114r29=dw zw%a1bKa1r9en{(#(9VTHWcS46){yfef$a(xjaxz_LbZ9MikRr)A=Wl; z7QJlY$R^4ZF=quns=4BuA37_s+56*SNv~h(xVJ#!=zMCNg7hxsPo}Nt%;;M$79c^= zIvyqVa~?n&Qe{1b!autBIWG1ZF{TimuUACV@WJS}d(mUMG^Zo%$CyG#bD3L8#=2Bm z4nx5~gKbH}6k3V9rfo3{&f@gkjR!7|rM_^`KiCW`s&~R}*Xw_!D;n^4gu*{r7k>;G zi{#e)hqZcI&BrPs*g)w95HnNdyDXTEji0Hy`gHQmjIPJ9dUHTF1AQ( zMa#Plu+bqYh?|ABpizX300~<@3mvTOIrLd!3!bj0JzPapcORapOb`@2V;j9(*?!tMq6MA1M;%L7B5vpG z&(V;CewZI5M&9jjDeXi>C~q{K>i>xF<%LRNQYmw1t3=^GG$U%4-{|Z{RKyO%J08C+ zt6f>{`K>d9^x0JAgIMZ}ddYfajM!@5U^Up2@<|@(0Rs{(iJYm?Av)LqjW2~PPkSdN z)Ncx*{q8;~6vC!pIE!P7gW*9ba3Otx4aHR&mD4XN>(r6krEqqo=NsrbR^h7Vg5XLa zA;O1IlG#l7x#f2||A1F42Q}K(7wFZ(0Zoy^n@ZPw)}wEr%65NW6RLPs!Dz-f=RLk1 zoHX_wUY!U3I3Mp3&4h&bG?U~{=}t}UX-cF}{NIvo58}#xY6eI;MEmWOc&3`l*@&r$ zr{lHy7HN?_^2kHktqSz82T)CF*~2sUBA97F7VjlPFNcxvRX)HZ4q+@Us%V zZAJ298Khr2iB>WB83Sb2DUxTVOT{=^9=jOvzXs^siSxT?obVvxQ(6}$t~oZZ69I^F&zWKR{)?F(_$ z1~X58W+9yW#DhX~T{ySwY-K@szB%_lrvKkeW*`#Qv?*|T6ia?wHnrA>+9CLNL^0f) zPz-tiJL9-xE<)WZ`w=nK)aM}crsALJHfeW3^E`)(CUB1^=Gb$S(gmwnq>lH`qeA+E zWJRx~%YIY&7QNugpk0(vq#~1mw5C&NT`r=@r(=N8|I@_u_S1qWraYaDJQ^fLC-Zbc z`t1}C1W#C52vY2Xti3et+kh5h#-!n}Lyee@-wQuKLqAW{VTD2aFVi_H{lh$U}yJXcBkA|03g8=6k5+9zf|BtCRkB9R8{>L$5Y=bOWX2>2QA;t_DyDX7Ckt9s^ znnBhKgR%@+%R1IbWSNq!LMXyb$P$@^v1iZPcdFO>^ZVU@&ttCpy03Gc^E~G~&p9}W zwyI39@U2)Yw|c+R|66V6Dr8G(p?dQ?<;>dwL%*#UX{nz2}i^Oq7QkF~}@iM)gmEg)VDN}cZc z@2d5mK!2fI30aOQ_#i*p?_vg6baK8EV8Hf3u#}n}l3&7ik#uEtxf$t#*1itn{UrzV zb<-NMyB?VpA-eTVHsN8n>b)y^O4jFS0SfN=dfM)*teb;(rSTbU{e7^EK`B&QLPn zz9_P5VBkc-S5C;4_JLYZ*as2HnO06gz}ms-RQ>3lOjB}Lz-h-lh1l;D3|mh?_rz+D z;Hl^;%`ukthtn5?x$HHwB7r`f57oyJYpWR)YI4B4goNB-VWgsHnm@B~mosSO>ha6E z1{zS8xw#s4Pu(kQ>;tsy>P@-uOeWBTnxNB$R2#dUMXfv;@^vnC4MzRB}m z?E;-K7s@2EVwk1uEe3b4or;ztCks*Lctk{@6?chs#(3n;ewFtBxB$q8|8Fj;yAwSy zQ`S$ISaL{mw7)f9u^5who`HR?it{EK^+-0s*m_j9ZsG=B{_0u z%|KJelhtF3RXgvDsDD7Yr4EJO@+*M}$L-khRYQG{+%OP0z}|1AU|1{p{!RJ%m% z&{9Y~?e#uzv&L8sgC>5oYKh`x>y;Ghhx|BjgU5!kWl23wV0qce?*df)g5e(9;{B?H zdxgxlJ7;e>zK%qeN58uG5@xY32W5-67!8`dgLhd?tMBpq^bzG^cw%2OWWL|tARuNv zs=t?2YY)87fGa!ynm0j;L;&xX=5AuNiqn4N z%e}xpE;PA{^&9rwY(BoPZWtZ7+?T|Fl2HIs6HvZqw2Y~fu7qJ|a3s~{H`jR!Qn31u zPoftzdqfI)`oXD*RSM3kv=6I67FP`Lx)%Hh!RJAz5s0PIp3OP_rpQlquH&c8bT)4| zDh$aoRQO$A$%b}PAY1Ex(KBkSTV=e#YjgDWHgHHaRRjIq%`0!vq+XDck;L(%T#im2 z0_)GjKYbGSMPJX8+O&4|5)LtfSMfvN&_j#*`D91;T!J~-?g`JDFThM%hx@i;{J$4y z=#>1l92imjfm}gVFf$tBEd$^_W4Oyaglm_m8{?p--r{@iyO)WuFvO>m=)BsV7^0Y- z>mzwEIbZ4$@r4Spc|y5u;QiOD1cvArDW<+di^&Sby`E+cCp9~o+!nR3*-!t>#5;$! zgTSEM(GQ~6A0)dk6EL77s8WC>1F-PG&zJJx=V_#w>fK1dbLsHJNs6=}G@A=;O-B9Su8bMRU71ML&DOCxm7{llO>WkqMV?XYKl#0Fwf!!nZe1hM^ZwzWPCLQPc_He?Q`~2ouT9eUhBqhY>F`WX!6p zg>uf}*O-~MtdKyQ?&u;Xq<6zdJd&UqQ}cS@8MV#z@*VPC6zLWD)KVFs@;P-n{{`v(j&VR@f*&casIVLA5mt1WCBQr23Yz(2){zitU^dah z((2Ic(HE6BQoVxE<~B|ra1f*YBdcUoQmD@BK*p2KzW5nw8~AB319d2K->X|h>BxYg zDBk2i`)LlA$`>ce{I>8&)i1@%OvQ zfopLJxMu4x&;`o+Ns6C-nS#ug77X1@lnBq@(jJSHG?v?qI@HS*MAvjBx0~>8%+AFpxwJ_vlL)R>{0}t4wCKM z4DhC`#JA5aX>u0nm?oPI&Dv1mbUy`LE^iQGzGg7?(i%K<~j z(P3~GZX`KOzOCejv;^fwmfY{h!jUR;77b}IbO11l%ae$D(*O$dTY@P6pEPT*kv{nq zGsk}A(4Tkk$GENfSk=1K$Lj!2zxQNIG@JLj*y|*K!cRI~Ftn4;xmA2XbEZWh5)&EH?) zZVIH+7@a2aK%S~A*XMoa!wc4K04BJE?C{9OnlTMnU zIj)RZSEp=SwepJvwWCG7hUg4*gLbn7$=Tldx@b$|sMj)*hxIZa>@&lE^cfk#+R&as zjN@fu+Lwv_Eg=M2W!9}?9zrVwD}@VJA>Cx8TFbwtIbe+*p@wG8Euoh)z{?wFson2m zif;OHKiog;XuIB%@yO}-`ee57w{Z2GSlxS~FhU9SycY%AN-KFZ_2L9-dO0uQ3zh~v zxV*iJ*_gYf>CMTup;hPAuI`mgIK{lV^8= z;E_|Akgd~(vnNn8|6v7o6`+a>g%l~fB@4YQ(QExRGQ+sd5mtI|u=ZxJC=mG8a?mrO zquS4GfJQ0BDWq6!&@@^z;{CJmeZMAK_?zs=)eZsj7|IQbN7|G@ws{!jA?fP6Oe|-z z(W%)m0)22JtO*%uwF=;3{(pj2`B3IOesy_N?ZQZjFRR!J@)8?Rd!47bQL6+Z7!M`g?&52UusmN;Kp#wO z!$G!&WCKEyVv@k@J5=*(_U8kmL#c-hY{4ixFF}>T02MV@OfJ&4IQ0u2BF;GQ9G~MZ zh}S*=BsCe}%ltxxkO3Ar-W;QE)Tk`g;Qh1bWQMG#L>-oW1#9AGZc+tr-vZ_8r@D9s90$J!7*g!@zP@D4gY`ymS2t(s7RGi#Lf!Md_>nDJ- zqyd!gZ_CcnTIEd1+U6ubUASh3pO|4u)J6u3aw@fNREvXN3y?3%Mm4EN*|f~d2-m~| zTD^8-t|!SAOZlPd&7XZ$;&9Y041{#I$3J!w_FL{MMM}|S{+eLH zyooWilTTI_Dw)G)|D>_#A)(NOiL~lhjk|bXUWtlbEDM@_5uyna6xy_1tSpqeEC(r` z!Tt_d_A1$2f)f2X-d~a4v0O871ZDdI!oIc@l9+)q;CB9s^T}+1QSKr5#1anxsP&p+>?UP{sn z&Q6tXAYNtU8|ygyB&?4`j%+jXTigIIXg)D5+cYf!3^i>zkF1n3_sA-%7E z|KLVULh?YcL@5yA7AD)c>E>(xa$eX%jN+LU~$_#9zYPTQ|(lJJ}Uou zjzyH11keLaC(}0`*ItnY+SdAfm^*apbx!m6=Ex;^afhP#e3(B!hq-`FZ&cvzV?V-W zy7(XdY*-#`MVVc22?QBR6gE3kaX>K+d&B{fm1O-%aJ4isy(6u~pc^v*`eN!v{tFmAu zx*g`875s{v0$f|58oS#BBWL57(Cpd}oqJV=ctfIQ5wpQrElnLN+&T@8e3gL;>4(Mv zgr`LIVNPdNyp0+reZXou-{2YTx%_$0D<+55sP!5T{gH z>?uAy5r$QCAp`Ut!zsk~M3MIK(T_Kk=^ahPwTx7W4b_icx5?w^ci7KtHLvX+`S<1U z=MK0awt}!yn>{VZKYxbiOGPd!4*M!(?d<&GEci)`J!yasNP>ARUk;C}mhHt6^x%Wn z;MKa|KPsn^mPGL7(5u*S*BUq<390EXp4UqHItGaA<1+5q4}%P^3zxW zxGJfHf7q+K)>~;)^|oU4M+egN4PLQt*WZtb=>kVbN4GVAQm_E}V5hXXY4B;YCCxq; zH4;x<=OsNb7)X!{s^G(-3ovMBYA1usBYy92eZ|o;g*8M|c2ctlw`S>y@o^YyRzzKG z!4vB(FBL}Eceg9<^LLZ%Uk_}g^BuSae?*=jR?;)l?5_v_0r;X9=TTx**POZ!IRx;E zR&GNuCd(UyC|vMS`nK|P*!PzoQRyR!+Po*zN*CNn>;peccLgJ=dBIUpe2u3sGv?Nw z37sodGH{K%ZH~#Ekt`uF8PMxpVM-)>7 zu)1Y4f@#wVG_ZgrY2R=4U*~Q$z@QWpdpI_t-G_WefYH7qe>Ne|D^(%<;$w8=TzbFj zqh3G!#PY{spS%Eh*)>7bNU8S;k`J-A8Yq!$05 zEc~ByVg{Vm+2me;+tZ|dHT28w0ti+%e4jGNyA+)M+d)w-Kw|72Ck2dU%{Nocwsbb> z!y*Z*_vfqw2-CNZRaPK~yNTw?T20Ecy?a6EGv3`3y3}O2l&98H1NcoHd=y+1|94*? z>|=*3Ogib4;LjsgR(mlBk@vjLuc*^+Y8eoNYb%1<4Z3G;yym9xVf}ucq}<#(hgr#B zOZs?>$gHuWB`rove%kq!qH0Mq>Ez_%E}{(I)y)74(kZ*bmsz(?dn{AeI8C8IlwI>n zPI#AEiK|Z}xkUq+_0%aFIA381mVuLS?}5%(e|J8iLjiR7@)%~;EQ{nT5kDq`l1DaP(Hc{%!V3d>5s&t-u67bhF_HvxTCo^H3*i!Y_ znM=Vok|dpufP?{Nk>3pbfY^~~j1|!KsD?HSNDE9_tTFz!5kmz(R0%hr_UvM?*CN?( zWb8&Y`s$RbgnqNSGb%?7S=N=;a8bJuZj5L^WloqX99~0+o~3t-t>#cFG(H~?ZjdLG z5qJ2Y+DjXn;2Vfc!;~Vm2L`oX)lFG(W+hKE7sd5OmFxo{SG5=5ClU~c* zlLi)J!_|ca6y5DJ@*~Zn?r+b{_MFnbcCFs`lSxGCgp=s9kvG{ecZ1>I zwkl{U)zPA8jr@~RXjkou=9r!Ql^Ja~Ft&|yQl#;&AAQJ8nx20*b>+5|!>RZE;3s^- zX;bByBt;{7j@xg#cD9{%z9u_A3%( z<>TCq%oie4K!3Lg)KDW%1t+xF@#V5I1y8Q5Z_5?l!94jqF5~WV^C=u8?#P@7fCF;!1a?(XvZz$XBb6=CRmGR zYa~OIQYo96&AHWGC;R1ORu)f95|aIWMfQu6_wTsR_6Tld+m>FxqATun@Z;dz@NdfS zvhEuUj1n3Ln*2=cg2?>^okJH<*HrPM?IME9pYq}y=_~6kt#)H3TggSyV%cKaS3%zH z#CXXz5lp{7Xi6*UFh-7ACjvE6HRyk`)G!z+-}Ee~eTGFgZFX8V+Jv?00he|x7xuo_ z$AdC{>TsJLTPu$J4r=!d$#3C1_v$v5M$KFgRznU`JD&0!do1`wB5Zkg10|(8++8L% z2ftmnyE?U(c@GmDyt=RZl>WtL@7~y1P7CHne$D?>F%_l*>SbRU^a{$4ub#vfu3Vjm z-_Uf=!CjOMA)aHq1`C)^{Ow@DNjQDEU(3rtLSd(FFS8+IZJDyJMOIys(=L@=eQcZ< zKuAC-sTJS#;-}c__J!o%-`SjW&m!(-7sKHwDRG*{SJnIG&Cld3pS$P5ZzrG} z_9QPe&O%0n3*-Jt19U3xI5AAu4*nxDP)GhyO4t4y@*Bm%)f9Af&Lm?Xat# z50QEN77H(ya4JlM04Sxh+-cUMiJ7>&<7Ut#5G}(itSKC?yM^q_C-lC+M1*gk&8C0; z+G)AKHvf{be$C9lm++|ctyn~O_3OQ=@W4hF8bmMdvM-skaA^tm-}O77f!Xs@Xsz2t z!d)YZkR#4d6$QhanFLg@F%S~Ok9FdBb1yPXyG$M|sH(+<$md<-_Qyw6KmO`|g{jhV zK)Iyt{R^qa<>d=Jf%pYp!tO(&b<9j#?21{?ChOM7OX2za=JT2OUUkabhh4*6sb7P6 zos-m`u1NXre3Q@#@;b^OXs(6#94)Tw4NO&mpRS#~eh`e6v%O|F_uO$ZZ>86N*oOD* z<3(;p#C?iDQ;Y_HXr+z#YmP^t=#cJfl|d7;f|CI(*iYUz49YQobYZN7PJaDJbN`Yg zI!?>;*5#|G)lK_JM_!j%_=h!>Qos1o>tYU`JhVXDHUe#>8D@@eb~FlOt)^bEXcXe{21Iq|U#Z!{O-Rj$@Q_uTr{1rAU>M~%OAX-WE{uN+TNkx6OAQUl z}t5wN-MC|$`lK7=x$k-N6= z{yTBz8L{q-kn)alkvy`0`?aho6M++>dry82Rj*N8`-lNJ_bTH>A5@6A$r8`5Dm%QQ zd9*$8(a7J&lz4}}I~$tzJ6ECZ6g|pz?u+{dth0YF>MYvY<&=}CF8;3vKA1|)>UL?@$=iOMF z{L&v3F|*(D`g2YuO-opPI}IWa*LQ)Qa`7ycok8_(*FjkH@gtf_A8`{A5W$>dPkzao}au12CwyWiWj_4#a^z$MtMH@ftf?3p;J_)MYjoleKCccKHePq+; zg!G>ml*PJySaFy1B(88^pLbT}Qu&3a%00&2GHEE|*#^R9HW^jB4>Oup{MU~`d5e5b z!RaO*AJ7J_!6D(V>f8DDr|Dzk{E8hpMgM`66(lf{wi~fpy=fXA6*>ey^>}N z@9V<}@rn>eISa-%B+o!tRfWybQokc=h4m&uD~~Z+>#|L1_vWsuYKJ^KpY^s7tXw4R zTQ>`H67?Fxt?u=IetJ%TW9vx|mt!o5V)-Jo=u6-iOuQgw8f{ z6tuik$kyX?6;{tCEG;u%96wirQRZ}H*1=sjj1pnggf$g&Ku!Sp9&D_kh#Pr2D~pU* zU->-{qBuXnm4ahm{>Y`7C!W73l?k3D#L?ZJ`}wBvLC)>F0J$cS0wbd^730oU^eg6U zBpx!6KGxCYi#`M5+ji1qCL4JF_^u8+f)>bEpNfmPceJMds?~8mo67@J5*(P41jRx&-UN7fhsS&e^9%xDkm@$Fz*iO zhzVzEL)JSwj57pyb4V(Y{NLjhKDK_;V!WWSJ;<#E4q@I(7Wj^!eF_QiYm0ftG%n%$ zx@PoN4O5AuVOy>DsMif=W7a)(#M`yCFlDhsxt{Xw&FNFOz2=iY$Hr2ppf4A3ms@=Q zX1s5zr@5`Z6CL)YaDG`T@17QWO9~?!6%<~tshdSHe#JrD5iwShh$l}52a6UH%&A>+ z6|-;GO$6$am6H61K12jK+Vqg)blSj`V=qO_{Dw>!5!5lBPesz_Mlz-8kM{REG)sS^ zc}Mt!?;nQ0Z&UT*eiiU$udL=?h`&-7?LISzauZ6eiuY*=Y8d2DBM6VgwJ)Kh^x)kA z?8=H%Uw^1>ap8Yl04itX6S^z}1{HP=qFMjvG*ul+U00$|lLrw- zd1B7(_u*RGM_n<5@`Bnv>ub=;Pk$e$Pi*`0E2ZXV?MDZfAIW;ae>oRacq}J~QhuEz z=h?%VD+BBw%uuURJ~K!?%B4veifG9ozC6F&hLs9WyXO-F?={_-Qsf4x2t_T zu_L(4w3H!q_=$3i402;|BuUaYFgEF<^iCU^5y=uQ$Qj zb6QTugU z8NNN819nk|eGo#2E1$s#p8fpjg<6$xOPLxpr~Ii{ut)||kXkI7%x6nWxD`1C;!~NB zra9V;pI4&6l2=|SKfXVF+9~MBlL@F_tK@Vs$e%E~fU@N8N@YxF5{y6R0~LBBl0GDW zbh&hb%4Yf#{bG;kOPQXgU%6U#)&(lcAQ#TcCzK456N6^u>r}+HH?!rKnE7F$CmEnb zy#)qiw;>0O+_sy77gTb;#|xmpxZg$_1y_ss8tB41D@AxJqFu}&$|dmehqic@{IlB^ zMbGjs;DMo)kk}WeguLsbwDV%!f^UMb_@YYN`aEhyUNqA4w-i76F0p5wb*t+ix+-Ij zDCNe+aL3LEeZ0cftqICuWC7Z6Recro%1$CbM9_H=c?(|EET0FSh(g5*qoXESN9^`u zmdh}=JF}w^KRTHuRLg$!aUx|{i(D+HBvHFOVruTTP`OG>#@0MWMzI{Br33LH$+Q#u;hqR&HJ_h(|g8Y_WUtKMe3y#%k`Gk#3oRU)C*gKyoO!?nDCUUdXUHCWFfn?PEEOAfH3RI_;^>^Wx#)iQE$Cjp^X7&O zi<)N1gUyY_?Go*(?Gm`C*M)vZsqGroO7YA0_IJ(ho@1#aJKj?v-T)J=FI)lScXup+xpxvI9yF2RKj zZY;~<1N7J!cZ*?HczRcvgILE^J(me%5E3VDN)|PrJ$Tuuy4qy9)g<+%%UB}u6yv`kB{JqN^(B2wjuN8F-@YFcF;#<*Tvp;-Hs>Odp zLwZg&yoo+n&Sal@_mUGwTja$D0?0`hDK4niR;wbElbhQ1FK;>b2Y5R{6;qVnWx^$0 zICFJc@x@EbY?kT_MPOUE?iKoJl{PSA8En|WtkvJU!cS!Bun92;0d{}?{Mg@gSj#}M z*<9b09ojuhscq;*?d|MugR_#TIVu}@g)6O-Ey%Ou>yvTo=&+#Mw<#XWaUJ3;_UAYW zB~VTwE%v|RqZI*ShzctE=X1pJ>y=NO<9AERTI|#T^ZjOmOb}O8kDT`94lhGjQO-Q% z-~f(xur;AQWXa)8QkxBvjN#7OWxlAo=g=sHn^>_0^F3!RN zB=cRKpjq<9ng;xIw@{e;u@dS}D^hlY*cb^$;&Y-_l!t!?;aQS?pErAfMwN=cSsP`7SoHv2cnrq`&(d;Tk-?`Jzk z+5=B*7m0k-bYH~T(B#^=F#h|7J2XJXe9rX`oJoH7?j~0kKZ6rncTlpCBb?}rNRV2^8`BeMzMaerpeZ zFYO$Xz5T_}anYOk)U}T9<=|LMgLXw7&x>Ts*B{|^*2?##_I(LLHJV6kJ{gHvD$ih#w@FZ|jIYXzKwd zh1kJ;q3|Sa-MIr*2dx3+g70N1$e7V(rg`_LN^N&;{)SStYxWk3n${pkwRRDTwAezB zhU8_YrlC>tzc_F$Emq>ytmCD(qFc|wv78Y*h{6Hj4QOj&Mn6X9DuC7FGY5}9Y6ZO7h))R&1u2Htah^u{iRd8`lj6col6G^@zsL_Q&9-b(1Eilfe9%`4XWc#(3Pc zd+KAULB{4vt~S&gjFr94&7iZLxj`olrs{%+ae%UG!R+sNy3C234(xvNg73$nA zGT^>snFwP<$EnuUBHm<+ZVCpeu61%ulw8xc<e0N&Lj7-{=pJ-cElRi6%76E&v}dQ2U}4{Y!4`(@-q*S?u$J@FPbd1>}$OA z6W51#&%PHxngspL#|l9yM!vUfhP+<+o$;}$aZlbvJ#8N2ESS17U@W6m25#hf3}P7C z4^G};lW{5F=bT@mEXt( z5CMyV=P_c7sz1~UWI=$;2lDGfTZjGB=1GtSPZBjVbu0|lS^{_3CGkT31**@~fgEe3 ztYjQNp}B|+)Y(DSe!BN)I0+Ak^A+6@d6hOD1S4vI^U8b9J6mTQ*Dg&{f2&<0~cTC4TgOOHpNPr8<74 zEbX}r;iNsB;l3{Xg(#r-j`M+1+v&dk0;b-DmjNk7Fd^>%Y`D(ZfOuLSp}4swyieYj zI~>j|jKQG}`~aGK@4n?!3Ne)yarA%#^3On@BpQz;fq(Z*jn(O=SoD{kc|XM=b%w6%6Sz8mkDqOl z5Oo~pH~p6|%~b<`e`62-OOa~s_QR8dhY{`M=Ki3qGx?%JVZN1q@3fL~P@WH6%H8oo zAXDxp8JLlpJcgk=2mU3;vIQw$wKW}WafF?{qBl5woQoI8l&^{STJQ1AulpcQ{tq{o@wzR#ZI6-UmrV|H??3@Ge$wzr}B|O;r5ZXQ$5x&|n2pAgUsZ*DPm=B9a?Ns%rkSGw zd6-4{UFO*IMDFv$Mqd@aE>x$PU%N1#SwI(dhPw%aC9bv5w^UIlTfBV&O8j>ej!L*U zl3ntX7D1#qGIan9Bm+FA$;eY8{4&cIRjPW_BHQ&p`f4O~17Q=qg(=WNAL+mk8-&~_wWPrig#~aW6pw{t2YK#!9`$M_F>@i)z6F$H8>m&qCJI59C zbvytSaX>qg7ZgSiNk1s|TXr-h|Kg@{WT-axl`3#fIQsrEk0$Dx$9wwVaFw@qGT^LC z@JICnn(^}JfU$*X(I!y`E1!|0_YkZe8zK79N3FLRH}@=n!3N?>eP*cokIA^i(m2vO z6ZW}Za##k$z~*}dPN;q-R3l+hYYG=0DWUxr5sjmS88391e*R!!GnO_P{|#wsG*HZ? zxi|Uy#p(+#>%*;!i?e(T`yCy64x-D47?>DZ1@MV5o9Eqo(PDjk%ipjhL}qr3l%j!2 zZ3q8UQz-~bZ#Mv9IAF)J&Tt!rfaN@~E{OiFd`7dX6o8m(!L`x;3u&pI2iV5uhKy39 zR&|dXobz)KlRPC2qU3HDz%r2^s890n4IzX z8GVfVtNxp%QDO2Skj9)_Rr_H({k=VpWT2e%uuFjPyhpj8)m~np(F@}~Mn~#EgtIT5 znMrck(B!PX9Cc%^EH`UbxpF&6zn|*Pip7KNqZ**-nLGkm)9wz{XTA82Q{+#wcSRZJ zBOVLcX%IOu;U~SGzjO}AJM(El`T6Dt9ztD%E`Yl^e;~N6XtCTjOH3msMFs|ZFWWXw z?-;axH+ogV4?FidT`gVvb%0QNt7=S^dEnb&k#uUTl8Z`P7GjPTV?Guc7VAxz8dzC%j)5aB1(UV+8d3DU~Og zW49;1#@uwv+Roz*hL1ig8sR0mn#ZaRMep`YDgpE42S3L!;=r!bY|E>5oCwcfN%5wu z+}pfkPo4XNy-7q`=KlC3pkb_%$Pqk5k1*l1xbJdZ37jPe9gYl!8dMO}%Kd&F$GG%3 z%$`OHOR@w+oy9o+$^eYSP4N(;ylYC{EMp>DmQx=&$V_tO)nOMIJ6BuH;X|l3VOAKY zn~u!mjlZdZY)K&TO&gDM`3Z_TuJ2G3Ilo-X!L$XYlDjbSTGY$s*uz)g#VH^B3o+ki zfw#47NH|dMk%q>1a}cYDLr;pAqJ}1?Q?-P3>ML2f1#V-xW2ouE!_a%0RMonFsI%_8SWj)7$ z!?L6Z)BdWYMyo(QB;HHzzG^VSup`kX7|?UiXDKqk-z1uu^|{c&lKxu9ndELp9UYlg zt>1kANNSDIINk@7GRz1*O7m(?hRTMA@=3}-j1^r+pF6N^5d(&8E4RV`Z)bbsXrpc+xn58EV`ZH$SZ+?B*yx@K7=fqEr0t>ie!erh2yV1$@Z80KY-hBEPl;wFDTt3Pb<- z_?1*Wv00PDQ7SgIu6C)+zhn^JrYa7I@lj53YsNwtU4aYi;`>hu z6@k0(GRVFi5;&yjM zf!0pI1p2jS%i5&Wq!QMgldCs)2xpcGfRmRPWxd~PY(_EKn3Va6Ln)h^o8pmE2;A}E zg-Ozpa?q{(`(RLu^FzNxT%SUK8R{SV=b9izGN!-lV{$!}i6h;132Mm%2~K&=C5jU& z2d!KRuqOj_u{W1_`?mEhdE=k3yb3M_+)qhalUhX>#{FJCf!4BxkJ(L{tzUq!5i122 zjb}&8qb~NJhW6L5px%bJ?5$~1)yhta(I8If@kXBj^#3eC?{*^I#nw#~zaZhP|6KOq z1mPsp7Miaq2rgO-q2^d^s^+BIWK05@@b3$3spKp4s=h4?!_db_)&5}Py@ng=$|7)+ z;yXVfBK(w#F)lX@U9;(fH@|5{;ii7%?=rA$wH^yFcXj!OZD~@2bxrYG%a^-iai}A?g+!H_;kH)38%{NAdqgjdT^pzU3rw>UGdZB zNY8-`zJSk#$sEB(Jd|mo+2zYhpxn!xs|c#bysW-C%!d}RxWdTB%=i}w0jOB;IC4Re zPzGR9Ryi^_X<>_kW6jJbDU(tFbL5Dib}cZ4Kz>It@?uNCggEDZYr47__N32TZPY5V zwCzv3k)^|(4EbD_OO8K@Bd4wuAPlsiP3dCVEh3@jFv|U-nZQD)(4(E+%(wT~&Okk7 z|2srdCC+UI>I+tjI^JKgrS=L@ZB;X9f;I?F&TEGK9{%=w--!dRZ$j)pWGc7;Pl3eF zNThRIm_J{~vWJ;1UUgu*OI+|trh!_zu&k;dxV9D7k|*n)WWB4Y+e%6To3UdUkJL?x z_iGR6gM9@-M=MPm?#21{cl+1Ah3^&Z3cBpl>rjgb{xHDl5r^X3O>-;Rn!i`>e@pAG zS-PI8ka04K^7fD%ulXhlCv*>T-DzHH)ANf=Mx`aZ4)`Ak-E-pxAlC0kj%sLLtE)t6`FO7wW=nH7ds)Q{T+4xsNfdyOV7#q zpmlFY?ANiWL$hIXKhr!ltw4I!n>kB%G?NJ3UsE)uV$gptw#EXu70}Qi@~zo8Q&<_d zh&3SZRqr@dPl3Cl_UPDwqjRv5d3qge2zQY)Vs*_ncsY%}O93GQRV=`F-dIW`Ub=qy zb_?|V&(Pta#1P^I@uE9g6?($_R*b!960=>Ap06B}u~OOBszlJy-WymtyA&w*>_K$N zRr;L$Et?V*Np;NwzAn|Jb4OhuN`SG9?*i_4QiNvz+`reeTI0A&Y`?DB)43sMJXID& z?Tr+;D*OF3X6l&=WW4oG3O^c(>y+FA{PNrSbvDwBif}WQ!wModek5H3K_xA2xN8en zY0Jdi_>_=vCVT3qg`cjm%o1Ni7bIi+yrPHa<7`408 z*@jO{?BQ_Fh|9vKh{MztG_J%;Jjy4~GJl?DP9P#?uvu)uZ)3p2+TW;*gi2+_rk*fO z5fJYlICR+C4|=ri;~X5k|DAN`tdtC|V8v>#)_9UeKk_QC=QCbnB6)O&n6KxX_WpeS zoa4K+ufuVI4|u>YE~Yg%K%t?aV>cSW*mPR`i1uZxs+m|rIU%b+8h7qOl(l-dYaPKU9q{ z&ZPVCz0pz-W@>tM^AT;fm0k9cm#k2O=8c)=ysI06jKWVvnX;X8HZQ(QQW=TAf9+)I zlLLl_n^js5z9ot$k>k54Cy#9MuasAQ=2!ka zEt)7yWbTWvY{>UsZ3#2|iDKIKgdT`O=jN}L8T^k6a6M&|(vc4IegF$U>Guq1?`G;7 zc=&Li{%~7PFlqRi`%7KJDsb#N4;e_7X)h44IM1e1SYvG6(0zZQ^zV z2PWT-6x!^LGtrJ3Fv1ys=!K ze^0NEzLGF!JgnqL^xe824WkGacT}-c8C%gXd&}GMk)7w+KHoT4X!Qxw((Ci%P!xK! zdxZ~5F>mO_|39YQJRa)z`~M#XGg-!(!q`*R$U641S12UAgfQ7v^to&UIanb3c_*@uN_hYN{;rE3WTz z_OAb(<-$LB2B@taD4NP26hB{Dp_asE`q&OEYFt%&MDw!3U~+M#k#YPM0j?1EQY68H zym_uI*UDUv1bdqX3|T!t9_!X}dRRVeeA+m%I0WnYuycbx|EpGtq%xy&_s;kw}E1%+c)p<>ci9MEyW!$h^~#=INcAyH=g_D zBKm>gE^TDqGNBF`BrTxpef@yD;LEiuDo%8Y5_m&8zaiFZfl8>bfKBj>t17a`NRry` z2ltM7hNzHCL<~@E)lTvI>F0Jbf*upeY=aNr#IWkw_CZ9GcK~U;>sMU-b7a)_H%VZ4rEyk{^+a5$z>B2# zKOxy_klfVmQ;P==4t#~JEiIs8=lZS4-vJ@nr&_~qVKvS*konh-+9jqXJPE0tjYQm* z`JRy$ssyV0ugM(*Lqtw2MoivQ{f%9)X!s$ddS`F0Ze|Msl+2YvBtwQ_c^^#kE_N&z z*qghyv2iu<=@TO;7R%NKcGL!LTF_zNve=CB@8#RRSeIY5xmOjb_OymAot{;^o_aU} z&^3l#0D?=&FQ(qq=BH_Ny3TfuxP)B^d)6pX$Sp0w<>;$dlI8%{kAe=-m-1v!wpv1kFz$8z3Am6-moRpuhI%!=;0x zICw9S5~cLv)bnX~WN=-gw!~?nEa>92DW)QHQ_>44E&1n@NClq09?lA*@m9+CU|If? zSG5#RcFfl5`C;42RSN&{-Gs;q4VVn z-#M4iZrm`rde-vGU3C&mQ<|L(c#_)|15D#@1Km7;IBOGNgoI=HZ)OK)hQ#@MzR;=C zioaDIa~Vb5tCP5u?<+rsnJj`#&3;S2cPBF*nHk)6E0*tn=_90Eo^FW1ECP`Kti}rk zGs|??CxHyAW+oUh(B+Gyhh;49X9-EqT(0_oOk>Bqy*g;sWb=y*w&AVCd(>eZbnn(9 zv-wqYTp*Wi-4tb;{;ez%r7Oe^%fBM@r8%e!X{}51snJIv;|n+L(<8c=BxBL3d~Uu% zCDVJFY7xdW?6eJNss6jXS}a#o1~%rdEIn1-g?Ot=y!)Ow(&;a+Id7ydj?55kWH*pq z=2LC0ip^ixlqA8HNOh7(fE|??d?^7GW^=lRS0=D)^84p3$SHI1RGx2580xAS6)DKd5f`hdh!&QA{eWE@!4Y26z^wg1W|CP9r0h% z)Xt2KX16J_mo$syH02fj7Q0gUxW{bJq#olq_I=Py zS*~H+{yC5R)7u;3KYFiDPT4)L72aIVJGyAwIk|mLGPZcmGpHttb}$#bF8#H_-RZDD^Srp^4*v?5 z{$oB#=DazRFEQ?$o2rGD;*v~XZ|v<}6d;WK{N&ozeZH8XSU1>AlX5v7H~Zc;e%XM* zrho05eTM}hGhCVlyw$SVxdOexK@Fv?d!C0eWfLqA>r z!)aJcNAS>XPjphQo(l7WYvSK%9LUM_>8>#^iOm$;p@~*c1^=>200L;M783_co)$t? z0AMHk4W}dwZT+aGFB1(7TAoB;u{V*3+N6;96?Z^HJL1_gA@z9auGY~CxX)vbT52&z zZAu~W=t4c>TY5-r9Bgu2@akIrWv>b!>Guo8W!D;NB!<%sC8^N86V_sp35=@mtc7Ra z*HnKis_bzMcP+yr$Q_ighTeQ^Q-hWA{v7POVm=@I4hT|e&loK64Qg7U7(65b{|B{! zI}uRQq03{~>vqH6B_cl!Xp+=JBm|SAzq^5prhQXTUHa3cop+J8gVUYA^EVzg1pv#- zS!aubFIJag7Ho;K{ZsFpCqTvm5#RPQ3m4^`*gv_~8O)5Xwvz|7<~; zD>|VRw?d7Wexe&0LswWZk)-t-YGn8p?VY=_|H$mpA4FV(ZrQ%aYNEQN^L`GN)OZGb zCAKe$Im{Mt7|GmV)<8Sp>`?eGD)@$SF=}r9f+Ozio}ROfg@^SE3SGWD3F%K0%%V{=P>o| zV=^@YZY7Ic^oZ>4cQ;Glt;k7~bR;;?%HPFIf=hJVmplw_Ul#izQV&t4(j=JDEefm~ zQ1LY13j-gcsT%mwHu*YzR?*e>Ow!>Y=Wm1^XbIoHE}e#Z;9D{i-L9#QS*F`odo#RA zx+&dSGn{Atp|xT3cVjf&o=MKmq=Gn9r1z(MEIx=0w(1V}q`sRK=`Aats%{wUp}zkP z#yacJ%Y9i0ZKW2f`Oj++6b%hN94vjXFq-5>(fQ)cMXF|s?U-BRgoSjNJ_lOqrEG_& z*Di#(j7k9nYG}a6iA?|G-(X z^-iu8yVn4tsHT%wu!17}0!<`#GojmCI;Glb78K1ZJ*#bRf2Iw?Yl%84D|`C?Twbz< z3?eblN)^be%i1^BJkQQ#B|tf}a>d!fs@3PRGQxzir~Sr5Ye;TLMB(%rU4d8ZE~`DD z|Br9%rvi8bf`XJg9Tt8-WDm5=P^7<$q*3aV=~utTxM#9p$jwlna7JRC`u;H1-7GWk zy!d(@eA+=BRRQ0s`93+-zuCgfn~jz{iK-QUEG`tb0#aMk#46Esl&t7uUU2d-Rf-_* zk)3T5g&}^#(k3bQK>hUJvje$LFeNg`*jcmt&2rK-GX7qEA`MhlL$Gp|WJ*2A^%->&Roc{SC z#aq$=WtU-^b)Vt;*R7OWe8QsP1HKWzg#Q-^a;ecf6(u@y2pF`P&2g{e$0z3}yp;mk z>6wLUf(Uv+M9k9Rxz95w!lZ&XLK7 zlPa|J=)Vs9LH6Etw>JQd;Ou0(HzvFO`1(Tp!$tk+iyB8tLl`^8+ z8%LiXEa#poDjzBa)o~7X;qo3?X1j4Ik4zjD@7$NkBO17^+Z7`@wV?aG(-|4TVa*fK zg=!}|rG0+#;P?=N@YXkm?%((jM&h3VtuOW-I-oEhYBLP(=+2*P5A9a|o(~o2R0(4z z4xC}py-6vI80T@+l8dXFws#`O-1Q=e=?h1`V%MT~+0S?C1*Vzd6{Wu9h(VrVXS!6= zA5Qa3xf=KyM$A}vgQ|7|`{lZxp>$kuvw}&G%$EQPo)YBV$3$3oBFV_3`ep zH^o->HMtXYet`qS22ammAJsaxC+aMkT+%Nh9b5Z>B-(!&vYP^5EcL2*%lYsh0@Fg0UFE@dRLzeGurp`7s@3q^T-oi+~)~tma5i56GL&QBm z3Cfrt_aH(eVMR3G0`Pg5m-`{OU?uOQ?34=o-e??+46q4X;Ok|k)pYyxHLm6E{7Pqn z+1Xj&4$!{PdfuO^pk`uUUGpbF4bB?y-+~tG!##TX3sT9)8BeRuGxPMl!Y!q%-!D_& zd_xia3{symgX^Kj#vfU5EIZ46)h5ED%Xs$HG%tagQr#V~P_>Dsc1aQ^L zWYK^(p}<4AH?K2U@C)4NjC$C|tRwU{4utX-w`2}X{*8gKLxY_ur(rj6tnS5+(CY{p zVt@A^fq=TRgLI)y-W8_D7Ua(Objmx)>ZP5dwlEQIFRxVrC39N(M}onz?}X^!sZre) zA(2Tikh5e-O&rW(LG<#el41Ty5)1a80VnjTX*#ryODZ|%jVlJkpIVku81`KITOUJy z=VzZ2CJm{Z;2%QuMXmFpm(VE{01Yw_LF#o`5290VVtT;%Xo=dPzhOD%gA`_Un^8Gh zD6$vZG$}Dr@QrYWgFFrC0v@wrglY`5%A!)t38*tem5^I9p&J{#U)(=-_aB>n7}@f* z;3S4x>-{3y{2qPqbA;qSBh$M90R_7q9v0@a&g~UjNk;yxvuBXhz}y>M@!{kYYmeqr zB^^E>#?(cJW9)4ebDv9!kDQX&kAQ+CXkU(@JG{6?*o0DsEb~xW`k|our3wtb*$Kxg z&kp1U03yuTMUy^8x@SedcwaK2If=2&8RLpBgeLqO?e9P&dohEb9H=B`+DROxKd^AP zKQmJDj=4#XPF0KOVc@>w{)w(2>1L^~$-AjkZF_9E--s)%vSx{dBmu1*_$7yf_8JSK z&jbAJ>Rw1*tIuy5x9LoT&65Sit3{Ng4xn??1RXq)JPP6ew|WtPl%t|2%xn=(jB4d3 zub{#X-W{5QM7LZ7!E}WdDw z&7KVtFdy2j%_E95=1Vl*A~kO;yCo;xTPjLuv+i3Jyc!$M;P8>F;*T!=vf}rsKN`0| z`M-5q;KljrWeR@~(R+u&-(RXbnev}2tz3Cr1EPM8(eY$T8?+;JdE}Q~KD?11Ux7>@ z^XHGxwM9MYH#b98iqbRBH_htYxm)20i8d;DV2j4=^+lC4GD)gzygbqwPskpoP^&Pm zUv;@BZxS6&O*mLdzFSjB3Jn^e>}BqD&1OLwvz@d2rwH&*#WgS!Ry&o=x0+@M!xHjb zNWXAf>CQ`w$xMl>@ryrrJJV&ob$ifm?_`9-hPvjJ)^lH8d=*1%qi3WW-waIqr;Dg& zU8go$2F%sARlg16!*=-?B7c2+>`q9BkKo#TA+0&kASsbVc+G$K5{J9M`*VwHpu`uT z@h)gn;J~Wtlw|v4il{`uF<>Gm-v_GSzM81f{D!4d!`{hRO1kCC$PbpCU--V@7K6 zpRP4$Z?KOz@0X3nsh(3s;C8y$+4$?5K-S_0yCom!xk}iw~JiTyXmYYc8*ZbJiFqM&XwP$)!1l0zBo30 zKD3k_E{*!k?|CdtLO5M;+$wOoR3zjHvZ8lBPjchhEGUBbae3Qs-68*#;40e#@;J9A z5-#7H(5hFiHjnT_xAtsbI#9kq=TD#qmJuQrtDKX#rww+un>3^Ezp#Z6Clvb1~EI&*nIhth6cv9(~27BVgUbV?Q4=XsMacJ4Za#i?qZpNSm+9np)fD ziNX&;lI=S12M)O$)GASzY_Wm4yW2*N@7_ZPuO{Za?$W(xv zDM#i11(2j+p)NV{?j@{7&2!_s-ZgD0;(% z+ehYF`U-cNoaV1d0Zid{pXsTXHvOxpu=J+Rj7%DA-d?aO?9_qHph+A_C=hTX!v2T? zOn;(;L_5N4aaX9b1wFaUP(LnZf3GGyfTIC=7WkG6Q{|3$bd#T=Hy(r zV(h2jHg_n+k`>Dvw}9+r{%3~r%pVatVc)kYM)G+Z^Cv_LA8)Eo)~UmxXG)g{N|e2X zzGO;<{~lO`YmnWUPkBxT68%h&^qx@XNJ;4QGM}3sisClFV!O&De_driLc-dYq*ob!Okq)%?ze(d9CJLp)^O;vXt# z5f_pZ;Q=HWqmus<;}GxS9Ihfn-Jd{u6Ge8u;y4DMDI`!5LNC=@(9fI0vbnt@YRshv zid~+wq;U-2RNKllmAS7QY)iEKkRRs~Gj@s`V>D@xBM~_4WL807yYw8{BD}w*S)c(v zu2Kj+yQwWGp9HTye1Q4~`$i;^XffjNH5z{0_Ux#dQQ+E?He>U%?iK(6cj~Abb9o0& zUgswAxvIH+8|#8+%KkTHTDwID*0_kLvhMt^c&GXw*PqvkFdBIj)zp9W(}H>J{_vqD z@7Z3lzYikkxe3B%a}X58=;6*{ev@ zO+Z@@hnx${vkgq^pO5puebArbuafyJw(AhSoTHu-mLfReWfE)5JRc?RxbD0A(T9sn zYpl6b@A0PVpR4%lDB>y5=_p;I<>kcEG=P>5yh_CB5zF$7uY+>MDdr$c=ZNXh?BzZ= ziP5YflK8n$?TCfa_TQVA5xT%7TP@~~CGLG|k3*h=vBT@7-8%b7?k?05VCEL`d4y5D zWw%zu&r;*jh+>4Kt=ywWl!-;+$?p@T-D!svuk_=hCf8*c}5ndAz;hH^FNa7WtX=#88}^z!pwrt`PJqn$%6yL9vfJnl%Gj5&u(Tda~iSJy#}K z`tSW(&3zD|BnOY0E8<5Q{s0j$PWorz;XW;E1xS3D?P?Lmb7bFQahI|4GZItNb^5OL zggOAMnLC9N|r z%K;XC-@m#~x!lvp$rAP(6fLmAZS#SCcgQu5Qe-0j@ZdXDLQcc}(~ReSLvLIzc$n8b zY@<7hk?Dzuhje0&+Io^5-NfG)zCT<_pq@t+wTf@&fGEcW3M0D0@FJ-6M_BKX@ zc|BUYY#pDc$jCK4F#LDGaI^;(Vi&u;)ibPf^% zRWn)T;PGDAM9agW*)6y}oZTq2>WOg?<*oaEJ32rIt_{l?^f>li20EmZ;a`b$t0FEK z)vc0ad{d`BP%bL6Ee0oj(PGgb-)|7ra^-ti-cgZXou`bmzh3mE)HD>UfaBOm|FF}B zg~JVY=a2G@g@u284@QY@e-4kfjorP$!c)(k=Cg^ufQA98?>OlQ7j6LOJ<0;l2e#kT zw678&ghX_?ycdu!64GXFK$V?gm>s$0>y}H`@9DS+B$u<<w&hGo+nuyI0!mI_1A0tr_BTu|Vmz z#T|2A%y*>!y=iwa{f-+9EW&BRPHVLyU?@^k{^^dewrSr>?y+Mhtyx1oh1baOa?>l&KsVG&L{%#p^ z{oV72U)MavwAn9_=;~n(r*4h;_2{~0G#<8!>`a6N7d~Ya(|C$ z8Su2QX!sxV`P;+*M-+qtGS|UWMlqxxw;DrNpY7Km>TNd@um3AoC(1#=QVRb)Fj#mH)ox3T7&q$p8eXb13jpvN zGM5A6G1Sxw( zc1je8n8Ey^Omv;`?8PzLB?32sfL-`EU;pQ&5}*{P^?#c(dBz5JsDECy)wc764pPf+ zxxvE=m)S2DPl^oE<%HbK^u8D3jrX*XBv@pDs*6M((xV!OMDB{$2C}5Oj8zLg7BSbW zbsy3y^0XZAsY-!KcBE$q3KXaBg2yR)OOcqte3k!b*%e|az;fpabDQMrUQ4R4@#b5fhhrmUvDOZ#!LOI4On#~H|dXly8XoFHBh z{$#`%aLP7{RbPuyq{AxXlssXleYEH24~39g0!VowWd2byGM>|4M-{$kaj1EL z>x`FaourDceOzY?S7(jT^R}LC?Tc)k5$Q9W5f|3UYBtDp)^v1G6KZ&Bk?>i{duGb< zOr;Y5!F&DGtfexROcxP~3rA znrZgw8Ttb2Ueog7d?jxw;#~$a6J0!R&HKR>di@0)xN~hZfD{WBK`T9;>1m?E7=Y4_ zst(9pyF;uP^QsiG=EH5dxDh7VLWVTs2ytGT2ZBZ>{-f^d7-;RV(@!jATZW|<>djB7 zqTj-59L4yWR0N?-TX4`5h?DoMlSzrQ-Rt<37Q2TZ`!eW$yg|&aa)}{mk?X%F_o6`h z3~G@A*^&bBVb>BeNfm6kIH*|LTLp_Uw7Df&5a1U9Wf-&`j7%?|Kh7!(Pq#+2m5_=c z#gc#SXI-5Uqe1H5ViK?8iWY#iE-oC-kf`J35QMZ9I{-=zME6gPoG^v#<)^~HKlUhu z8IQuXP8EnQ5Ahi1_B9^}djxef1^A-tCZ*GDQ}!zc5rs8c5#pU4G#C%{s|g2`0j5u6 zKJyiRGNbHza-1Wk>t)gx)n;9poZ!ngU0Gnlqp-7^pDX2U zTqQ~D{3hto!-vjSfK7YRVgvqkJeXf1K9mf+#<14Pj>&*Ua7f`Rw|wKEs;k!AYkf)Z zfYUz(-Br;^e$h5Rlar4oBMZe})2H(dLk7ezoPYnNP+CQ@M=>MtlVa3M4%99s3dD}# z623IiPp?7hgNi45d6ARQAP-s<87U|Yku2qIzV}`C{K*-aCdxt<3~=0R0|eauXLV#~ z*v55~!YM;Rzgr1?T6Q#3r0bIeOSqM>M{IIFy=I}!oya5C-S2XF9#JwzhNoak;ejg# zT45)p#ea8GN9om136j?|YFp($j%8-)SOa*FL(GZAa^ROGquO1rpfCy0wYX*G7If|o zLNZpJINvW4uXW-|6JmsDrwb#c#!@JC={Say@6s|&{f0-s+OxNf=nqa`bC6ZNn$|%h z6#v~*3pVU!a$IW?(Y4xL>u}rUc(NNPHJQ@u2BmN3e5miV`8FHsjildh@2NKau>sIgek~IYhLQ6pY4-s(rLZDZ(ejucZq+#)1(g{J z%*fe6uWDMgP4_3heefQE4L%*2*>MZGSO{sA_vy(G`AFEcW({0dzNvV!amI4ozh4y1 zTlqwVa~3)`^{5(Vwzt3fk0Fo{C+FEEu;cb;I|?(QndAb8aXQ__gdP&C@=JHZr$kCk z)aR7DZj$!hYDSK=@A@+oXh}n`H+%tRR3KfZwfttxtH#~PZm7iMHTqTW$z95iZ2g3p?06s@ghe) zWNTW_I{#Kvjk98kdO!XWK_70EB(%jrt z!4_)?;qJjX^SH_}DEnk1jMWUq)m1<*$xfg0--;@POmC$$eh|R!N>qm$u^g(`6#e?psb8>l&BMF8Q+&zZfSnIS>Ty?adi zxmSv1?4v1VCvUx)=?glAZ29=9o7k#6pdfm9qKm!Fi2yrdW_aW;4X8N42*F=4qc7ya zz*yq$={H?Ey4RGdeh=uf0nOjLnUsA(yvX82{ETVj^9N`myVvdY2#Pm!TEuiRdC0dU zbiSS6Ux7rR;`gr%?4*+0fRueH$v>wJ!(8Y|^4ve6HK$(i^q2 z`rHKBi#hfI;9i*j0tenUd#~yj8n!o_0ZT2Ec|Zxg)n2G-^@B7!1YOq{ypf#cd|%IwJy%QAa$iT&fsB1gWQb8`>RqbXm(A6BJG0j+zw z_QCVYttk~TJN23og&b%fZ#i=mQDphw3ZaEz;O^?PZ}Js~23@DDh}!4-$w+(@2mK*b z<><3&LHVr_sLQ^4^;zMSVTxN6E(Hh9rIhkIoCXOgPRL^MT6Bc$)qb zyPU$+Z>c%uO(UbC%cV7c_Z=IO?-I>0Xfow_j5{jYup~14e};Hv(LIwG@1!psU6Tr% zE|yvJ42Q5H;18)_R4To;3KTR>^QTPKCiO)3@*>PAjZOF~x11~&)a4dzIuys$75#vE=9z&h(qa%+Ed$=MjuLGBE_ez*=I-IH=#xQ?O*vB zVvaK5GnB{P+_d}6)fH>)XB$}a{`e%B8L^K0UxK7B3swbeDi90D>|>Kd&<~NlAaO6k z2Nq=BMr)1W?AILDRHK*ifad5i6F;#*d>x-^SMS{ollK%9z)6|RH7V-q;m?7@jUYw7 zq4fg081*G^?#~mT{Zt)^2?@>?@lV1)a#@on%3;bhx}z23+9(XMh=@GVr~=E9a#_Yi{=|S&48gddzK)&#H8DF=`ZM zGx{$^Xgsv9E_Z`?xoErJQ7GZ1TNt%OEL&irUIMMneAZU^r|8`svbyrA9Fn)>bDw!T zPZ9OXVom$)Q~gc|kc5~FLC*g&zENQIR&G8>N^|DU-ODITn<%o9IC8kB6QPE6ALBGA zAl{?@o76Uu;;9URbbk6+U3tLvXRbHI0`Iu-(-G>`!Fl*jH{`3bLXqPJoAZ+hHFKW$ z?k9|rbwIb_^A%~Wp^K`DCtz@QIscJg!7Ui@TT6pwDVh^-Kr#|HX6d*=0XYRi#3L+;nYqtYiC zZpPcgjil&5mL&DWu6EDelm81GK_sW7U8_pRcI~GhLvxxTc}IFYpCnprcZH8xl-wT^ zo*LRhPKVC|ML22OZh-fdzC_x0rES;gt;_Jp0)tSdGnU6dqFuw1H zXqczO-o-*i;kpL`alTg*S({x~llzT(<=#Atfo{>hntH^7{A+iW#NQ#ni7wjk<&dF_ zkaES!{N%!%fZg|%wo--LjbS8PL%1q-gQ=aEWF&EM{JUF#prNXsmgvxJgW!4u=z>fm zS1F_y;mos<>ceUJr%NG!>&0Ag|6B+enYHg(cJ;c0G5xSE67}Gvh|3-2?E8Lof*9yc zGF|B#r#C9@YAIo z?%0tVN%=>9)1wS70~Bt2s!+xKVwK;Qer<^57Lxq^dPqTI!m+u>t~xY)qtWn%&k$LV zmjd`>jY{9Tv-Zg1ORxb5%g$x?>fSXkZ_ zlKP6hc@Za`zpPU9qaYpn8wmbgfY40Fx1*%GZWv=mhKhwMSnoy{4PhKSw-){UC<)xI z^z%yUVQoReafUx+BukOjo<8Px2LZW8FMW4)v&uzcUR?y9Zv>HHcGWLdta4~MTK@b^z2BZ-l;F^Q zv3IiY<28%bRhB>vtZo1)i;~JsEXgcNnpF8oE*@kqs0j zsNEZCFUXR52~XJ6fwbz7XIIkCGvD#0dw_ZjI!7!X6VQUk6muS2(!Q-EG@KuI@MCklCVdO_r8V16KKEQc#_UlUi(|fB9 z?f$=axs$$62K~)Qy7;>rPRpTmcB19x9(q34o_|i*jONk{IiHED6_{Xqh$453v@;ZYF(ND?_` z@kw^80g`$v2uQCm@s$L75lTWh3tyLTAdyq#3au(7ZVT#)RrYmNk;Yj-6T?>DCmNPP z6-t6Q6TU0J0+&u~z+LO)v-t~gZR-7A6}2#-L4()YoTRSh{W5RNJY8IP6rY;37}NBV z?ugm0j z)_n{!G~9}LL~9S(`jdCX?^t?A z9!X7iten=5Um%eTSDF4!-cx~sdzv{iqJanFmsCmH`HV}5^($|!&eD(U`b*|f%r{(0 z(W{r_GCF^!WWyIuw&k7sT|@pRY#qD`yV{(q{drP9&Bu~NZtpJfYY*`^QdHU!JTM9M zV7lg!MY?sFA3SA|Bm;#g!KVoC965Bz+obF9>Lm3$h!;=#08ogVYQGyoDcB>Rn z7Io(NEYdl^R7!`o3JN?_jOu^dufuAMVm;WAP(o=Oy zFhBOKU(*G1NIvAFJw)UXcI5S|uH1!Q?jvLiXubfi&UUWYCm(QwpcA6F1Kbt@fJz_10D%%#+e4`{rRJ>z>;nn`kPO^VB>A-aWb{woc}0G+ z|1F!wLj6ZLdy~p^st3Bbo63wNaxp~1q5-R_&^u1D-c{vZ^dHM=n?hxQoBZ@WQINwA>VynkE=?x2Y`6BGsIc{WghO=A zui4OIk%fM?l6#E`_qCoG0GEJ?fSWhD-fUMKuTMd0rNg+P3k4=E8su_!Qn>M7Ix1iv z|LWAbSHwg@pTi$Az*gK!L{u+#y^wi|%6V3keAVBN1Fr@Ti(*P_Ea+|KO+h89$Fuv( zIFG2plUz(#oMRbOBZvD*T%hQ>ZP%}1(rhhnXY|DDoex$>rS{z=g~RvjcG2Zbi58c+ zNeBj)@!I}CB!wjcw7L;mC5tXhr2f?02UUzOd_3R)X!z16-fkBAQQt($%*47#h*g!%axk`lzm}4naZj`%bSJHy&~JHXpZZ$bc~;~ zbj1-RM7=JbSL0v1=)dB5CbMZ|?uuxL@GKOO!px*6nUr!>?@515C&(7|e+^>e(qQwi zw>-pu2FqI9F8831ZsQ(_qjxOiVA*9YPKsy2rnEpYI{KRc^zrA-X9t-$Pp0l$f+ODq z{;^$26ujf4#cOMwjuFUWILoVl0wwYfe62$DZw(`?+3UIzHv{E{B^(&vPB9YWu6Hj$-o0L{13^SP)wf# zqPmC`-Fq3ba$Mle0K2??s{l3?)OO4i;0MRyG61$0TWp3o(l zOK3-wsH8^zdPp>80kBy@LvRUKHAh)sKgdst7gQA$cU#pmqkQUqDzs^lcB-h}b%LM&xM zHSLW=1V_m$|DY_i7Pt+02=R^KO!(y`G-v;H)%Zm^S?{l19-r9^%y^;-MQl*DH(XpJ znfsiDDpnvayOfvH9UQQOQQVBct^BT~*Y)TtEnB$&piYILq zBEw|a9NDWNi2pP8J*VQD5hBMJEhosOuTq63YA-fgQG(qZn15Wg6g_b3zO6~%Wzaj& zyC;~L%xvFp9!lftP%KYdyTeq9HqN~RY2~4;Z{ArK+giT`x+=kmX)E4YuD_|~5RtfC zT>#Jc-P_a;6!G}6VbFh0#ZKRm2a_w zN8hgSlzF(wC2BCTZiq=QM=vZ>AjW_uNYEQ~!_U-+QE+X_$jAByxNdWs z{WIE!t>qs1n8P<4zIpuO521(>J zHMg#>RVi;!(bE3aCouX3En3>2V~*0pG2cSEIP)we2z;dwIi+whot+z{9(Ih?BdND@ zcbC=~kVNr>?@!gTrcWjR9-b@+laFH2chV3H*w+wzvgo@UjDOCQ_zEW1J4{@GncwEa zm=eVjO=F+03kqw4nfIo0{7IWe?tHB!8FS)~42Sp=Ya7h1*E+2p-C3C$3U475+4Yf> zOQyt*XEpJuF6?LB&xU*?UQ`6-=w$=!X&nVEL$A979<+0vX^-_ebD7MmOkw#3k- z05!2-&zPKbc*6)2jacR8kc)0mdUu50giFjJ(;K_+Bid|BMs>{BkOtskH-oqd|6E#`L z;_hy5cmA|3SZQgc{4z@qA}Dz?jeF3(G}v29T@B*c#BHDJJmS&08_~tFFRke9onSeS zaKif(SU!?j*H7%YN&l0ETMjIa4KId!GW`IinEIWcJY1KB%XP6~AMh(Q<@5No*imbH zm;OI4K=$c+pi`chZkB_E;Aa0*GF^|$4;Wwiu zm?L&%S?saxdt~x9yM__cz*Y9}VNx$b5=y{m^SBh!%Pd*ml*xWT&n-EFkmO*H&N=Y< z2Aw<0@=ydf(VQ*tXx9A(IytPK+%##W61B1?wLidu|K<`%0rih1NE98~{b+6?LOSkG7e@Z5ow2fjs`ceN|3-BT6G0$piF#w$OCypp*=F zblp;GE(iXY`!WSSh?eMbAR_c18cb^;{&h0wnRYw3A9O_4k_7Q@hGw{-DxEFCH+0?| zVwT5RB{{K?Q2Y#NR!(KdtD`{B#=(CxagAgL5!&E{Qr*&ERQIIn{p1gL1=|YLC38ne zQ`8q#L^-qwQ|nwvoPfAn1;k!;VeDR`QTNm^YMGaJB)es?N$lSzFLC2z+^>^@hl!N( zV89kSq}rHDONW*)L!1uyd$Y9Hq|2@dNu4(YQ=XR`b%d|d)0}&ZA^S#*i<`u8CN%_` zx=Me#T-6isZBR}3)Z%H$J;VgASWWeWW(l1Upp+VI$UwIUuwTCG8SxVLy(U4dc-u6? z)19g}4+VbEysbT-l7HozBBP3$7W;Kn#bn)DC_*PG_i2sVtEg#*g0Mlc^e|mE@gDB9 zo<)^VOzSEQJ>m}d6R)pEEIbf(gk>kek18lWW{|VTy6-0UPt`2`im0<7fmn((v0zSC)h9n&Bk|>m`ClMGyS&Kt zajZL@<#Hp1Tzs(<&liL@02_nq@*(RSZ)^M+CUz{ft8sz4%jy+iZj|95?20#DLblYr zq4q6y$mw3;Xkb<%m-*Cih-5Y5(*)CEW|oIJswC>y5|2FCb=6?)E4rLc%K?7M1SODA zdGsmYteUWHXf~?0HBn=ye{CCBMV7jdGdF7+6ULOET`P}Y)T82q^$K^70llG$NeeQvMBY@gjZwRT zZl)l_-1mD+A+ucRznKn(_Xsvy{0UDt9E)kBAj;AWGo9xtm=y}4G%MooJk0d#xXP!Z zn>!ATJ7Rkj>M4Cu5SnA>iOCwM;wyoj54@ds#-X}@1OK8p={XETZ@M~<-`cUL&Tk}P zMdIC@YPYM*wxA%J$d+xRv`m?PC=nV#T!3$Zx5WthP1kzs#`i|Tu2^C#vaQmdu`wfR z^o0eqejSq(a@~P=s6f;Yq_qqVPugD5tcKGF&a5HsxlxNlbrA&N2KP(~#1vU;vXiYO z4c!XqdgX%~5vH}dbq$OzGvNQn(|I_u_5J@JvG<-q(b}_CP{dv}YPD8dqXactL2WTx zYSkVgs8zKpsM(@MwYc^ksUo#EHGg@(-=FXA`~%5--E&{(+;gAL$CDlvZ2}VNV$dDp z8e-^rAIF!ZP4VnQ_hVih%a{PmU`d*TABc+=YV^;C8bR&q zbX0HJ8VpZuO%#9R=1x%gk9e;Fn}-0!!p07?b$B_9ffD#GSIDysW`i_`*mc+}-CeT$ zIO!zmSY`T#0No}84G(Ra-^?E2VG7o+7{52JP}4O##Re1kZXXL#G$PdqicLO8Ay?FJ z6N(m-RYD2Z7OQY7j{^CVk`>+&Bq=4fwoq@?0%X>=Md_Gn^LZ{PU7~8$1jSrv$P0;% z)VrsMSVtapr!?9?oY5c;iHcf~@;tNBSeLyGVC(3A>)3+?`q1D33A@=(LV)f}i~u?p zD!p+paI|U%H~n!Bz{rC-`X1{ywNoWalnAP;CrjF9fujv_(1)$~N1L1N`7=zYTuOk1 z9Ca9A2J)bT!*JShN%+8VP6E*&eqyH*&_a@<4jzaYYW@+C722q@MX=5?$Xe)%p;cjg zuB&~LoTa=CDYM{bFXA9zp;&zqSKoyLF0SF~j5}dhT2+>!3)1X2h$7id+nZM?_w+1& zUJ+Fm)(8@_;MY;;RrZ|Nj1_r6sy!U&j$CA!K{$tV`KJG9Xh zPl+No;i!F)gx=QmAmw@%sJv)+HSV3@1{eRco-pHb8{1D;Xa%N3GIS+hts|PezfxgL z`8Alpzo7;ZLjz9_>6AX$(<*R4c6^>TwoN3H-+>Tjs8Dd*!Y;qkb)6)s=aiBmiZK?a zP_qcf7+kQY=2t zR$H(xZ6H(pE|OPCaEUbWDM%;d-rC0i5sbAlP0N_@D1tc+Zn^Jb?@X%v(^t3LNW+rd zs`ZwKYZ9I{mJ;2*I!Kpzh1UFxd@Sm|icrj3D$Q1iEPLZaY?UA#Nf0T*qde8|KPuB3GKFmc5rHl^b1VO}^i%7&f z+Gh=SCduh>2zRb~q(lH))!5`=`n4`8qb)O7rm4U6jy<&FQ{e7e&+6)p_z&(~yTF69 zi68dPC>IMFxHd+*1#pX$EHfsxph7p~jn-kRE@87Ku0AjE3)#TV{k~^1hY7zam6mw7 zD<;zGKffQv`G(G#6NUx8C_#<$H_G(Z*3T&WqI|WczYhm%_B%*H>mPmGB?ew;!mJ_c zqMsuDD-zkMZ@~gxhAVF;6stD-AFdtTou(Ahj1=r?& z4>)m^)8b-a{vA*#F$PRK3gq#rr(?poVBd%0ThkF8-hbFPx*FW;c0CgWp?%a9Z~La8 z{_)qs99<_r+Hk2QIz?<&7ao(sze%xoYTZyEE5~)F+6aw6AiQ54vMHo;P_G-wu-)lV z*e3q%4ig6|;im2L=O8gKi+DnUDl2zTcoyrSrxPdELxRr8=!DbM9yeE5ag%p4R|#M* zO!`Bp!|F#5ABb~*G?VySZY<>ZlICvD{@(XWmhMf2(I}9*`@lsx50+tUgz`vS0SM`^hx382 z0#QNSbon?4%>V8TE2=KI8}~8)74_lHJAK%Fmr63lX9aZpN$nXOAU{M-Y z!$MOTMmuQ(8;7|~`Ii@3p*T`KR(04J7UvzhC`uJ3;i zlFEL~0pEZ6tT{+-GI|m!R?=z8w^>AKC=NrCd8OIaw<~T*vy9RO$XH|lreU%aHf}?B zl>vd+RjBIO*6s9rF0Fwp;M?O?6qd=>Uy#n8NtAkNy%ff5Win+>J@( zOVsdF0`?E6y1pSO`kIBI%Jrg7OI7$lW%45#i)Rh=DTTkxdA{-Bl-I z5T)dY+P&JJl-Rl6%+W(qd5MHo>K>n{doH~$$7K+(HFHL%I1+eOL zKB{YWxCjASNUa;ZMYDL+|3HVc-)dVLmlAr;&s3u+KJuv-ITlotMgNqyAp&HUwwdlN zJO2%NY1ZTKwpHpfk4pe-@(u@ugjFTP?p_{A_&;gC`Hnm$B!EAO*x|-J{kKuv3@`re z&}>+Lak-p5BuTl2SSTA)T~2-UnI+>HuXtMPW@<`|Ps((8yK)wVa=YpDYnB-jmO`S3 zwZ8G$^b7{bQU`P$_eu9%`WLtURAU?(wY>`sGB0Shg2TeTxHzLnM~d5*db9dg4&}WT z3#K?CP{y)A1c8`>-wUEoX8ZL5obdT+UQIl^8)})d>Ayd_qPRiZV-i-Z$8V?^=qd}zpi-bJb+EK= z=ZSK6*m7Vph`Q*+3H<-j`OA5tlwDCYtm~04Q%v3iMdzZrK%hK3b)X0Y`1Q6{FOQZV zLf#U6zUn+O0?RW%M<3TXMQvtykH6WYh=9UlOR%DEK&aMyQ2kxW_j0xr{2LNcL0k_($noqKh4*K>=FN%*=CawCo=h* z#ZzR7NU~3<)cb#7RA0Zzp0aEaFNRU)xv(0?J`__k}$i% z7@zq)BeUjOkS}{uyf)~gE>E(llUowAPu?{qS&*2glA?PQ8up;Ri|#G;(IC^|YsoN|&=&Zr^~py3pQCmM zRcYV``^xtjB*@q8e5&VHH{uiM$#>sGDu4f_$BHS<9o@bv@%!mN_MLN|$;(9MA0fgkpA`g=pvrdVEIyy@OFethz;LBw@>AoRqvvt;~G(T^nd22WEJ1X=Q;tZ6QDT z=${|bn{(6a5VX)Xy;WPnxLV+0^rtqjcA%)DQapG4U@4i0X{b&qxOO0Uz>gp3!JM3& zY)yP`Hr?-?N-4MH6@BY`vuIqkpPHVM!sCo$iF2xwqz}19*K1N99b7QPM}Bi=FkpX0 z3QwR%W1)Qx*#CKZay?KJY=!zLts5&aec&2f;ir)ox3)G4pziWf@VHvNBl&M>O@ean z$yA7WZ@YH(FiVcdckUD5N|vdZi!t4_!-# zO!ozTCCI*AcyK*=SXPp6BdBo5X58%rwdW z3_$1^;#t+z!7}sT@+(m$rjWM?FWgaYsrPHKuEtV1Ys4CBBJ=19?P8W#U?qpzlQ0bz zjUV@N9{oy7|8+^FjcDx8YwCI7+oh38#T1Jw^2kjJ7NJI4;-F*n_J3??My}i=6Q1#X zq=&szTT)0>4m#O#@>IjUQdio9p1SuX6drI$r&8FR1`W$oYl7y39>;>Jgu$EQ75~5A zAfZ89E8!_npEM+XM23hkkFOf(jqMY1l6VvmNe(}7FWlKic#z$rc!mk>vQ&q1^W1~v z+~6DL{>X>?JTZIi?raCkrGxa};feN2##e7acQI3}((&|7bKa#oO2HGQOJu5Fn0bED zjn6#30min{SZ0<=bdZ&lAUXt4BdSXqpQRq1Oz)O@MvtzCf-gJ5NC<(A*OJ!Tue}Ri zXuigo6aR7CpoPfLWl(TVH15}miN)rnxeu5hpoM*JAr>zQ&us!UrpLcY`hDk5=Ua(G79-f%D-^(Q04_+iW7Lc4*WG#AfkTa^n z49V8JkNphmx7aCRe}@}Ph5DG=To5&8kqe26w{P>nv!)cEFVSPvaG6kzLw!xEh?8x< zAB5)%TUE*>)gA6rL-U~z#-KX9b(ezz&40#9dOCZTTnd#6yC%BDb85a|Qw$kAw-aHcO9?N!gE2sbL@qL2y5KtEb=CsWEIc&% z{V;RE?X=h^Igr*|!gIE3aNXG>81Jap<9!XS(KiR%I+3BeYXNPh3c_xs@_7_GY zuF08jR^fk2)6GPU;~r2ZLT&&-@MGJF{DgDuHV0!OGPs?j->=t_+0WhFWt9Lirx=sd zp3ppGb3swnhewJ1Ib<}mqdz$8L$spXdfFPb0!Q;YJB7eUG08rthCAs{e&Fxr=HH&5 z-Jyzqt~yE);+NvRwx>TU>$oEVHCV60?{txq_Jx}KuP}yp0nvz)M>N)y0U`vkwZM4; zsL&t>FacRK^>y{4?a(U<)8nIq; zcn4BM2_QdxUiZu^et}BghSOP9F*pUV*H{!-r7yI?KtgYOlfgCpPzBZR4IJAS9zHCS zn3MsMJUh+}>*RBll@!{Oo4LqBaVrZClPjv}O&9(@5$&y`xD2}42O|)_S>{4NEkQ{z z?@QtsN0AKDFZL(d!FO_JVWbNKd@!8)_m||dZ=j;s{_tfv@QjJNzCx{(_)R3W+0uO! zAlEk?{e4{CO4yt+QDcG3mr;=%KP++tt0MZQ?DwkunNmQ`-*uN_R` zFCHvnao`y6KM?&RT+n2yB(4X20DUu9P zRsr3Qc*k|xj%ls)X@%)^z!)D+2CP?h04teE+$yid*rT5o(p*T_a@&0$(03FJ;7hN=&Jg%7NR z*%LxhVQXfK9mFL6fhlHDhzu$iRriCD|8_627;|011%3nI6OmXViJgx} z?aNe?;JtjA$ngi&#LCoYG3Nr#Kp|GioL*g&I)Rb)WrtirJyPzt!3|nOM=;%j@N7uYw56uJ> z)CBofdC_DyIKNMMCRK7)_b5n=8nREP#zr(XEA_{`&0;( z<8;hz$#kU1{o5mx7(0{WnwfCn0z3}eM%fSive6v#$A+s z?6{oKL|T92(zYOra6g+xLk;2oLT;@|QO3oxO#Chi?Dv>56$B&JZs{y*Xyk4q{CHra zQDn2d1%2r_90TR7J-kyY3GYMt+^yfi^=}{|7lKMrli5PeV-BV^($?-f2+K}79wk5^ zCLf7U6~5>eRV)WWLV#G`OUm$n)48HKVa9-yq5-LOBB?Q7S@zZXt3q0rC~l9v*U7o4 zzY#z)5H-94m{NBGok4n~8V6v$l7(4Rh?X|`R|r$;g2|oe0_iHqEstU@oao$!*LIzb z2Mvwk^Fv*Pyz%<^5{3U?uO^2Uw2&UDeI2}hyEjfnH~JU#O@SImj37-xETTXjo}`1x zr_f&G2#@h?Z;O?i^w)c)10&`i^!M1rj4Zs%z%C zmw!+{#|wTzdOoK{Xx+u36{vyr!17|z^_3Bt{Z{uBVfF0UIFL~B@MMbRou-$9Y^Hi; zZN|$`ubMtjT=4S6U10rxcWMBU7)$y$LUN-{iAs3$ec#TlM<>_IW?+tCD9u@1vJIqn zgwCFQm{gqN&f(UlVJ*yK!PbJi&#<4mt2h`p0P%h`q~ARa*t)s7)jD)a6OxQr^ozHv zu?W-rJXL@X;8=zKfLCC2;Y02+L@jMp9%epM(}sT(wh@h5KvZwiN|rY3;@+Etu9{a$ zBsr~{jG5zlw%r-(V;iWg4|_OGsuJ>R_@Z$VDIMmOYT(vw0x=)q*jOnIn^0%QuA2Yj z0yNU#{mWJwBmufHlEbly$k@N$S?kBZY;sTM@>}p1IS8;T>%;GRhWwzpczw6@ zy)`!l?Sz(F1K-&LuECzb~gE3Xp_|1zNv?(^O*WVe=ps@CAr=^ceWaU^UC=iALU3z|Ck z+4)7^>kpVr^C{)0E=j`)nx7d{HkdCw(9#h&q=skV4xv;OQrTg6M~$UzxrwB9r02Ej zz7I>}AccGjB^VD6Q~8`w+;H91e4$nF!N2|CQ(DB{;&!V?!Mb`=Y6P#oqXw zuf7>pGB}9xyEAgqW->NEaP;t{Cd6@ogAGga0%aqO*YX4(c7Vd*ULtToL-f=~Cba>O zxfsvB09c%g4lNbs;%%r>R3lxYkg_rHyJgl^p7g$G1C_BT{ky-md)pTt@wlM=7}XZf z_*=^47X`opC7?}BP(GFbV8Mr~B0yJ9#rztWWoRmN>5ed>;W7W^Q&Hf-oz!StY=Fi1 z#A?!>G+e8jzBiLSv z#3V3PLpajWnm6y>9hyMKc{+BkP|?3{Q<{n+M>=aULnCOS6;p?yIBJq@5g$wJLkn1p z$&3dR$EL|h;=lv6<|}?>KRm3*#I!7B1>S#i>JDFgl&~P(q@_!J^o_dWesCxskCPRb=;*KY z#enJFE8@k7T&%MosN$5sSw7=RY|BJS@qO_m&p(5!ZjI-Io5S z-KGKs(1PD3n2LGwd=zjlZS$Zw`f3drd&Dllz&N0xJQoQOSW6054zmy9Kk0aksoe-1 zwZ2oOH_x_s>y#8rbN#in3e{LKfQ0=gjavJGD>bhDthDH zhCHKTkjvU@AP~^`PG>*u7|Y(eZA@oLs)$)vhWuaKm!~^?o>uK1NlfH*uM0yDPJOBq zO^N+uX8!Qux6Q>*_pnb6U9g;5vK${MJ)95u4NC=wv|8_YDIFjUXU-!?199iS)g-el zY9J48&wX+@Ta4%I#uXU z#QJZ(y6@z7xL#jOTDmh1gkeXQA4M&bLE03gF}*!#Yx-xHT#fI)IvL;{d3(B@JOj3m z9!q+~&QQaw!aIV~9|7_;o@A&3l7~@!rQJiHhe4`Z5cb$+s@PGvGq7>c)OT~0Ou5{` zs=2&XnsXo_!Y0@lMW)%`4M0q_qW2Tn=ZAdAm?1$@BeM*s9CS-Q+nMN>)`f9}RLdIdZ z`}TQ(VLGz$p2uS8g4&>aR3ll7hS_3FK~myIXSiAq0EipXc zuz)s37Th)D(X>Mq@puLiicZBlszlliLHi6A8S)>HiDEy`WGAc_@zW!_8f|zPpT%8l zD(Y(y0izU#S;*`=UU%@?pH$UR&;~xc-_{}*IJXBU3*Q<1%=>&Wb-5OAVKX$*OY0xB zoZIC30*lYZkgP^jux6H0S}zkO4sT(@uAPzr$ZR?>T!FSy_DS7A88RH1fkyb;Fy8!d zOsrX4k#m4#*1q5CDwt#Kc%uiO_=<`3v#}+ZQbUoiUhxte+vq3FR}aQOA&o;^*vicx znGzC%k=N#rL(1_MT5n$0N_EpI0qr|3XVy{wv`^=d$*cX1J3uGRt#u3h7T+LWA0HPF zY-?+7jpr8;JWeOb?M^z_Z8q!?JXyaWo-{WSii3l(x?535XXYG$6&(Ya8LZ9fkfvyL zn2H+lQBP=h@<5<9q`JDaS5 z&7XRByYXd`rEggApuy176Tj-m3-`&+cPbx74S!D_klLj+x{pHzy@@4_3}BScrnjRW zNU`TJ6OIPcWvF~B{OQ+JnkT(LH=9BI3As=j*YN&3!cquY^Mz!V0G>*VdGrmTl81qE z`+fN~#rqGqQ+D&mj$KC@5hr9gfI}zBoe*nz(=#;jBXep>LZXJN-5YQ4>{93%s%$tB zDb&%)1=s8m|0TNn&DYO<0@=(qJ~EDS=2KirU^=v6_+87%X>AqQczK^1K1hdQ<2!2M z1)l~li{Z84Y`4BXQQe1!I{~Lu>i@Q}@sIKg1;YWdtQ{kXwy;n6IJgV}Ohfs^>xX^v z_;j;~dXP4Rm8OfY>&0DJ))<*M*y5bO&u6Dt)9glCEE!96pD5HVV?4TGqDevAtf$VIrixpQA6C`zw;`mn91$Ml#wru7}&;JChUHMmhN&X&t_li zjNSZM@jAgt$Bw7M&VMW0ugy@yYkF$dJuuVCTOFM&eE;4K4&X`dQg}7hi{H&*p4}0P zx1c0E=%HjDG1L1jO!=v1A$5pYjYF%IwjD^WOInH_x?34XQnSy(A|2`KS+v-S!0 zn0J1u#_HfYpOP+LISq7`d2@~NSG|38<)!*}LgLG!_3Vr5L++dX0<%NzE9?{1iyq@8 zzVK?~fsr)$5KMPhj1pjZ-@*YC=0oUhDMWd!OljD)a(s&truIY0?X%fr_Wp8x9buv|5WdK zEm^8x5Mt+Fp(^H^Ad)23lLTPm@U^>OF)&mk$}@#nGZmTq&oHsF<4RUBOWSDI9aJ3? zhBZcNL=}qQ1NUPEzcs~UTpD}j7ZLIp)qjj=|)H%E=%qS z99W|g$g7R02Yc%m5>eTz8IXD;qg2=V1Gp1$NHVNupm*)*aj)j$=4l@TP3(^s+ZPE> zmfCHG!a`N$C+uu*{Fj!Vs0L+Bb3=!#FV9xG1=6jw1b^I9`{5i$R8NIg`)Dn<@9IZOXHS4*YYRjQ5Z68;`D=rg(>$TQj3L_f1$LM7YAma+ES#8- z7@>715Uw>N&wbmpxe?IH$|Mq>`PtcV~aRGEQ6(?1{yJ zrodlNxQ%&=xS*|FsF`R_epa8r<7!*M3=sDB))>WpO6>EsSG#!1&0qf?^F@hBzTqy?+c@2GgMXupav^H({g z{0&4?sy67h7%DXxbb(ko&{@1h!r0<@S%kpdk=~3nSLmsFOCEh~vfGvKeU8^1o z(SYSqwV`1rapnC4FK?=Q=0W6*O9>kl6?Arj4BqRwszFP72avRyjp9&{G_kkS==FtZORyi_aES$1-M z8HkU3+W|>di=y|sm+Or3y?m|@^d%MGc`5B}`)Bq%Qs?=1kPc^lxnN$dZ|&>;zIoiG zdbxZoCodnAQ`mNfuPi&4`)12~EV1Bg3}?Zo%F*h3fuDjxnBu*?Q_W4{R+2bpdAp?3 zGF&|)6MS$hHjUsnJVWb0z&EwrNMhu~L}ZS#N2i^iQ7l8tD5Ud+o{i>N&=BI9jRgmH z2T|3Yis*K|bo2caTbQ5E@i*GrK}vA_@wE){)HgQB^JAYIpQ-aRJ{lwH)z+?&l-Cye zL!N6C#dWjxJIJn^0A-)e$@*X}x%=HEZz_IonBuk!f^A$>>Jdh3z0NT>foQZ2%VtSt z%plI9u-BQaX;}r7W#jN;s^Dc zCaU>^SGXzl6AwLg@xlaMtg6)Mf(y1vEKVv9W_pRT(Tl+)ZHnOHO(zfas0#ifgw7R& zf4*hPG;o9kPyc!vCx=>~G}sg$rB{j?JED(euo=xNLw=4~F_?&O#%GU3(L5lwCb&)c z5LEhZrYu?=?d9z`_#{|{UT^JMHiL@EaisIQ=}UutYA!|3bbDuAGm$YF`?#s+vp@l^ zFuLD(=NDn3zdJ3YeU!Xii;uq*guaBvQK5jGWzpn5(9IGM61cgMpk6m{iqtbp* z4n1dDSx#MAOnJFG>DTpUaj`DpO*=@Y0Fj|Wk14N|CO|h6QNcS_vn=rb>xZ-^?X9Qv zV_XIK1s2|u`_i`^@=M!i+1>)YcjsvOsdXoCx?-(K-NS>TWFZp9f(rp)t3WT!;V4JYe-2Dq`kUeY>AV2jGmB>sBEkcxsqS-*tzc~lK6|QV&3f}qNdWNy@0r#fadmsr~IOZ7E{v63fglaY=7K&&}SQvl;#>P-g9B znYpsx+S%ByKkzQnCqiB_aHuN^tuP7iEj>rLl)`SNd>17rTUH3Y@k z@%qR9$3E&_gj}bKILM=S*qJZ^45KRCoa5-M>S%8#zBfMAt#kR%j7F&W@yavk&siiM z9OPe2v$r^T3(s0tSC`Z+xl2^dh{}NteS5yL%p?ZQ)KX(&YIzz^WT6h0_Ypw5XhnMT z=&muo9qAK1YOR05&Ru-NwcHVMwysXA~}(3Jk`kr z{>xrI5)a8n{KQ*0h}eW2g?L0Gh8@P=g_amc%Z)hxNRR z#T(FatEU2^xR|k@&`e$b-qsT2@j9Kt>6ymagKu$ofuVmU&Lew&|7d>rXOs1X*>1gA z-8%go2sx97UDWZ5yjy=n#s=H0TOe&I>4A*oo}%cK9i2RDT)!D_(Fg^b~{$SyKXQH9< zVNGqhvvkhPHafY>1&sOpni7^vHTiP7UtK+X(z}7j$lKO|6LxjGOCt+GTxPn$20_;P zyLXWSpKPVCeev>;He-0RIo6zW;qlZu5p>E><2(5@Woz7FSmER2hMmA>Dqm1(;$zGtbf3uBWjPu1*k1QRf zQ0-{*fmdE<_Tft~8zPmb4zWh1_*FvtsXy zbfx0SfCe`qn=VQv6lESI7t#~kRvD;G&pu;y7J4hO@oR2C`?)-C7aRFu5z|(pLraF` zIiI1l{&=IGexI9xes*<+vn?^YsFswE=?2lhetMV}~jE&%piDY3Wws^~lQ$H%v?c5?#RBhcS z$=AsomI7B-?C4wJDXL!VAr3u!Ei#E=exsKTcaH^?U)uzHf#aPA@>w9YG?D!kO84>E z-@*;;bjZ;@z0NjnzP!r!SSz9k67GTN3ssxO>9`=_GT8G#4ybgX--?e5?jXG!+IM%9 z2#MM7X-zAfQ_#7mnm6AgX3b&!$uyl~^ERUzl zV)c*qO8J^f+IbG?+`L6Pp%)+IfcsWNAI0{Q{PTpkGk!OHMh}VWcU{=)7#-ILOYuY} zvUP2Gb#xhlm>oa{!<2t|R5(`~U94X@ey?*UwdsYqU^EB@j1w&km_a&56G)2zG@ZqV z`pQ56yE@oQP?Y3m@r&<`8d5SropNd>kTwtnt_uRu zvAOFo9Y*$B{>N@!Uc33qGeiui!)P0yFOQX{=7L@f!F;2)a!V+ z-22>)>c@+w}mXwwv zS@k{#ykhAComWM3(l3mDcHQJX(1y9p4db=cSbm8+RdH;ixy)Hv<`_2aomu1AXdga| zXnZoaos)VRK-qk9b$qdTI(74>xK9v;hVD z<)by9sxSN%v=0$dlJ@;m?}drY2kL=j`wka& z{!A~>k;dfFaN<)BiI#Q$y`{)-;7y&Wtm`{4S$^Zu2O*=*4n1k-^1o? z#t7gdN3*C+1qlO4g2Lz$&@Uf^{t(f3fa*i7iQW(xskM)ChM6HUlIqSluyR8R`%TF~ zUuDmMIS#w#t^Ud3n)T6=!9NVGHQ z`y1Zzb4we_Ghqs2&x{tVns7$(gH~DlN6CB>dk!cKIS1D8!JN!~MzzaSPch4s3-5g( z;RPUOI!js1p3D9Uhl21rLZ#4+)GCoP+QmX+diKNB;D=a!M&1Tq7uDR~?P4DGpMuq=gt-XDO&=3IoG$`K|1(XmsOb zE`1$Vfo^#4+fC>Wxj+dnFNh^gJnmbNMCKEg8+Q_zwdSiWidZOHlB^y(D^9j_q>Tvipfk0I?J(pp5l zu*Y56;CF@YfIuZt@cyjFY@Rd)%E$+aTw*Msu{7;n`rwtWqStCH|nf#Mtj~m zf$4V{Rj{9pn0LQq>hgL>+}`Pu$qn3~UHOCz2kzeItLPx&rthbHr<;`{ec}NP7PnF% zwWbrMWAE|0^=j<}hpwOJL1*)*5Lh6w_ExI~WuYs_u2~tQ3htX#rDrCAExSpSN*t1F znXkbUuvW_;7`!*EHrbn-qv({xv^M{g#~*)0C)xo$GQdG_bkX3QW`^SX`*Uk->#V<_ z)B76JyT9))&t~S8g~z#LTT~>Y^ei9+AKuZ?_@I&TZ%FfZ5XzOjuUHMJlFSQgJJWpc zhu!WSJ%iwiy1U-S$TjStl5-wlgEvdxQz$17b*Ezwg206e4H1bINnfw#+2VUdNyY8~ zL!0*ETHG0O*zQXotMHwmsWSEg)NZ>9cnSKl^1n&=IoE4m*#Qi)eX>z@!&Oe`@;W*(E(GYOQ3{~Lq)DpE4)iCYET@z^I(p3R<}lEJHpcd zOGv#x_xqPi@oSTa`dhAa{g@z#a4EFl%u@cK6iMnz-zUWWj3g43QuDXmQ@(tg6Y`T< z5J=0)9#;4b^+|S_+BZ>ZX;Kn=iE5VP1XBD3jEQluXqpXP^%AvRFb!PAKdjjGSh0a; zeeGG4c6IGvO@br!Ddm_!w%MhqvEyG7I0n#=Q3tEjUpVHAn1>|Y92H)x|(!;u&dURZJ$e&g`Z+e(_iV>~;r?)8`$qkOVK zI5sB2yeJy`JcH5sGeb_hiI!q+f^A8%CFcC6x_;xAvWlRU0m^!0iL zd8(sIw^sf5ZKRAo8-SW#;hS30%J(CeAKf#jCUY(y@i4;ETA_#LeNF+YUD@_1pTUyx zwmXNd5sUh9NN?|OOW|tEsJ+NEWO@K-oc4UrR*mRC4}5;O{HJ|qLp=$BvK6dd->;~qx7fOwR;x>?t$2A2?v8Q_a3y*XqD6h%~z+r zVO*D+>cjD2ZS1UnYFi!tPYdwFnLA7I_CrGR0metRLCvh8d19^kpHesaLi3m-+sU<;j1&Q>XD-dWVtn zmmHkd{0#|##MjQ4bJ6d)Xx0EOvFfj`j1%_FXd92l+sgsEL*MGfN1pmcm_nXTF)&u~ zWV4jGf4!?-8yoYH8fJib`stpkh+l>f{?K}f+ueip0QZwutAk#oxN0Zu+82jJ9`I#Qyazk z`E|{M=>}lbdcnNWaY627sI#I?`nfAM_B9jA$A7Bey=56c32|V)^4Zcel6pRWq}7zA zjyOcaheaT!V&L+XLUs=8cC+N4`JSV1>G_Dd=IANWWzSY+u=r^VXQ48_H9dN~kOO_i z#y=}t%elNP2z?TpQP4~<_;`W~goOlde4FvIrRs72Yit`*P1M@Zuz`0qJ<50R8FEjl zTHs?(YOxjY^Bfvr3r-Ao1k?gYt>K{Fod0bF^s2e3kghy2FRUI2xxOIjN~cYE&|aug z@O4~4ow9`O^;g1qGS?RiG*Y0g*M=$l)fXckj1yI~@|xYpQ(4=_-aqT*xUB&j4LT7+s|T)%H9}Y} zLf(LU`Nprz!!Ou!AVvC)&SIvTz4c$8ak;akEwl;g_}Avaa+oJ4q-e!{C` z5<|=*n>&M1=KiNF0ulvGt}mkdq{rTuG`EJywDXuk4w^6Gzi+HvSF|`r+iZ%+ep9e_ z(td@KK3%ueZ8)U)(i#MJ`YcZ0NB~zk-LUs7iI(yAe1X=Z7T zO85s8*uukT8uVe7()u7i?D~}kO$&r|9Mo{mA^Ex>!y#6vtuS*E1f>P0uebN2WBPVq0#_XqY&u*L4%4YR6>=1m5{`&OQz zR{<7Nvm5=&GXqNC{3n5S6SCK43r|D+q=H&S8st*)*M-0-^9k91);*qQ9MLk=dEjk_ z|6MqK&eUoxWq84)=zVea!mo!-zvMh#gNm2Jshch9OgzsDM<)i~OAmDi#U`Nm<|qKg z#9}qWcGNr#bV{Vv__{^-qLA!VH)^}c*3bpS^Pkb&ooNo2ic zQHRNJR!4RJey>SuBw}Jnp6Gf3Rei|i$E#cNY|gtj40?A;u{TA-1dzqK@lH922hifb zt%QXwOKj=nz+f>0E^GFex>83*Z2AyM&=uipNOcUta{A?u6b191W--W#z-C;Pm>>R} zCBDqUhs3l8&))>)w;!@(ga%k-zPt^lnAqrIC1rP^t6s%}X{yznJk&%t zAq~o5*bXSLYmrYLw5d1B)_y7j+75cu<-&feV!rZ{(PRgQbPwUG_^qOVtjwbc$N-+> zafuWli;l<6U9S#XuGbJcx_JbY8!`v0=$#T1H;l}BNr3i9#ZvH)M0bo>c$U=vqvf|=y3&NV4JzXGMU9RF0gy)-j&L*jhZ71 zl{sghdw9R{VG-%9xQK;&7&cSqB}hh-iSWaEv{{ehfsRFCHuAA4-F`iLTiNYK!M}_p2@>@^DmHpF2yV z+VM+MXHVI*hH~a|XWVeKC1&mFQ+-s*OBD({P0bbF9RLR&6=x~qw{*1ES=#Bb{DT*r z81-mVb&l2UMaN(7Nz)To%mQ|NISZBJC!{`A4uTXyDpgU&_&WE29tmx2z*uab?`v3F z4#N0RjiRE9ND^ref>ik!Q$neKoQWHF8S=a(F3SB5kx>)v?b^bD&w3&P0`>0m3;>7e zo)H55Jm_#c!Hq#37Gw(>pcdoJ->>O<2aQ*vUiVhF?`bEn_1z1&1JBnLXJujb*z2FIugp+Z~&czq(|1N6r-Gv0PW8&+x48s{+ zmCmiVjoM;|?+NYD(AqCv0Qx^F$&@k#&2TmprrX7kn=Ntwe2%_c?yq$|j^<0#OlIfo zT@LBY6pSPHQz?%s%0dBrdmc3Q7$rsSW)bV}u`uEgvWori#=$M|ttpY@e*venARfTq zr>9ILj;w;X6=~AGpY~=k1de9dSM`U&B9jWAjoyif!SSgD9(;ecS$>`r3=#MjS!V_? zdkt?(1T@D*4H*G_iHaC;-R@yaOhO1a8?mZdF&cId6Z7tbRGjF47m0bUFW?)e0ZWiX z)s%2}zomfyBAyj51=nuaSD?Z3t9MB-_2L}bgSQA(kMrNrZ3bmC1CLMMvWz_0DV z@%kzu3^$koy~Dzx@N5PVBJ6W!EStI zP)t%$S_h2)#NP=T3iy%mVG>zN3dBWL(wk#iVu=Iaut&`Y6Dshs1yM$*r9`)}hG0`R z&uV*`kxs0b! zsF@UWEN{fp0U0o$%$o0|dqzI*%1(?0`}RFIcP?R-vSQ>@Kb1j;H)VR#0tyE}O$&?wm{gS2u3%N>iC+;-T%v(#iwba*sAFUQ9aUU)Qy9rk z$T3+&Woc=tK0vz5%GFc4nv$dI*Ist08eLu3KvG`P40igcl%i!^pycv^(l9+p{X+y4 zhyiuSyu)mz$9*|pLr1{Bw*>s#%k7yA3j z)EGzUl<#1#+)g<`>f^UULL=MnKB~XLe2Dg`3`3@Gn$eiB`shfj2rIuf3w4=KQC8O0 zZERf&YNlS-7eJm>bESQzKSit&R;++ms;a7)>jzzhH1XlygvtAucGM!sk~f31fgpti zdSo150$fs23*AhO(62zuW9(t+wWm*%rwp!G4PS(}$@;p02d|fUFBOBu601R%)M%`@ z-xViTZ756=#Rkj;RKp^gHKb0Y1v4n#sRF~U3BMoQw&p?R?t;S7vGWoW6J7KH6R@+i zp0GKKa}oE0B*qtF=u=<4g}jJu%vs?eZ@iJy)4ib>Re6$BU0p%)o{Lx&IJuJg@-VUK zVkT+4(TFJtFRM?vl(W8~?kkK3Z3_4(-fe?OR2HGn1im`jVf2dw>@_dfqnv5ACHN#E zQxiuf3#D^(-bW(@kHsFD18(p$OnEo}WKVWZf!e+P4HWQis9(>Z7ZHpBp3;C#m)CQ%3n zY%aJy2I=V1lV=**@1(_@PdAUJtQc@%Z3oSJK*vf9Ik*?JucO2gB5p$$>_s~QEFo4# zDKQ=10nOt_2<5K7#9+kE3n9)W6ElAI+!W_na2#98 zXUEEaH50P5c>4U`+zfmkL&DY;NwKA?0^fA_J_Vx1mXs( zNXJxz0Gl3i3Iq_L8`{-IQ47G$9xM`NS-GVrWj=88j6CGR&U{|Lr^@kzvhzKKaBDe$ zj0wduI!bLG=KGQ~^U_=adidh#+;FIjK(b;?-gB}v>#BzQ+ui6H`Md3J zeSh+=#&!2XVKO|J9nI(WYxl*jFiqE77XS%SWKA4oU|@j6Im*EB$6cun3X8OGM?o1EiLMP5tqIE`bAQiX7Lu}5^Lt)JL=+bw?A4vG6d!Lo;X)p+7SO48m$A z?lvw3zxY_VzH z<;B#}q*HNW@rDYK7_}Wos}g%_Frj_&*X`j9#Lqp%9?lwdyh1q#u#65&REWwp#nDCR z2sUH+81k5k14aDx5~PyrAo06P*Qfyf_4;azvM(9W{XOl={CA-8l0NT=8Mj|3-1p}X zYR}V~D1AI3GLa=12=}T6-(CX(|KwE0CPV;c25xa0$vNK#+!|GYG>O8-w-@9JckFLO zB0^UF1j#t~Shi7LDvGe;%%Y3+(5z5F%X$`%U;k%ZaAkM`-T2&zp;%GfyKlVsnil>o zY#enx9IN|zrmst8Kvk=VNF9R)7(ageov@8+7mn-OJek81@)tLu7b8;wgd(#&7q4^6 zc3knXVc*z&G^+?ct59JU`4;)(N%`o#nvTH`g4bq|dWF<+0QCnWGrqqjWKF(MV=-S@ z#KLC45mB!w4LK-(ZuW;f_O0!3A6csd>M?%~Q|z1Pcu{yOiw`TtA)=Tpc2XHG9zXdO zh8A*kwXZRZmSJ>#&G$baVNDa^NO-OXK$ck$o57F@xByE^y8sGW1n)-AS^Oth?fVkUe0HpHT~2`rkXr}&%n_=xznxku2&(}gxagE-C5tTL%Y}JX4^wxWo8i}nKT^m=Lq89-2Kj2WZX^t#7koHTI*sR7#FDEx_ zH-w-TN*}<8t@LPt_zQ*q2}HHxBH2PbX`EqRBDqkdW)ma#r+^R8Ja`V>@rk{eYm;8bZXLh`>5x9TF51U5^gDAOe0AHFeL z7~Rc_hS7C1d$nFKl~|4FN&}`yy=NS{NHbdjf0-MT&=3`An)GT%k_t|xfU>+ ziZi!-U(>ZY6R|vBDYarmg((4|=BdeFyxz^?9WBipN{R!BP3tW)J-RPaNtM!U4684O z*6k&A1p`gvcVd6?GVEwu7CmK3WP~;&k)*{l3Fag|ZTh&Ch~>@%BuG27N&8btfbRqI z>RI>kO%WY;WeRXa%8%dKQEY}g=4@-vyJ(k%ke`cqfY_B!`@{1Yd>@k%$OA;jD00Z3 zEtw{8`ldWmZ^ zIreSQitudT*-iXGO@k#4r8jk%)ArF)u{iK)83AWa!My9GH zu3;TV%AA>4TM$IW0iI=N9LM2x)Hxqjs1rxQ9FZv8 zgPBB!+%01~Wv$fKa?2I{4(2h0f)CTC$BMlw5TdQKSRlaagy+11C(E;H0BtGG1k;NhWvfh zA$oLD0GI(fSU$E^I*fi@k`5JBuwioSUCMAr@6k;_Zu^qp9>OuoGLjDQjEBb{(}^(qv#k*`S-=3noG~!-BWzqgKfveiELDp>@Uh4?5I0 znvX&*wsfqw#Zt^|Y|xd5!RMc&FS;lzc5vO%>_m5W#i--bdiG#@YoBDE0Gu5p>xVyU_A=Hld%AQip3In{~T_KN-y}cD4zIrY0cL4~7w^H zamPmj-3;8oOZVQ`{BBm_=U5%-8IJ0J6zLP2=YTu~-P_kmEo`2~9Ap3=&TU%Rcv|)- zKR#e^p-wp5F7tVXigN`BBF;Gc6ZQtN5rN?|WBo_>rpM;dxp#^vOvE&KGp*dk7UGw% zL@@0!*3T*jC$NE7^;$+d5{d;$0%ITZ--Zi}ey#bay) zK89X4&1Q*?g{pifEslvB5b+9#C`wGVH&Vz4z_BnxTSo@c^Kl=zDETuEqB5hHQE)XV zYlHzwU}eb1z($37g*H-YejUW8`_q57{v@$L+N~buOF!$UN$VIPJRj_;W ztRcD&y??_ID$k#Vo^ppzqr9w*+ZJ-JC#5#E8QpZ2j(_;(qozgEW$XWB1(! zxoEWT3$&50*`6Xv7K}s!xH>xy(&QQgcsLye*N-$SC7L zFK(fr{{m!D%oZxeu(Bgm=Nf_{O?MXqe}vxQpMN<~Vt91QE_NF3l*C7u5^!|sI$Vop zh7Rv$+Em0BccK69s90c0CuX8}RN+%exMn=?f)5!ExZ1$AMYGPUzrOpAmuAP=8`$wb z0kgR974sJL9$7&6@b8}l@Y2yvM2_StFePmn^A*-|2gjf2Rds6OH{y(OD=H@P&xeQs zd1t;NX#l8D?O5mZ09mP9*);SgzTJ>#Jgp4Jt{UW$TIpI$;fF$zy%fSrg9%JDWffYa zPl1q-9y}sYj}(^$X34RyfJ`Qg0wFjZK0)93-XG{BeI;7tz@3NEnO5m%<>Pa2*U2g? z!X36i1n0ZOOK;ZK`-SBqisab)ZjvGJp>U1AgOXuJgoWmxO3{`z|BT@5+1#fZ!~W|a z-vjctUzFj7>ByK8;4Hxm_U*8n`S^g^-Ew~)wE+)P>qp^XWi`L=%yHqmw5SxqaS+}FQV1b6DjPkDs&M!Tp$|a zjAAE#nqizl+`@!taV1G8BEG11svLx)O7PM~4m&bfoc8Sfzr#F=jgwY&n{YveaFje< z1w7VpaWyqOC&KgDE#6f;4;l;{AY!yf-OM|G+un7V)%w*Bp#?qduFo!zApc!+qKWlj zi&GvQ$=-OS+4_se9_NO}Z>NP5YwdOo6oe0w=eqHm&3deMO~+UV0R;SJcBN0jpkbcp z0EjXK;~d_Oh2CtNZX^YFb3=e34Q0i8tFd1_;qpq8V`hyQI4TB94Mo+BlN<$KM>&nW$b% zr3ubwV8?|GmL^H8$Zs~-CyGOszvOtc9(Qf4F(%lC6OQ&Hx9A@&S>HF)ViCMk5Q3i-5 zU3s{NtnMGKK0Nf4jr5ykjddq)&xA3(+by((8Xk`K%+QMd3G1V5%2g%xme9N{VFy8a zWnnAIVnd$K`GCp>kybuv^i*I=`H`pSuXtaJPfE}_tZ2lE9X$JYg?9|WWR6+q=NVw~ z40rtO#Ko$+pR1pRbf2EzH!^@e9^;>)H90(p0`ooNY_|ABu-F_C*mt&gR?NdLtkr~Z zF7({kSv-X#?VZi+wcV?&cl5>@2yI=B`kLR;|J|3Uy(w=r{IiK~0QNZ+zN*nqjNd%i zJc`lv)V@$-DYd-xE$~4P{e1eJi=pk)2Yj&}kE_Wc+gc+C8`Z0y+D$T#B95SrM-?yn zsWGh_R$Eck)!X+*EX_@LfLh>W?enPUc1*UNYp|3&aeSt7q?s&i;+tNiyb!=_8)T5k z=n6RCdQhaqLp4?`wlHFuSzrgE_#$sGS}MU<_j@thUx(}+nIL4C3#j1M+zR}Ct1O49l@!1CZ$jR#1nB92DqsDcM0T& zj-p?7r7FUiDT852q-LVcjN`U1zR(IW>S>l3!FHuUIF&KV^}3flWyY12R_wJ{vnH%- zRI}X~T|kM8yo0*Q+{~2+wjDhC+}6oIsg=Iw4~SR)XFYT<*9#{u(guAxtN*J7Xn7m) zX)Fgwx6t(3k2|ALU|l&7Rt64kip%xg*toXU;)d5V!DIeJ4w3v`yn4`OFb-B1WJ>0v zZ7aeTpFiO(Sz>YD3f=-Djb&TUx3yiSa&L68!Q&Cwu`Y_5_%k05H*q5~J0CE^Hc6;4 zV+BC|P1MAPkw)cEI)AbnLk`damOKHLw92k%X$a-1$4um_=yDLV7;e@TVZ`OR>ldYfhGP378gEMeSS+46q3wrd_w>z~NvpQpusquKQC`~RNvjs2T} zfzSGZ6}|7$DpjLj&XirGP7l#` zuFk@}8rx}0q}R|+X}?SaV*%ET0k7VyyS-N!__T?w67m_XW1YHt*U&_gKG@4&3~UhI zhO&WwX&0&nXP>9N?uZ|5a00@R2!CacTY(d#c*tfkQ_b*ZI;&Kxt5yhXsSX~U=6nq@ z`QYsPvF&wH$?h+`PqPO;V^hq8 z-gVy7Z_f*j{~Z0^Cx+RC`r7NRcjNG3DaT$VM7RqdYET|mWH-LTxYqvndCT~-3NkeRb^eh`^ub0 zjJ4e3@q_V$FJad}DdQ>0tctZcp0m+n*}(28_R&dnx-;*F>w{sTqvxYOc28?47v4e( z%f#!K`+|`juWuQp0=;cb$=Cfo;*^D9S=0DY#?zu;exAgIorR!&EN-+6ABt&ZH zYYZen%rkTp(BHPGc+@M9ROfA};tiXS=Ee$&rK+~bdVe6md%>MB-VyRLVN|lkGwqy+ zdI0S$H{I{mUe##o2HDx@PC~qPj6X$eif~MrU}(P_kQ~IEgl<_k{$@vFceaPODYp1q zN|_dsS)*r2f#dH@%(WEGJe;*Y3|d$foto|dkhRH2TQ@re-R;ujKSBvsjP!G8_Tj+s zIr!L%IWcqasPQn>x}_D*$cy?5iKmuXSEG$pv5zG^U&V-fHi>F#&cr~Z~*5JKzADdbvdv#6MbY8!ubgaZD zH_JSr7AcNju+)PR1yqa}J^2OP1O+wZh}XRF3WIyualAEoiMH%@bYDx$RL3t+7mGkg z`M+N{gSAfiNlEY8#^P+R@q=Lv)AnwsNpl2)PN__;-q&v|8OXPJ!-y5L=dJS_@Bch@ zVuKAo*Bbf)EC)D%4Ed(-@P7p@G_+vUOu|6yAKn`eH^q}GKQjzuHyr3V3u33O`9~{5 zBL+sF>?WimEgi;7WG{w6O^Ly$JcV-s@kxHC2k={H{^*HoHHP2)OVKgWg=S9mC8= z@l2}!yPEgpu7RDTMinfR_077e*;e7(Qg322JkdpXB=blFYcshcYqb4eV;90W!I&h4Aj1S<1@Qj^bB;51mVj#HoTq<0)ii|F*WSe42^xexg$VZbu`>iLPV zP~~+idV%Bc4vt&OC)IEsVy(DtuiUzk^qPZ-Tp_hK-jogai$ zyti$=zu%s0&3H8a$H=(POLNWLISpLsZ+T^CU#_~NLaW|VZ2)uoT}vt$&E)RkFJZTY z&9|%)Uz-0#J#7{I#kdTThLMtkljlQGC-M235*wU2saGHZ;$u!xn`PzPOi_Dr>k@%} zIFBop;cw&xwbJ@>D2};SObM;Ah$!mQ1e!$c2m`kor=_@6ycfK!E&}zi@+1pSf7$$i z8>UQxV1=36jL~8kc^?Cugx)t%LZi{;Y$=fxWlok2FD1~=;d<&3^DPus9LO(iDq}J0 zQRuIPZzZXa{oKZz$ z{w&SOKyv5VOYIM_CejB!ttD!tfg_ysV$hCvr)*Rz1P0d(LuL-~q~lY~3GmvbKMt6~ z6>{xgUgK-vtE-H)=x27ni2qu+1M&_KSB?$^vwde$_p~91`yD}T0sj!m-Zv`!>^wka zAXiggT*IJ9n9WJ#WZA9^@}pf?GZg*}x7eGSfvp_y@UtSp;|9Y}`Jm86qng7~bdR@tzpqxpNdTYmhUme$zx@p=E%Ipm!{VO(_n8Sp)~>3$D_L|jw+I7)l}?WV2d22uR;scL;zCSoEb zUO=r51+;k@#tpK*x0EqH|Ar~AOF$7Fg|c1i#}%qyPy4?fuikzBCz^L3@ng&f?PZNF z6}g?EIu_5XEczFB691Lsa!{MO31sLDViq=(5zxwB$+s1yFpS;P>^9IhZ=Qw0Sa@#U zS})4cL!xx_1vLD1Jc4feS#mKMc}J^UiA-ak7zi!e{>1|>tgNlW_Z^+dc}K@^B0Lio_&bQ|hi*^#lnirOIt&y<)3w1|g^WPhCe(@c{lG#@F0sfp&axX{o!zqEQ>G-?}ay+GPK+Ph_lyM{r$_2GU_V{b;8{ z+ZIu({HmqP`nP-Yn4HShPf0ignLW(B2xswNakx&VGyPa*nY|;^$#;@#A+-5hqce-% z-U-mb%ne)!B*dAARj_4xeOBbPgb1tcUg!`9EsjpRyXQRth0i!z-$w+qD+hlsvEo!$ zDoLnN)2=eZZ+o zX4>Sr3E54@?Zm(eqRC&Es^oStYvW<^UIicLxA>pvH0=ilbW3j*wGYb5bbRNSUQ71$ zExmsZFcYntutKy8fx^Nh?SJVvkBA&MA)K>8kE(9~#Gp z3FUSU(h8cz-gr|9%JkfrddT;5j%fHJ|oim^{fA2&RqnRC9GnKGQ@^W;Wxt+ zMG1Tg?1p!6DKH?wlCxX4+ zkpjW-osA~l{zPL#of&Z;)QJ`9eGgfWk(;?ndv=d~0J#p_#z4G(L=2pFVfp0;Sf7)J zQ9NGpel`DJI8c21U>s!N6H`gPlrfDKbQ3ez)<#S$K|@1hyxVVgI;S=4r*Dv#`YKMR zR!{Q`1VQzSaWppQ7^(G_*<6vfGy@OPe! zZ|!ZU$Mp+!;Ac3OfUHuWMRfP@8`If8Yg)XlDqbOk7%_*qX7x(S9gLRWKahsM%R&RA zPVU$j+e*-#97~PKP1VOw*I|ieO3xS9YvnDvgv-yB792_Pj0p)T;7^5ug0(ozdFG~ebv2A8ht8!4PqI7ie#;;bYrE)CF3KTyK0 zFNNxxJDKZzchwWd#u$8&`uE}4nILns`|6_k4Rf&5)v{sH(5bSnjuI~UqIuVeqsRBf znL!LIAYRm#$#dLRr^TeGek&DEcPuvjPX`zsPF1` z_dL_u3l6lL1RS4qP_q;l=_&H=Qz*hf_RtA6a*JuMyM4fj&403G>-IWXjCQNsW zg(|u87y@cvX7aqT#rMhBSnR8mlVS5iJi&zFzZ4Ih(43dc(4-xl4073Dg;Dgq#*d@P zENRJIDt61(R32SVYksHswl#!rs`_J1Puiv^Nqy7zbD)=pYI_`n?uE1r`osE0(!L+K3k~rlLsLbElB}wNU3m{L$ zC#^afw}lhU3>*2rlk{!%4GL0tfEd)a5q>rmzWU8qI%Dd>?iVlsdH-}b zSu4}#9@?|K5;tYOK^K0uE2Fcf1hC982|Gg-4t}t%b&kMBx$y+(Gx8z_qzHNQbsIqh zvF5Jc|4h(n2+O}bSOCA@RXi>V$PZAq%}A|b15}UMKMXIHbt%khRH%Sr4~s%kz!NsT zO~4`B0bAZy-s7di#m&*?!YFmygQk%NWe@g#JpR%mc6|cd=prgaVa&R|z7Ljxq-QeY z5xdXzjV^leTJpG1N5Q=|A5gkjO2e**jHl|fi7AE5ycsHbP})FCRZ_NyK7n`p=Vv`f zL~I#uO&LhgH8q7&R5aAoG}7u@?zgM0lsk_qnR%`z!J-VFGx0K!r(&jx6m*tgI$acaBGz|PuETr_5$#I%h|39+nfX)^|MI7|z zrLPMZ+oNAb)GznXTps=-*7LU$ml(xg^De)zFDOwqr`z!ek$l<0(7U!#a&H6BP1~52 z#K&AZ%*8zOC@**BZhhuF;5dFTUm_)CeowU4c&}efC1(tZbpPl`#)fsPFA7w}b%R?3 zV@vt5tmzmPC&WPB%4LKp@=pL6$_s^F9!_!mgpR-N^Mle(Hk^r(H8S;|%}qoK@X0a@ zGLC#%-#@hHladYZXumzvwOm_Uli8}zN*iEL&nYy&m2aE#g)d!*XZYg=+PWM}L*`bE zuKJD=?9KTx_PrTyLX5Ba5(+O{i(K7gBtQAG3tTS^4JD1tUwuDZ1yLIv)5f2W z>qM-2C~ohUx@;W$(E;SFf7$+&;U**~3%w_I^x}Z1eG$SkTW|)b8_wGQI7{ZDKp(>{ zb>jbg3Y1|~(4asVtG|tsC!s=m)SzN(-7g*<$v%|K=U0vt+K~dj+B=QD@#5JMT7{yJ zQx)5@L&)?q)A9|0Df`NzWhQ5{v98|EH0GeYr4c0Q&dlwt>+iF#o*Xtl#Wckf?)$NA z8G0X!S%`9^MrK%f;lzS%zZI-%X<^e{17g!|qd!z7%7aTaneM4ob=Z#=aTw^4yU0Og zS>&MvDklQPJMQ4>D%w~}f2_j}qRR;7SD1BBn2Nq~&3JH#K)=`ekzI4~KjDqI%vV7Q zQec#c(E78*7MF8mWg%q-G2NDa_9Zj&E$8acf81NT{2{mU;UZU9xJ`bn-1R2t1*NPp zitN)8?f^}6h{SHf&gjKs{9r$9e{k|#Nm?`p+fBvUi1Br)^OH^9+cnnI=7Cv#k`e+~ zHM*r7NwYy5K1p~XBd?{^=oRx%5v-sc0V&Cr2e1Q}t6S(I%$`!zSGN1n{dRf3lUSWb z6k;5>KGb{Ll+w~t#Ps*WC)==CMc^qYg3HVA$T^x^XY3?-Z%M9PZ`1oLx0#=38jj+w zQ6(t4XMl@@5YT);F*k$pq5$t&*7S(*|oDC!^qc$A%vv9g-RlDe8G< zHw)%O-C7yI+D7dDjqA?0@X8urqR?T21<8FpxdBlUIwcg8VUAuB4zP)4uM@*$;YY@iK?!3a2 z=6=4cI@9NyBSz-(tBfpV@T3X41@q+}>Z8{^hrVuVh7KHtP$Dzxq8^^zrd9UP<^hX4 zTL`;|r-2n_(CiGUu`yDb7e~K zSY}Kg5w#I1rS~mXC1LtbvfqtqIe%J5->WI674IK1LGYb#Qzv8z0bizj|CHEtpo*&4 zi&ZrYV7h&Z>y#xKb|2d~r0?=z8BWBrv@(BZ;C8>Z3v^~lJ9C(}rx{ct=3}VnCj@>_ z6Gu!vE5XXkht+%rvD2JgUXT1uL#-woqfQR&RkXnhL&g3#@AfeNqt%5Chb=(~P7<+h zCEMSllh-R16@4`=#BiY-DR@sL7TB1@hb;oOzlJv*NjClLFQ;y^KI~1ke#PIXH<98> z5?6|mJCNojN{XE?r07j?f&4H{bJ^Dee($DXuk}iuJmHO&WN^Oz$(?D2UwwVxr4L+X zCRR$9j;qz0JXEJ3QJi5;N{2WgaN@eS9Q15zc8+$Vx|R6X;j?-#4hy}Hngd%Hy#LG z;VcsZq%gSzxE(JcOw-9Wbm`OoUyQlBnul;lJ^PL67s;7K%FE(WrxFG2MAvrLRueYM zf`c|>g2Ue_TO}cP{Ot)CmEuXWy$*^iqONJfa*!;g`@VRG`ID3gN493pXY;0EQKHXW zV$T-L($2s&AswIE~L=cO5wST%T1DJ8cQ3qe2lMkrYUi2=2 zZZ@U#dJZ=`k%ac&tbD@AkUG=Vm#0P>YX(~G2zoc=*E!Py$2S=-9Jm;@y5dT4$V?QX zZ4MJcS|6fdxl>DWbus}VZEv{=)Zfa%`}-B00wpAh(XW$LkQ@b)v?3iV{MzqwihNgj z;$Jus(Ks_}X8>hZ6*TNh5-3x&nHY-yU4`(_)vzx$ z!N2!rGY3)WN=e!9TG4QlS8U(^oiE*uFK5u4D%rYM!!-DzE-OTK#&jr*ZFOzk6m56wId|Ng1-O$W?arBgh;{qMcHn9g7i$@181885Cj#pHE&lNu)g<5X z`Z;_e#UzrN8ca68T3LOK0^tlLKR6-yOX{#R*`fBnXGvBZbCia@C4SlgjvM zZ2jWgQm1r#PB)%b=`9|YaG0Nt z5d)u_?Zr8P(o-_9NcZ_4L1h6R8K;bu#Z%DIEtBeM|H0!vtDl3YanU6gv4yJn8mVQI zsJ$dH*XY$2ZXm*G4kB_;-W>tgBpj6_EB+8P=U7wjAgwuv@uZxPmNad8zTYYGj=3b1 z3<&Y0Cp^Dw6>ZqB55P(n`@dQMUO?Bq=mM z0()kTSz<93Z*9myGZD`FhFNmx84W*{+zT4$aB;}x98H_MWoPK!Wy@|)_p>tG7=q#8 zjhh7pDAc{jd+Vm_j_37u#xv^&trQ+bJ8mN z?Q})PKm3MX2<{iAhvF;gm4X&kvkogIhg;2P#&{(`=Q3G+Gtk6PZ%7NUMHIYbxzhQB zoU3k}=5PMEy5PyFK!Q7GQhR7EKi_BKj#;;u$wK#XClz`l^x6Uav~DQ}+XaG6=Q?{Q z*z1ppA3?kf#MbDCvlDNaWxkh{>2Q{PNrt@&@*hy4Af}F1_u+9poY7ufso*jnbdk); zhA8sP>agA4B|V$!e(ZaEe9T6rtg9M3Vo1&(2ExOGT%M||<)8MQFz#Pew1LiSqNq1}$8# z5@En=BGx5=#~eHFx^7L(&js*^{7r)z@I75Xz^Q4`OnM>h(W8)FSB<``Vf7?j{l4HYU;uJ>1<5_14$YkmN0rDxbXd# z24V9X#bXz|;mSccgTTv*!>wJ`*X!tt&rNO3Z*giV;MUy8tfQnrl4m((r`-$*6CGYEQDa0~)z%@V1$ldU zc@ZU|o&Qp{C2hP=r)MQ>uldq;y3G{z(K|l!UES78HZgi=Hyf-FJIEd*Ca^6tv23kw z&QtQywB1u<*))B!|A20a^5u6|A{Yf-8QTRMLWFTrpb`qBiY_9I2-~;OQ;-tcW+t+t zQSX?V4FtgXe<-P|0w+#4&(d=Hr2+hz4EPfDBg{Bu{1}!W+D<>qB6cmLcA)RigWo@` zDqJa4JyE-Z!BGqm{H>;Fi#_ z`LH2hJww3e84h_oj|{U5Mx|Q3)|`1tyh~pIUEb>jt-Nqmvvs6JwzO<-dk4gye18jj zW^Z40L6MqYJ6!uWJ>)HR2T%08pz;jva3q|-_sCBeJ800pm@|tyCkOx=vz?j|xfQ~f zttu!Y_jtZF)%bpdy)N16yt@mym2Mu?gPQcz!&K-~@LWiD;`9pXAKbn#na2HjC;07D zvCsMq$#JXZ6abvmIqnlmT;mKrg3DtkRu!b=MI1K1JU6|fHfd~Da}yL zDd0R&W$dqN(HC0BTN}Z1Ap3yqEqUOVtO`qRh^~zcYxHj72xAm8OSsyeC5ddZ*8AFI zg%@S1dmrw0AHRhkF>6V(5a0AhO2)?oC~IVFDr$XlAU7(-W5^>4nH8w+x_kMVOFZ z(4W$1lAI!!ZOgy`_VP2J=`va;#a#VEwSxyY0&HPr&L!YCY-2A`oySZh)`*B-0U3jQ zNMFXCUPzJ?bN`0dAE|eEQab8)d9q(a=e!24p*D?W7wg_*a$H*XBP~tG@jObiCzrej zSL|G4@;#^4JM&uS=PfIzvt1l_d%wEx`2On)R-cOEa9bpMCz_odvdk;^2a^EcpU(p> z)&b~#CM4ng?tXSwBo4DI$`X1`)1Q^wA{=rl%jai6S~BmsS<{%I0Ukb((!YZp?vH+^R;vF}_naAt9xO*SnJ_B5 z`tlx^r|{j!HJ7KrRGGU^Gpzs6^RzM zelhcXMX~=|X}q`yIFv6GM$xCBHS6?BqH2^_`o(Ot8GDK@J)ReW6gLm^|IzdoY;iSB z*C_7pPH=bk!JXhCxC9CA1b26L7%WI|cbDLUyW8Lp+z-C8M;O5#S}DGeCOFc&Az#SkC_sLwJ?WN&!o35OPHIU8IC#wk?LDo~z;Tz#G*HML z4i8X<{_A&5E>mMq?41|32g^?S`did{bEcIEquym=!fkc(R~Ba1qf z8&lLh5(YG`g?bwr&Gi>Bjp?^|6D;>8ToGbss}V=vjpww9C!K${2`|f6;}I?Kmb`#l zf;WiuOv)UwRQ(-Xv9YQ0X5uE)R03M-c&=5v&m!LLvWR~%UeZ53sd4ph=<0dW_T6mi zXt!^wCBN;?{tx3mJTLv(Y6uj+&`5(g3U^%~VX7q-&M5bN&lE}eCEajy5bLsKCb+>V zUo?AcqTaq0!9hm&z)T{WhU8!)a%*KaIGcScLZ0HHhNn8tA7TtE@vo{wi9mpYl+s?E zsWxUf80`(&6L%Ps!Zv^YkWaHf-8Z8%I9psy!}S@K48dn*hZdnyA#u;C6(EEWp;Ts> z>pnf%e%VN_EEM{GPCv1TARhv`!&=7%SJsqQgf`L?H>$Hv(%|=}1M(nil*BM}H!Sh3 z{A5-|LM31fcx`#|tAEqg3R z+4t84$uF@lFWCzsXd5F!cQi9J4-MKb76=Qyv2|8NEx{6G?+_y*MGxspt7Daj zBeFJqgb39C;$)zAu>^5A3RgzQa0xqe#rG=ngN}Rk$zFd zEW;&yKV12wia^qZDgXP$;Rt#IkqIcP=F%ucoGWF4YW>tegpNamR=%gYvyl|5A|+!I z7JC+f93Bt!jBq^B2pJoh;s9w+aH!WS;Lx_v!T{6lIRpMPC<&$UGBq$KgW}<)1X6iM z93=oslX*3OF5IXnlM$f6`^ZQCx#!dmsqV8Sr`W21aY5V@~anJ`AL8($vw z+L@*n|9Y?DTO_O#>^i;q-&b!*$K9Zy3r(;NTycgfI&e(#{8R#jW&saf9T&v$npJ7$ zE4SBK7e{5_hd%)G1UyJVgZ$f+j4=ISuf1{D`T~Oq7$}sff^VoRmk&37H)PT9FS zm)=KfPuG)Yoz{of12>}RMl4Wq100|SW?0_}ToOY_QVMYUX1^dGMtObUwDR6MU(Ue| zw~Go%l#@1g2v>E8Vfhy7wkV$p2=Vod0sL?o5wcf{(QfJtwjNn64UyyqsegWPfwbH_ zhe(j*Vo+A;=#7|voss442Q+OgSTKtu_3=l7wy|*{Dg?I1eAuDr*}nV?Ef0+5A9G}W z^N8eczUyHT2n~r7#eha7LObuTGi3XPV}ix8#It*VMpDII-|&Y^8#LB9^(?}4JggLt zYVl-S@~@M0b}A=K5)w@8lz_Bfh7cfHjJ7JU`W>l#6;WDtbTjqMTN&k+4hmROTwII; zO^Tf&PM44drHTSMb0IJVQ>-(*rYnImdGA%*r14O=pX45Z(3BUv>Kjw~p@O0W@Pw~Y ztZCwkOx)-r1aF&K8t^aX1d86MZOR{^ULb7%gNoExNm#SjYR9$jZ0iw}xlIm>Nvs!D zZ3-4RdBlI^G2zD%Z};^jAxJ~}T0sdS2-qelY?pM670KdMeg4Ia+&X(WT2||)fY4P? zP#CiYt|59z7o&cWDz-B-jlbT_miiJeSYVf>6kCjm;5b)&vIrrn@Zh=q9=zlt6!@DS zlu0BaV1)so#d`GNhg+=xe!WF0xT}jM01Il{&yOJoVuN-a{d*7(PD;kO(^tE|&ODac+_tRG>mRy6=6kZ35}YsX(;QHYWO# zn3J!&8g~LMFfw6U%R&Uxof`(0i~qtYHV>;iLU$2Qm=* zUkLXm)k(f?Q8C_blq*}I=3u2k2-8UV#D1{yi!>(^Bie=-jfpVFj?Ck>;Dz`{gnGCc z@Nxs47lb6vR*B6m339{vt=^){Po%TJ9Tqgz_|~vszOS}xdm-eaT*O-30epalxYiA7>Q`%Z} z!h4DT@rT{%2Sxu7j=w_6tbnRF5?dNM`yQe~RHSzb{5nCF(!oFlaJraga?#){bw$ZICDXuLm$^| zY6m=7n7NWgNQ^cDaC!9^c>*8@kUGFy?*tXUD+)DK`1hZQoZ?8XEp4omOMfH+8HhNBf-%5KYuSXPBP@vh35JtF-Xu?>Z$`o9WWk^$R zoP8-Q!4WAMNyU+8SI<>l^$i{`kewCVX}}08#gUqqEGiY(?tX>O~7Tz z=RwP<&|v2A42KUSfHK`Z@=ii7Yz5a|Gd=ad-+$)Ws4ZhdSSTE38#%3D9KO(Z3R zc#FE9zeg=WNJ)~*)HrAJi><@{8=8aHxATkDI#j?kEI?6SUS0sAOC)VT5t%*~n*lCa zDp#M4sIf`*4n!8*XHA)Nr6{TWBVYv{%BtVpQ*fN%na&iFQSE~Px}#A+?_b9V#SVzM z5$PW<5%>;DiUgTlP=}86jHqi#iYnA1O!X&_RKIy3m{*dGHrpstfEVOAlSgK%KZYl<`crDW>*=mNUZz z?@^c)aYUD{yo^G^XcA5=7+E$e@E*MKmv4US_jm5a;iy90K2fq=c-d5~>ctzPL&cO?$of64J=6|xck1gq{*D8L~X zbKMR<8sRa}F+E^VIw+IfC?0}CgJeD&qQm$xwUDB-U;Kd5{c2km3D1}_=$+vtpPs`^ zV1oN=3JDbvrEuN%kg=hQ5Lr*Q*>2*dqHMjQ&{*Yr?aZJst-Q(l)V{G{hXE?eftU6AbO8tF>h=KmBYV0g1 zjVUQ9^JD~8@FIccu)?}h_dgNz6AOntg)m64V_u$S_#Gn$?B+j)^PFIXf6JB*s?^eb zF?Q3V9lO$^I?I1G8{uFNRwMuq*Z_kgH;#|Js^qPd)Mj3}O7qsd`PG-VxlPQV+PhH0 zn?jlw-8Dp{tl00y=nGOmDd${s@`K|^Wjtj?-IpMNFQ1DTFrVja3PfZp#%Lk3dISJX zifg091RdSz0`h*rJ(K>I(#k!^0)ddVX5$t?8B4m%u0X(H{itZXVrC3}XY7U>WXNzH zo*}A|@wbs!9(w1s2nm!(MJ5DdXs5e~7q(e<|KM_~@_|o{xps#BrYuVRHEIc_pwC$b zyP8BI64 z?c3Ye!%t*p`vm9{FjcQVi5MO%Ksx~k!}R;1%+8lDum$Yt*xspZ|NhcTSrmAOwBo!n z1X#n}!Orowpk6>lgvxh8&D{AtI|u>rN4asLUjLOvETYa?CA5mgM+Js`))V@i>Wz`m z#>L@DU1bXuNY_ta!$Sw|mymMr4DDw-&s_^9ubZDj8h*OxnH%;wk?%tNh$hbPVOHP&BGf%~LHso#Lzf;_+RiUKxrnhffaL3F=pv%DTyw~s4L3-f(jR5?C?b6Z9r#C^;ObP6wu`3yz zWVvc1{vY^tX=#a29_EJ046es7V|GrU5$+E}_?mDuc$q;ReG#(2it5GI2;7a0@ckWx zeuT;Y)3^|keHxg$z3gT5hAvS*@0}4N3xKPF^A8m&FEul%d>_n)%@F8Yls+M}u5f=0?W>oDc?NY65Q{U!$d^V22-;H{qL zle-3g(GNnQ$GbmE{vVIWmS4H)eXirhK0Z6z+w(-XNFFa1;%g=^8sh!$O1EC!cQJq1 z9Dh~DL&dVnp}1|lg}5R?F8WiI6Ze0YvJn6mGjc`}`xX_LG$9)GjM>NQ9e>A`+VKmV z8}xu4M0Y5YspJobI~lO#$hvR@q!H55PPLLiSNyw2(=bpJpj7Ub0=KFj4i93N{^i`x z?<60>F012>DXS#HH!)Jp+v#HFdzQky3SkwRN(y`4YH5yfJ~aKjKNe(jbNm~@VXGUn z!|@k++{Yw_Nl;*QxA)D#`1s|=8==ti;pDiUn9uubq~X<2i;=G+I+<{5XXooHTQ;;& z&(q<-!NFl~mEO=p{`71E)+EAV$^S8YrPSqK}$hS-6#dlA1G<;P!|rpwnYzI z5dsjJmkl2<%=QP2wDoGbSuw>UGB9N{bKb5HUctaiC%7y`U=>1pbuxiqpWGU1Y$2|~ z6tiyL!D`sRk`jFBz6PHRe*;ITMFfaIe2f1p8m6Hc)=nyc6)aHfc?bP#{&ru_+fk7s zG|;H?@zmmF?xWtry+FCdlR#`=2@7o`ow-ff*!f)A{72_^aOjzmM@VRZi9_-BwmyHf zOD0zGJR@f<20veEt@1-rCTg5!Zptc_ceNbSd%x)yx6ODL z6;a(e&6ju5CJ|p7Z{Ypw;q{Z)bTZSon)l<8M zr5eBg4hfmaR>#<)FLL5<>XG*54n-75`0qcA3nF11ByNp{p=nB#$51gtdORlq=2uLS zR)4Yd`W`Mp)f_nWiHL`IsCRP7$<4?*;y?zFYjgsixMlH4UjSvQ4$&H~RTwFyRVzlB ztQ+4*TpiaxcPl{^Fc1!maG@1xB^VnhO2r7WM;bYL`v%ND)p#HfU$VTc$+a^L$lLhU z$;;tn{>o;ym0pRT&T0nxY;Go)KCV@*3!hiTDq5jzkik7VL*#$!OKtU=mKbilE;(bB z-E*K(wQu)infpA>2htL|`IgG57#2VtyY`fmd!NmNB&CC6GVp2*Bp#VS?AdK6kFU)jHkVi}iOkz%5HFIKr7`J%6GiM3*8Cyh%SL7h+XpkZ( z27IutcRII?v9i3LK3T@I0~|VaUybb}J)ndx>mIQTgV>f%JuW|>u7&mmh&Z>FexP-C ztW|x-WCoe47Bm4={{LP8?oSW?l$JzM1D;FNQL6OWLxNUbe?0-p!EJf9ivRCW?3CN| zE2wun5I`$qkB~O6R{`-*lhPCNUq)mVAVg_`W|&8kI&+YJc(Yzcxl8LK8V>{=1jV~U zoAh0vgrwn6{9IYO`ErH^h5qaQ;$6tt6a&0rNZv8bptW_34x9XJIm7 zKt!VNKv@DY7d&tVz3|8nXjvq|f>FgQzL=3#Q&52==}Lh-8aI^r;P@4;NQDU(yx$yQ z_1GFT$Tqq*9_eNR4!SlZpY%{RECb@l6US^sF1vq8adg#$+;>Hj#0D1kTGM z>{o&z%5Itye>uAWoS**t?-b7hP9pkO^UE6 zpwe~9elwi_vOY8`O7RYZ%}p3I)`7V9uu0;_2PMW_ah8oT8tM2}Q8WTg{65H;ESX1L zmj@)O!G7^5O~*I`0NQP&C?m+_8}GLo1IjZ!BOO1DjxJ|x=-boq=%TN%u&XH$?cH@} z+Yf#6W&==s1OfC=|zW(L0V?p(N4*pgxFP90)-|q)#y(CQb8Zu=K6VW3jWt zXVm|e6^*M)?qm=cRe(PzL-FDu{PkrU_0~GaZ{k{klBv@P1tDW}LlS0jvOq3W7YHrE zXG(pY3E>*!$;Y`26Pt}tS5Yb5H0LE{dD0-0s2h$6V#gtJYOaBr^BJ-OU%4;YZoeH(n(r}!0qvJYxQQKx>i zr(vCJs~Ack`(0AeP%=X3r=)aW#kQi_2|R7j2KDuwRs&aowj3qryLMSyMUlgWGPSvE zhSdQI-J$bEM>=^bkEFDSa2-#NzbtU2ReO!K*?1v}sJr_j`T?TGu}5ctCKoSTI>^R% z^aC4T*6vXes&oik?>Gc4#>qCtmUk=(d_DjrVh`lN22b+x>ZDQ*cbEd%ZS*n#x|3qa zUue=B+9mk{cm7Ah(W!Dxlv2myx=?5~RMTuY1@GZzG$jyqSa2b?AYLfGP9l;9Pz{6o zatB-kC35#Xg&teF-#?H&S$@i-M;*G?x7Rcy8>^_r)eC(-5ua_O-{CWT1n%Z=Qq{Nk zN%EV(^vJ?lHRgBVFV#SquPGepuexTBGm?-*HeBv;TmtDEviLr|%QQ5AKc5cpjW$l5 zH)VfiY4GFb!q0_rDj`U$XQ_?ZYP?C+`clmXYk=Q{;761U zJ>W9|vaAJWYxL0`3Lc<29`ubh&vP2qaV+M@u}7v)uELe?t%d zTjFuPA14DRyN8zk7=KIGe2lIlA+eq>J0=9gE82wo29E+SP~ip(5)_yB9g}h`$S{&` zLV*Lqfb`J2p}MPk#+#r*D!|Bdb$nZk^sC;8FheVSzz8elU9?BjQcKH)(PSP3ShZUx zO+NUyqiP75GlrmKG=c#l5g|Wk;UmcnkIPk42sNx=^6;YNY?1^%B2{HN2AnJCP23p@ zaZxQiuP%JgY_WJ3d%&si6S~#kE)J#6$&~7|bB#KFy{vuGDys%>W)X^P*(!be(@kbI z(AxBm0>;YK6_b3!0ip~0emFkfR$_3gUV73W4KN3m#0P>02sG~^fr4Z!j~$A&4CvkU`fqeDm=+rB^_DMY zBFmG6`}PG8C?nf5B3s&~^OL74ToWDzPqF`-o6}VSAG~f-`H(#YZePKFfIKBDG`7et z)J>4iUEi6~4=MGH1>vP?>Ist(Vr^&mUeJb)&=I1MogVs06(T!qtK{Wd13ct2*jV~Y ztb#pzB;@nBnLa*6v88yRilusWDAnQGT5h4ArMRyOwq)b)x=O*R!azfcOc2pxAtpf9 zq$vtbL(tWB2PAr^4629n-Tl+e2&#ppiJ{~++z|WtaSZH(SY?-NAoj2jC9qpetLP>J zKTR5$1n?^DL5e>AkpFCfLE=8xqWmy7n0V6kq+=@ltFH}F^|_UetjFr%<+@830Sb7* zvY?Qf#0z&%v_}FQU5d(YWcSdfz5eR`Oz-(3S6i?!^)9;xZT>vo=s?K=iO`P@tqDb~ zO@ch9#1>Vl2ycWrNRdqjNT3=05L$PJ6PS<%(;6YsE%u4q5iOi7QpQA)qWnoF{p*~% z1d9ZOZm_|oI#wePkk9^7{uxr_HC11~(Vb@Vsa5g8gO)2huJ>-zk4n=&r`_(z`98Ye z?NZwUSJZe6AYAExv_03GbLdgj02FP43Zbf){})R6p+yf6=e(HB*95`tedu|A&C3s` z(P09~*~3bjQ?+NA5z3?rx&o>Ui0rf>9%kSEG+%U~fXYfEC}9}P1{6asfDmz*dCT~2!)p;ei~np#j+#X?(N!Y<7md_Tt^>_l5T!c5N|i~c;8W!Xar zjw+G($n&9t)V0IGfz4Wo1^)|`wA6ECKzdcpTQ~oJsuScRo_1NvH15#p;h&>+5xrMu~9IOflPAyfd)eKYmro0; zalllXlB`D!?+`33m{CZLQFR(cGRl__?epXT%}9v(v=Thl^R~#q=Q!ga{5)aU#3QWA--Cd7Pm2EnO&mAWVa91T}oLs1Y0o|>ne&pB*zcu}G zB_!9H!v&Cw=!+vY-1*;6v2w?qM(qvQCt?s|JZgC@9|`}RUv>yJ&S}4s$(dAfZpfU_5P4ogNS2$M^Yc?%0#0w5-7)Wyjj&c^ZtY1Pt~;YBsd;0zVF%eqWHw zQC__FbZ%zTU0u@peO_jpOOJ*7H?Bzkm;8pK$~e+WSn#!onI*ngmlte%UFj)y`LCNp zyKLJgp|%@{jnm1=cx5lx)$A5=NY}k>&i5>9CpYxO;lGGC*!_gL5vm;y5W-xdEewfK zGr6G<8@x}QYj(tKXuX6~jsP4qC6Tfs2b>=$Ynlx|{dLN)eI=VEatDPHdU*B$pf%Dk zGaIDa(k-8tn+|lcZqL09v3Um2_NhKR$U)>)(d{H0T?F7j0wjjFzyw;NbD!XX)hThm z1?CZa(z8xxx7gLU)pd11fCLj22ADvbov0{4V!A}`>Is#_Ho(9%LUfahj!d1+5(CH% zb7bnrKVAam<4zti52%)^2NJLI<0>UKkJFi(>Aj&Vm>!8o059{UQ;Ia9^bopubx#M=m7Ka~Rc_+RfkGraH z+znDApMxGexGQ;M1y-2|^?o~|aFCi(nAr!IS>T4!5r-XCBy#d7*%C`7OKiX=XxB!D z3easnMi7WFNX9Bf;e#v;?mhgrv%l5nia|ggm&Na18UwTONetn&e`slB_;`)%ff0)e z@V{T<8}_@}fX4RT^g4R;-)z-;Eyo1X(bC@M2tW0~llOS+oUE})isEwIUGgui!9lij zH2d6F7PY28w%0u+EZe-hf@6H@rGb?>+UPjdB7KxX+x#^k=+!s|nu9 zVY3+pl*N5G#hTCk+DW-@84F5~DcRdsGkNoDq($R?c2(ULM6-sUB0l@%{0PgiY|U? zqr=PBX{RrEjcwikttKV%YWQwpA=F>w@pZ<7b>063HKye{G{Xz>x7Qjw;Pkb5FP09{ zwP?ng#Un9!971H1NYC&JvFpEmsQMV{kgf^%SOi?KxId&~RsH&(&qFj8$1MJhl-s8e zR{E*wN|s7^3LRVCiI^vQ%2{q~jw1pTvWtP(prEr#He$!lU<1_KWDmK|`zd)|&;7W~(v(s6`^eEwM7;f0 zhu71;gZ!@Nm(ME9p+~%t%m&HtJdgiv;9C_GXsCzn$>L`-w|R_&62(8Y(e^fTKSA|Yx5+$``KB#qUPn1#?gBOD?>o;<}o#mVV{Ecia# z9%HU#@jbo0_-8h z$mQb*@U8HG9B|>9Kn~oUGK`!xg4BVq+JSY3oG^@>{3`UuspYCs&x}rith0eY4!*{( zvH@64_py0FnoJm>RF1y<>{z$a0n;Opc`L}DBq4tC%d7k1S2Qr^O|#{?RZ(;<*ZAR0 zT3*rucRc9BpB8X||bZwPXB6bk;oh1lJN^UiEAacUa9li@tA8sWkedChQ1jf4~ z6bBd3Qo690+?gY2!kh5(W5JJtXbbp8f}2H2SOMRt#DkG?jfD5v%K84=>VFG=f)#cZ zZpne=V!kCiHbuyGf`DctUBlhBW4(I|!@Eo=i^R$bKS(AVZJDKrfeRJQsq?6u_PyV+ zV$={cAl~quM6;0r!xacEet86NmjjiO@PX&N1l);OrlS|uJ~~-gSPnAH+BA4<(uP3z zBOLcQ9T~cHnHZ8HN6CYP3ugRTS?=m2bKjlt_ZX}SU;cGQewOd+F&w&X6W`;Rc|t1% z?dI~cXwTHwlCvzz4K_153?){Th>^L^ux;dS&Y@U*Va|bs&NObwU3)~@wQwR7w(W91 z5$|9cQ)Kc@Pcs{MqRS$Hc%kn2YE1Qarjgcb?iH+c$rGBzp?4e8Ni_CU1)NSY1-XAs zDti^qspTDYB~ZE5&TURJZ_ZY;mdkRD+Fcn+ItqQl>Dx3+r4|gx7Cy$xvwp8Gt_|Y3 zQe7$cwut|@Or|bi?dHPj)=(N<65-?n?60FGZoGMHQLH(4EbzU&<6GqNHM%WBdWFG& z33nhj%4N13H~1P+l%3A#-@}~3(87MZzT3xqD2bnB2T2VOacSeyvCTD1}_rjT;|kUc(z3=Y7y!8Gden^y$rgeSP{O+5-#LceGZ)V1C5) zawgi&)nB)WIoEM;Qi8vcx1(u>o+ph?Zhf6tpA_QiH$PtYO}8#e8}ocX0ku}l$H6i4QY@tvc_ClRhWYF4 zpA&2rcJLyKL?UeA>_kXLq&x%GJWi$=v&J#styD~$JAulHr+Jm`o-_c(tuoip>sVdN zBV|KYr#GLxnlZI8q|iQnb!wHO`!-uAX)H}utYtk*kL^zSH~a;k(}J5~O=CkiZG}7L z&3dGY!`YzwtySM@s@$!P#AVioE8?lQ3!3pEOqb{MDx5_(PUc^)dL}mjzqo`{a>p ze1*X1p_qU3&e!}@BaXFY@-)cR`a+=0u%hw+Gt;-)xt$#%?It%$o5)e9H8Um^Nmv0w zSNmd%+24C42Pf-=cJ^DY7uE|+kJ+EEX8dfIHW#sIR_%XYsINaeyC@alqsFtNJCovI zm6sZ|-g5lr%sUQ2ptBU)qL32|I)!U3>+(`K#)HEZi7Ec}|>)9|S9uFge=p z+Ez4Ur4`W?j0_qzaK}MEa8RM=RrP2(cV`$W&kF2ibF@E4vQkS4r?6*S`H4bLm`eyZ8Qti@H@+DSnQmd_wXVvX{Se+<-ShX9RJuqBLGdk1Vd$+53KP}Lb ziBPAiw7VaaV(wP_d!Y8NdP0;6^1wH=HAnk4pD@jiC0iX=VU#-W)uXkriTt%)T>E5o z2v^gl`8!Tl?o+jfO=R&oPg%8e;`r8@kBv5uWhAJ{2s$3%M2&@YYmx-Cv|xuCnTWv- zk(8UV%M?8*Lw#3zCngCB7ANuna+r^?!`2c@9IU`JySxh0%bKVu9bX?qaD(4?QNopF zes%7{y=r^qD;t0!^y9x z<(lc2JXap^*SnH@+c($FsUvnfX=VQTklJP*T8h{^nb2U?*K;dFZS(C~2cql1nbxc% zo3SRq1GoQJp9$&+U5oqNr)2CZJGtak`UJ_D$)mkUCtMQ|l`UK!ois=0_JAW@rwxc5 z>S`LwZC5VjMk+IiOjwHH40cS=xfU|+LHDAgKw5^%mgKdSBqCW?_n_8FN>VlMzX$Cugoec z5{gu)K9cl{di4H@r6{A~XfXDlGv9 ztme2gBS4r4feDF8p%Z}bWJ$P8eDGz@tj^Fs@l5u$wGWlDWdTdNPLBiA=lSj%Zc~3( z8njKOl8W15o2m6JH%^+{LqWIep7>GRT7E{_pH340FGFkOerspOgboEr_DV3ThBcyG zfhtiev}`R|E?ka6(oCXaeK$BWeNH{*J7u(S?ShFRX2qh>?@Hzf-+j7Mb4bEZ0yi~w z1r@X&?0b^w`{0f5 zZdRp`jn&Y!h8xR&$bWt(L&+p}ObDMx>x>gVtg*b{_kXSDjQ!{Aau1Eo^>-V+iq%kW zy%dL-FQNrnpH!kxD-I2}h)YmJr$f86(UwE*h;nUWBv3SnxF2g!ol>=vog#a*9Yc}J zb&ersD7IDk9fJt*Su~e~57t+sLVl1nlgB!#sDWV#IjerMcyez+Ysc-4AAT|x=9AHE z29cu-uL@8#!7^y@wYL$^`B62TO{H}bU`fMvqHb?U+>OxX?uLX)48ur; zUF7_};=S$QJKUSosRjy8b?^otGytpF{baH4Ydjb4o3m+LNVEmGAVUPxLDsLZuZvFN zQ0G@+1iW0HGcY~EVPb-8UwF>`Sy(Yc)CpXm)%L^UXq!B4Rw9z;jr{8 zRwY-tFId*|&*STHclAXJ(dOj8OergO$B4we?N`v?xNdN5#dNXEmc4rnBi&`oD#MGx z#u5Jv>WI`;A9;wXYE}iX%T^o>aNey%1gbw^Du!7rKX*`Qq2K>C!jqLyY@qgp$&< z7AN^ycQo|mV-Z@9;!BprM-H1K@}GsYOGc+1tfi`-1I0zXbrA3?@f6kZ#l;GK`uCW*6S+|U_tts#olQ=S$_Q8<(gwIh9{X=Ix9yimFZDH}NIZUA`HQJW(kaNJhbh89H|p zFmJ8DL)Iut|LZHdTG!qClQiLr)ES!6uA6`}(eD~EbZVMN9i6v=qXNt3evw<37N1q&J7WoGRCg=3<;%Zc+2;OyI1{N8& z^URzB1QZ+igML-T)u7(A^-QD+EX_Y<5>?U;_y;$E{Kl$PT>VoDoIYeVifj5LUf&Y< zMZLj$e^*^4Q@pc9a{rjW-@eE;pFM=PC=Z#Lm6XFI;t7z_lB+tJOVo>21G$9X>wUua zLjA?K*8L|b?E+_!#-HpfY2_7&;TiWPRf%TWOl>?ru-cNym4GA z??g%S1^B^ura>r85Uu*{KGM=Hw`4?zl;uGBcl8`LdYzyIXW9eVpFC&3A9rKnf zmR81~l%Wh(HZrpe&z@Qvd^<)oM)l%GgQJeyUbAx(`{_!Yz&s#ZFBD2m5!r6Ga#tLv zWsUelzbh?=ACtT)spK>mGD-F{G+fWv{JV@`_=wemoAMVnx%7u1jRE7z+Q&|>voyE? z*WnmX+pE8xKfe+FJLO1TGL{~%JK{PrKWeScv)Z@j^}#T)R4kYMl5p#Imu%!L#OHemEiHO@*-)zr4!ORduf?6Ir0WipT#2{Z?zP>F zVlDv%S2t;hSwFxJjN<;4kFSupR<+{T5-%a{S?OlRM-ZjAo$l4go^Gpm>t{RVtDcL& za_7)q`5h+1$S7{_WI)0p)R?@hCzk3S!snCI9$W2}0*jC9_$~5F?pzmz3ZBv*rZ=Yi zIRP%ja2B?3Y1*UhiABleLtf=nQiw!91!KeH>5WexJV^15={B)c00xk`7=ncAHd!{w zgEmYJ_rG)KhOP$7a&Gk%V{=oA`mm_%F-0Vu|M9RU;Yy$Fpx-IueO2r(8fItk$vZ-XTXbHQ42B znJLUL4lQ69L<3i2Ea@JxeRCS96DxK8MF=3gr#R{*h`vlO-yyYNXKJciMzVfGJF}7)*lTQwX-@~OW6j7qTaPKbgMqUIK9v>)bnx;vpq)2Nr_z(O8 zCJTkp&xrM&QOBTsnRq%co8WeK?hm!wo-E{MsTHt!x1!KkVBRwKAX5uzj)pB(mepv{ zqQ0!J&5#bRfU9!M>LomD1~d2I>Op{ z-%pChs1bEM4*MnG_OL`8-2kIMmJf?!E!WTkn0yvajdr4QI^H!tVCZUkUMQXE29db; zoH-@yJ*=q*%`kvVi(MSEz&8$zVvRqR&|hj~K%+bSL^A3UjdUQRd0nVQ>n{AVFB6g& zbaW*Syd~7fbV&6(ch;e1C^^Z$w=`IU5R-*iba&Dlty3#Cm@L^=(TJLwxG&B^Xsoy` zdFP9NPOdvhEj;;*oZa6%cFtrdm*C$yqX0W(uY~DeOgrsJ5gJU`n0om(MVzADJ z@LGUg6YWNui{8s9#^wam?W`;XYaxgGgXIiRA3M*?Eu&d(f{h8vB?r`H0vV!*dTExL z&j&y9sV;R)wg>O90__X!c}DG-OAmrq>AlX3DwD$k2dDhoR2RRjsPSZz7qEWni%o68 z3gH>r$jfq1xwQXU($(W@Gv?|43ewh~fF)wAaP12rGY%ZF_?a&hg#BZ_$SmY6qt-}V zp=(9dX^5)f_SX8zcFS$JX4ohQUhm0f$72a|DQ;FCXe%X|bp6C=ATW}|GrOnE@> z->SeC_crYT{`aICAIS$A10B5YEUVtvJ@>S}O*1@fym)*FrqNSXL43X4i@}W*afloA zu{m#wljLQ}Tpw{`WUK^X;CY*nLr4y9T{uaun-)Tii(CCq>Wt0+nhE}Cv0_2_AS5eggewUq)bubtUamPs%)cv zKV$UDswA~@kFoJtC7wuD=|k&@sV?v_t<$)I-k4%&U291AA;b zC0O#6*fdBxNHigM?@MY&iB(kE*Oj>St3+rf5GCNF%Y0`UoXLbbMqE-;bVlN@<+r&D z=fU&qifIIcQS9=>Ar-g)fBvWZ7uD?6cuntGPZa%4*XoxjXG_= z2%M+Pnab2mn>W{^H}7ymAA;W7FC+|fhu>QVy*8jo5;x|Jai^7o|N z^3N3NS#Ncsjv;1e_nW}=i4f?oh7g4{?D>lQQ_;#P_F2D=f=o+Q9s+CNa#05Drn$}LI`+0z|PI<;_W07mvJ(S04C$L7ko=p92 zpMACRi}gwz?OB<|k`-w=onew!$5zqC7i&JIMmNcV`neF4TI0P>L8B}!pz1(lPJxcFiAzOWC zecb&T#J2p3tLyU7cSlsYp)x6!f7|nIef7Xcy*P%iD{M5*Ip;pX{MqWHNQ&s;PZ&yk z@zaK|uK@0ES(ax^NfPLdLKfD`w`STyRzTFPg_qaIp z-5(DR-AteIsE0<;R0cV>%D9Wv;*G&&QK$6 z22jRr-hh{*DLS$$^Uo~!(kR*n?C z)hM2OwB80A^}#TGT8nVMt*<3+^@i7a8d-g9J*KWfly+#o)>vClxP5h!wJF?d>;v0^ zeBG<9GE%EiG;wst(@w3+o@vP4DY(DkNT<$Qtc4<0Fkg2XgrJjb)t7mt*1ra&~g*%ANL3&;TAsY}|gLj3rU?FJ{r%$T+n0bQ7`TUdz8a^dv zkH`*ZTkW4MT1GDP(^W z?6AL&cc`4+?>Y$6UW(4aKrMD3Kh;r!NPWKcqFb&pJlrvQMHIJl$+?`ai~c*L>&tMn zW4HzO64rV29POUXdE789MPJ4nmggWn(+~Ve&#;0WuE8-q<4Vw9z5e_-EW%-OGbzv{ zO+T}Z<0Grjx`-WEIBbEsd$mB{Au+@AyJ1aev_o_2J*^4-*;_c^VT6DB+X&AI+Bu=0 zt}ky>^v}HJ8=|K<+gsW5Y2$qT`@DYs`v=^gZ~6YOf7BNb(8Pd3$|xHX*CG=W5z{sk z^GZYI*2>gO3CzoN)&f;9SKbWYLfWWVYXhIEfH@%ZMt>No+6MI`a`RtJ#aYW$`owR# zIT)|!E|0DL93I~S&L`0`x*jCzbwuhxqK>wY)tN#%oENMwh{;%4h?%*d=^X?62?`Zc zIw#h}MyG)mZ_GYgwrh~L5wtbMFc)cd5xxzm9kcp6fU-in3e%hbg=VCU7(GBdgqo6f z)_tP!u*|;($?m6L$_`^@Kc~LS2g%W-eD2x06*v2qKB4 z=}Z+wZTi1EoVke5ok;D*zQDqC z5S-7l0*9^w{mhGRJd1hbn_4si6{m>*pY|Gka4H!F?Wz{u&u$ z?;J<)^BrE$G=NHG$CQb8fg-lYgRVbHW9HQ9} zbp;g*7XIPTe{C5qDABmnOo

;k$L7JSAN)lnOos5J1)J-OU2#z+x$wC& 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�BqCeaFl8nd`$<>c(ggmY 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

7ToBWb*z`K!H&VPkbhLhZqk?5q+ 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 X5LGbqpR_$d00000NkvXXu0mjfiQy%Z literal 0 HcmV?d00001 diff --git a/addons_extensions/onlyoffice_odoo_documents/static/description/editors.png b/addons_extensions/onlyoffice_odoo_documents/static/description/editors.png new file mode 100644 index 0000000000000000000000000000000000000000..98d26fa69fe7bef85d1d09519bdc1907c07af744 GIT binary patch literal 449193 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

-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®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≤@Fstc^DB#u`^ZHCL=9hiP09I*rE1-Pe50 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≫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 @YP$RR#0?oWGH=`D=^ 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%0DacQF>t3 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

Td!2hnQZr`W?e(r* zV0u0#A@w;-kyum9MNF|>o}-Ge9?-X z$;h!eM|?imKsyP8J}BiG`1wFBzMn9L<5?v_V^5WDVIiSt(BDT1nv*y#Bj{8$VRdRz zy7ROGeZDq&{z0nACUHRknT6Vbcu|0^&Um)?6F_y=CxWr_9{Ch<87{xzWv}enntv8B$+ON@!nm0gt25dG0^p{fxj&X#JQtXln^!+42v-*t7hwD)f zG`d!2L{2lz(8#mM%4^|nmM^q7!B!T6j!7NB*Fg&2n(PeOOv#@)BV5FQz7fm9cM6YN zAF2Rq^y$iz%@{!ODi?fd`C9vo->(04uU{+BWEYOG)YlDKc%COYnra5;^OOx*%+O1U z?oh%riPFoZ1b)P>jb+-xQIPlyUgwU%xnqr*((l0DfxwKJ&>V9o3zirTaz`o7(5%q; zJ*a$e@K_B7=M~2Sf?5rE(bU4Q5NcM!Gn+TWzEMOqg+<_mjv$&U3m;Vuhl;J!=^Wau zu~Nx*E5p?6@K`0R95xiX6^Xee8?;1qSgUiJ(x2N@HKE|Lay*L{ddI2IyP#Mw?6vX& zdIrDqR#g{nt&v0O2KSTsb_~iJ<%mWl8c=zwTpQcXxjv2qOU)Y{@JvPxjE&w1C2x|X zY;7N>mW|5c;0i+qX4-T)9B74pe)^hlLAy%AAdBNinxKFC!y5GM$J+}vXxn5Z;0tYy zRyhVSF*2!Cr$F>vlGMs~08gP34)GzC2k41_g=#u~A$|ShhFQ=xZ<;F5GaH-t;KNS* z>le5Pd_zduym9H=Jg4!UB4JB*!}J?`q#LSXqDNqV-yQ9Srq@36+pilx(VuIB6Y=qI z#M=M(Q>7!zL_DM$19*0};+l5W>ggb4{HCcZ`tf^ue+oQ8Kk{5R{NS3b9rzcneczwD z!BZmIuk?oo`1|8dC4pDqfBxCTe^V}`g{T^v_bd#3%D^$*e{ej6<9r4BUhy+k5#HnW z^*BH~vC)Z=IfGj+NzXGTso6qRxA|BJYV2*kpxKVoeOuL*H>`VNc=d+x5Tp_5Vv15lR(dsoD>^i0669^?r()=f*jVR0<|4eO$AW385#;AjXEg<7#gOCahG`&$U-gJ@8Ipf>Nc{`3)cRpII zmZFtlb(XI0F2&{UclBpXlE$3qBhC*Vr{bYmQQnJLgKZqU-F4Otlf=PkcF_=_iLTSa zm0dJ6xSQ#HPEzbFM6-K?z0eOLKZ_4qCJBEcL}M7oFYs}^8zbo3Sw84XE{ld=%81g$%^d(^5(x2xzv#YO{L`- z|3;8MoiQlb^%Lwm*%!Lcoo{PzydURR#8E-I{f;eNOa!tGQGsr_-_i%6QZMXDWGxTY zOqb%X;8P5rocCfxaGrqM(-RL*z=iZS?#!V>Te``o9Q?qvplCUD&5`crOahH!ipFLdOAz5vjJ?hHlV;{d%yA~P1)CEyy1 zsr=@Dk+2-u00!P#EQ{Eet6_Ho)t$f5mfQvG(6wZ@C?YSe&b+Y{yRZggcKL4YlShX^ zag(@|f$qc_<8+*nzfEgel+ic5n`8!SzS0K1-4>Byo{ zN=|estttsa_Y-VQZ7UL0*9RBJra>q4h7Hh-RC>o#gH1NWE;CHnMFibR*-EDgcaqDI zYa^U;L6fT72`+=^ydfs;xb!;;hwgq$dQOCB9VTSY^HJbA4YAA25VCKBogA!4Co=PX zp6I;C@D0IdvN`W|I2{-z)*1V=QJ!bIpwY&`*>zyy2oOEQ*gaA6H~KI2K&um4hY2;$ z?jM)qpg-FGS5Mb^f61nCOzY4CU3em^AgprCT`amv0$2u;Yi||kdX9hhVj4yryETAf z)p2kRf&Sx_1npz_8bAz!*1D0>&yCj0(ip(mI~4>Iy}sK10Jcl z4k_t`&$T7!L5Cg$=qx|qrrXDfEiEFnS$2~E{g?3bXC~*73PJ_wMHo1v9ED}9Pc8+H zmI2MSIzWbKm?TQ@kwMp#yL88-P~e#YUv5=kMUJ#hi8%}`5`p$+$z6$(i2-Ww+xlN= z{Q}T5MrW84b2t)IHYppc=}0@ABjh?3xzC^Cc|uU5XA(8poVDz`)DSxkuj9Ev!sJTk zCpm?LfVqm?97caW&;Q{Z;b7RHmhPwH8@fXSgad3-kR60?@W>%qGuZplfF-(5z0eIr zdBg%VO%o0`G@-6hKyFNk9T0OPkLHu?npARbfS^09{f2Ip4z16dynAC5qK|^ekXhGh zU11#6p@Q^_!Sg;-zycG5I6xR#IWVSf&o&L2Al#*f=N<0Z&kf+%nMCLZh_lNl)a|md zb-QcG`B8M}NBe*ppQV&AR1yvdjSxL!j_@77O?}D5 z;jZ#L%yEUJU+u>aiascDVvvH`Ih5DKuHfMCFZld_>#H4pa&unuHoD>Bqx6(*_AGAX zI}XBj5ZLu_{NZ?OaqtpyD7zh9mC%Xo$z2fe!-YW$3kc*~lf=#nJ3Zd&G2wbgpQnd+ zKpdCQ2ZM(Q=5!tBSoYU_++deIYRn@J_rYl?|mCl)57Q2n-=$1H)w>*bJNY{Am87>OR$aq`->#Y9?pg)6ELAw4* zL{<}^k)0s4wvH+Q_6pc}1s-ViJi{l=`lw>_^WB9s=tD^<&xcAb12lExP;s5N>PosnW_Pv=Wj!gH%QPB z1%2kJB-F7PI*ZR6J6srH@zI9Yu>~4KIgVy% zkpJco`kL;-eNtq&2Yx;tBjfXNEWJ*XH#BQwhaPCLKks)}WY_J{$f1fd6n;M>>auy@ znOlJ8$DMLCyPzK=hJ#yF!VDpWL4QXhbZGUKQkBdk;S@nbvg{~9|MQXpjb;v-D_qy> z`UR*G)4_6oH1NRgOYhg_mgQx5Sb-?wqq8rCEzm8oSq@FF+1e@Y%}{YWQu&Aw+m62j zkmGC+&E5F3Z1HE}rk|u^LkCf~({(!W@z7(QO)an-^qSx$4m}CH26Fb7rOhNL;!X$j z?yzt^xt{XIvTlDn>`t=gtm~7C&L^k0bGgrK;)u6#0s3PS0R8Dxq&t5?+s1jDtw0kq zYxm$3JqHDPxzstZVhhsc5;aCJ_7>YH0HUx_#Wc+Z2HCBhbSpBc4r1WtFoJc&3AWqC^Orry1Q$#H^jvuF(R66#};VZD`t*LFCPx{r)QWx@P`A>69!7I8p(mK z8X)Z;Kue}w!>)}=@-`sq*}^iFcb8^lu+OA%j0_Nx_$)SOwQ`7MLq9M)Hy1j*FSLAf z)N|J*nRfcuByLPf&l`m2Bk0aYFhY0idKORy);=1VK902(K39#lk#<<@eH@)56xv0I zmN1TZ+t12>e%L?c_Jfgwy&MnXhu+!v4bAJ=JsYIq&ZF&7;X=Z1WP=VA9oaY}&+dms zXeQ`?-A)qpZ5E+N2zouSy)(p6ztlE9VrP_1dvunW)5o(4wAmq_)(p@uzd2D&FEe-W zA=f-y$o^)0VOmsPz2#qV=(01KC0S5uky!2P?JVH75>?1&@R{d}wBObdk26mDNV>M{ zF4dN6QhSZY&AN2>cC>1jc!N+6Cm(oZf`KE<72J7H@cu++Xiv1aJ$bzRaHpp|!&jZ^ z^*T$>q(EbKT~2{c>G}3!UVzSRXHq7Do~1ym^Z7lK^fW*hHUte#0>zCj$0#zuw77wq zyKP~b^7LyL1)en=z6_BMFmpE;2sm>>9T4I0?Tyi5Zz5wu5oft2lXAhuyO7Smczti{ zf6?_@fX-xa+=Ud5$fB`QF}gAmbd{PoI0||NsdaZzJ<6Tbwdn3=^m`w;VNk_pS`)$Y zK@y@lcZ19v2eCd6(AuMP`T z%E@uT{(>AGj}>mXi?G@JE%s-WotxY&VRMP0yG}m}PP3*QiO>^L^EgLKQr!{3`lwAR z>e)Do9a`0B!0B!_B#(&EQb0&PXqYCPXdh%7$4+wW#H(S32(RAuHp5QF2w_?fv!Hhu z+EQk^pdaC{R(q@a+4QK8qvIR{9bC{VLjQz3yYD}eLPFYRgmI(@ohN8kplK8;D@4!D zx4T-C_9+Ql$r%C8Cw`5Xi%kFWdH1P>5D;Lh;qwzeuj~K8);?F!zRK<5#x-v>^*X># zH|0EWR@L<}I{Vli-bUa|Y!0KAh}7ykMvS(3c0b&U zet8`Dp2_^|J!SvGG}x>(s(giRRqfTsu&p12Z>jg695pgGoAx(C(Du``}%Eb+cte}1$9 zcA!B&XqyUzKodxR`yP2X%sAn96K1Cn{qx-gg3hVXS%NkckO_uHba+|vvqH2_Z~9nq z^cIa`2)8(X@=>CkH>mAjQGot^0ej{_F6S6G+Oomf#4O^CFxmo`QWF-h0rdR774$@3BY*=JrH@im*L+$J9F@N*ARvp3~}d;!*;8Q@RF!djWkQnKn ztbJ}demJTNk*?@vl5{M^(osF0#8+%{rF)8uWPMN@a&a@_m?*%4@V5TfSpR=MeE0wg zG!5UOrhDL6X2s%FoMRVxH>y#SbTuGz73Am&1_wp#78N?K9=y8{To+8x<v2~liFGnVIN)>7x-*+MB%!Y4ib4v4?#nS)E+?Ux zTpch%82rz~#stp&Mg(VNW(9g+DHwW#wt0#c|@_z=O`G#`r1t+7U@R%bOi-=~)nUeUOP z@8`0Ha(q{#rJuSRD+D^pmDl|fJGVxHUYp>J|FU-myNw%56m85xoQ(kc2L{Q4kRM>u z4TzY5VM;KxQ5M=}Ap)Kch=I4vKV&~&@V5TRH)MBJ-Ky>uWz9Ir!ZK`&WK$BA32=0M z>)v#5;LhLOowPuIO>>`bUavogLBcO*DA3pcxsIhN0i@>udNFC0mDD^ZcG^n)iQkEP z)>Rvw2SJ_HY0rn`oCUr@VRWOx&Oy<2a5^k(WgmwbyDQr(Qt_$^axH9j1*oO(*Z(%x zzc2t@=R!EB)5KCyZ%qN=EyQpn)J%9B89K(-X|=f~IlX3C zx+XhE)Sn@CV+FArY~e`834@7a)z#wF7{s4ZQ%c=Y%uN0_y6>`r!ii!r*-xSxBI41I#9$==)_4r!k^ zO$kD|%1+D8Kbra+V>T#=BT0c~@tJoViZW4`p5Gwvb6Lt6X0<#4vvrixQq;|8$?)hb~E`1#zUSnCKUfRyagE);RM*G z?*>k2aIuO4p#{E?RgHP3W{d})c6z=De3EHnZFYy#8hBOwCC}x&9ut% z=@KK-@QC9*Z+hhGhgKWv?VGPcH^96EnHv;ZcZWMpD$wZOxUuOQr{!nC<Iw=tobtvl764@nca=#|a}HZVs*ubU$g!#z>=q8j*W~F{NCXY$ zIceDwM}xYIh2};u94t1Vv%X*dTU~zu=%C6*|HIyBzS`HkG>IEo6?!ENE4d^)^g?sW zhe+_e-Ln7yAOJ~3K~&H@Qn-3;i%PwZ*&9=l_dd`whjdVX3U_$N8A5>PJvXSVpgctd zaFCICw0J~x?&_Mm1xJN>AKSd6{dp?w9w=&~6PCszLRHyar_wX{HhRYBA@Op={*linHvhdd6uxZ>?|eTePZDFz7LAK!LxC|4i(-$ z@W^0EdsZ&!-I?)qDgm0bXo#!>U`AgDOU}ARC1}!&(vKJM^N~gfp*7`*bAmb&nn4-6 zRj~1Ud*KM7RidHE8|e921___3QAIQKw?NRw!yyR$*Ufw$bevb3adDiH4b3#&{`+sN zQ%+9TSTv$SAMV@9!STiy)3nk)a}I1vSqfI3ld{+3J#uVAi`Ih50=!7sK#nLq ztA$N2n4?WNTAdKUoep?&io)zf7&oA8pQJU%p_;1Qqa{tn3 z%SOu?G%PkVK;My{Lzkz74)4?et(E7S8G;@;IT4&mlm0vd&~bP${=7cJ!coEa+Q>oJ zMz;};bJ2I;M%7x^a<~c%vK8@Gv<7S#>8cG4x9JGC%BHJ@i8m*scjC=;3lKt`Zt}Bc z30FC-qq03=1BuA**Z(HhZ!H`d{h8+bmYJC6Wyu7+v}1+J=?v(+T7@o^l{P)kP7o@W zb{rYp*ULR8a@aLNpRT!@5aXYrOJ&9P_sYkC9L?JFM9!-*$F2iwbQfDz28xG{7LMrc zK>vpFKIc;G>Vo7v6iNtt3FPQ{m?G@O#bFE_-R!(zmoaQuGsn(!dMgE*2|1CUOKuJr z6ikW<55@|O_?%+$?xMU6DD4&nIwLY?<2Ob?J|tD%7{{SQI4-Oqlr8o?AI00Tg-y)m zIOd|E%bQQ7F2a~z$8&@dX7>bgwD>o2Dl}wqpadO^9Jx`#vWcTa&|mM0w^A%e`@#Q> z2>qbl8f_X+Vbo?Z7Bslg!Vn!N4*#zJD3BHOBY)#gF&KUy|`GA5jX48+VbIxpL4`i+A3; zVde+(29A;j{UxzHf6*g^#Ud4@L(c=WQzdzzNlusr0;$qL9kxh25GtLis^+%5;Ev6O zt;OepT!^XAV{@hF;#_>FU~<@8Wp!7n^%K1mM(`X}l{iMq_v?S7>mLDnsXfs9eZtS2 zV`t|Eb9U!j92%sSZw`50t!_CCdLDbEd)@rU?%RRqMUO2JeHKA1w0n?k9xU zh4I0;^o{Y@7QN8XvY`#n+~j>x1_$TZ9WjbSHK>@b!ELrWWxKt^!2wW>IUHJmKI%U2 zKY*g2GOdK)zCj@&dN|A|;V&nA(7&8nOE|AVm!)Zpjs9uI4u4{SKIR|Vnc(9_nQlM+ z>nzac;r3crd#Lxp2WLa(UGsF%M~wXrxt^#zKyS<9b?DoRch}QHhBM=X`*3!I=Wv%E zqLCNH59Z^Vb%6ago*Pe%VC`er1wUjHh2SQ>03XSm@SL7AoYMH;=&iVCRo*{*|7yh3 z>~rrdzmG2sraiY_SvVM=efbYJ3Y~R>3jcqY>F+KWps_|pH0XJLX8%U)?>=XUka!6b z&Z>mLF7mI5epY`T}o=B3GihOO1I*h9F~sT%^)t6P<`!DT8JRC#k% z_kOjPs5)u*t|@qfe9%#gmOwiW;Mk+gEDbZYk)g@-9Ef_~1;=v-`E?U5@52}&*APZr zuJc9>Y4JWWSXgUz=GeL(zG)XL&D5SE^(h@{&s~0Ku$ys0O8|86aG;wbY(dfnsL-@{ zS1M4E=59e`a&Eu^GeBr6RZ@E1y}E~xbZ71D5asz$M(Hg|&>}cLK2q)AWf6850!<@> zbVpYW3RG{)evR#`@fivUpBSPAn2*TO&kWI`K|fjjIhCNlVWWx}B`hk?MGaabbZU+E zr(*30wOYbwpy=}%+Uq-BTTsg<`Q&6--Mr|v_b;9zeR;37KzoKglfIC=7_}12vara5 zyc-sq_sz?dYP&7IsrVG|lbda(M_JR6wK_vRm(T4^H=#7gx9I}9jz*5qmB4x7PQ%aJ z@Ts{cHs|7-!>O5ESJ2Q0U4Cw%Nz!B^M=%5-xVn13{x`b*0MJmRq7>-cSf;W% z)ziH!wyP|ocD+=OK*cJzY!1c8<^+zx8lZLVb1!`=(?DS# zr0I!K8ySL5d>(7>A3LrxW&G~m|-U=(A!Ld_x5O<(Fr+kUl+r{Erjgn z5OP*?gzVyYB8EQQ)(MK{37QwLeVhNvFg5DTc(5sfbLJ6)$eccbPyhR? z4>x$dnU6a5^I7sq!M>2f?atf6K|4M8^#nhkyk*iiGF5~H@%c-^!U0Z>Gg3HAu^cr< z2Y_=_sK?oA0ofK+5|36n9+RU4WUF8r+rTEG*9dUaw4Gy;bds5Tl?h{0r6O0_rZD+? zo$2#)$yH8Q`hNXybp0Bj_jwa^WZmWD##l-M$FgYTSmifYw=2=2Z*RfrY*IJ0qr=)e z_E{q|NzPG$rs6?CXtqF$9G#%_p1@gL(SsT%9H#Z1DANO1q)Y`VA*3Tp&}7t@tQ+BI z1Y+v$hEBpk&k#<)JTNB@sr|W!Jpr71_C5Dq2Vu|<>Ku>s5DU#9-Ocq6?uvzkG)=hM zVFL6{6?pe&C)gcS5{dDOlwF`b3UL4B}APb&_iL$bBj&YE&XS$1FSI zUY4Qt1mWZB{Lj(oe3URdo)tW*2o73YlAlx5KG(c~{%E9Tv~K)?<_&ak7!wDDLEGE^ z3Y{uh4f`Ir&5W@9S!pZ*z!bSNn6c?rG!G$4{xa zX{pWYAO@Yu(CV5Q4k^J;625KKhYLmBuq(wu(VD&aw4h{S`k83FdF8t({GP&W{%T4p zay$=MbYhddhNkq$`ad^(GBa1472C6&gRy1kZZ7dTW8T03=oxOoLv)yNv@wu)BJ{{x`b*5ui6L!3NwM5S{lJ z#BpL)FjMob5t{7OE3O&U4D=kE2Lnde6GuxmAt7`v_fE77T0?YiRp^17&t0bq zROq|=y;HT`91IOh`k8+3T^a>V$~3t)b~{x;Xw1$%!*qXgitxZj4K_mWWFJ*@D=+kg z)O;uv5I#bQ3QrT7_>F>lgUrvI{*0yGTNop}RER#Z@Jy;R(Xhqht^H0F>Jz2jPiBD)^Ud9yZe-q?o~$jK?Vn>(y67~ z6U4!qSaE1DnD4--oW zWo8f>2=~zBosQoKlApE6o0j)dMYz9`;W$A8hd9VPm=+X-zJ&$9s?vA5{t8Y-i%g5L`y9~-4};9mN>Qj!I!4RNP~ z$OmRPSXAp3)du>7g*pQxL~Jz~!_64O5KtgMXCzExTHTnVnko|VR)U8zT2Hu&_>U|_ z0v>%OznzW#wFjRlnBR6R#;>Azy#@h2*?wN8;Em-J0sYUfpM-uk4s>pM5MSQ^(9Z&I zh>)HppaEXpYIvHnopjP~r>H;?0=BBz)NZw;0f$j&`&~+8I(0#dyO8R2Ub2z?EW9h4 zyA(48S8$5*R<7UO?*F~+|16*#>&JxY+l37(Ho$Id z9mLd87Yuc(ln`hq%!W32`yN6MI(NG0cj?KL?`@GvukyL=ODynai<&|O9<_t;3h2d-ds}8 zlBaR7c(c;a(xJi$c6z|CNZru6!M)uRM^|V@ z2OI}4eFz+A#4iE|+Azx%{6W>=BnO5x$Y?v9SlPgnSYxIo@1!r1+A*)O3Q6ZQrO`xg za)?QzjF$WjP2#At2y|_yDC-0RZU2=C z5)9o+kN25#E_qn6q(;KNlp>WF%P5mc&*fN*U9@831L`)SoEeQ41X_aZVwv39g-AXh zlDW^C3>~4)teiEZBiN8~pS3*Y05gL&eFK#=r$FbzH?E!@+_PL}{2A5qaeq8U%6TWT z&wD6N(Vq$ZyuTv+`J`FTVnQSD3=M<;N~3b#U7f`76q(VdQ%r6^F2^eud%sGb$_qNs z0&>uI#)3u=dL#`x~~YEZz#Yu@e; zt7?Dr`Fk~7j6ZZ(7?%8LhQ0lIpV2{=M+eisbVh&JiVpVARYR9m(Q*SqzlM|&n4z>r z^Z3IW&cHs`li=q#d}AWQ@iC*HKV|v{Ka&H^00)O}d{zMZei8;9nx zyZ>K*|0tkkMf5_A=0qLgBA6&-)ERQ65qy4}=0SIMXpmE$eewoLXU(ze z7OamojY9xv3qtE$Agt=qU#9qtAL@7EHFVo!MG864LPit+%-@{%EZlPmQ-f+a_qJfL zx21y{i$4pt;qB+1vY$7~cBtJPewiBYsQ`zip#jr?0J~^zP(}>n7>-R;-W^q?h!ssP z^U)Tl9L1qN{DReBur&+{3Q>QyHSlQ@bivMw5jnYXmne} z8%UH^W=C0B4FZ@nYsG@w>(oj`bc0^HSG*cbN9Uu{kc6fu|M%eEwc-5+sl0-}R$fV` z7%p2Z|2bEEG)pleEb79pLI&k?mTDCcMUzgA#C zPm16Ob2umyI&DCI^%%z&C{MXJId+#B4&T3=vPknnFJX~#y`AS4Ml8}I4qtPD54$Cc z6ca3*3)}m`qUqVp8HjjG({he`KW0v|lbwUE?A!gn%l)4P^ek|oyD}l5=YdEjEW?QA z`8+dgXiRLLB}~X=FrgnOP#lBDj1IK_(Gdu}U@@(M8&KFSA<)ck@RE0w7iM_SXliOu z=^5ha%dS;In$Qh$pQSE^f;LLcuuBdJ1}t3uk2`tyNnRUmysJ?KC^|HLpM+siDay{Nwgch=a*N( zpudZbMj4%ogEkmPzK<}Yq2H>Y>vi~9H{sGY`>w(fJROcR=5uA_5vWTOG95)Inpej$#C|Xy&^GA>l@bKO+}`&|AnEV6R2a&7wlImSgy5> zH7o0hp9`!bq+YTqb8}i`1=~_T2n+CJR7Vho--{JlXaiABa@DSRD-Fdho$f=tzvPwA=&I`4k z;ip&NDw2ilFf{bzm=X`w%n9$HX zC;@l-Yn!~$MK%z}4(0PM)z7_qbMA9Km*eRK^MmGrG{=h=&$ik-Z9$t(!U2S~3VIyl z5C=My$npF}37zz%ej8njJ+7Aa!E>Du`)@kg8y~AwPIvB~MKv9* zG4#f>UwB?WU&`KC<{oyA_d#R=ZKJQ1(d%oyCQ;x=* z1V3kOlt4OjR|@o}FrFcC&|XV-oW!Bs-JP_mbOzrjON&4E(y2nwhL3)h7>>4Gw7t>L zoX8O>V_s2)9fZ8OkJC78_A?vJJ!@*hGDKmk0c`+|oYUNnn9q_{hlw1A4FuS2w0Lk6 zq}XjnO1zJ$#UpUh`XwoLI!BmpA-t-AP{lK4)M<0^W;li5L|l1=i){@Mt;lS$!F z@r>lg$%aAy8t3`R#Mf_1~hMtI6!~U{gN)_V92M!vEWkYJw`ROnpu2bCcjx6ka&%~iL4_O`d;f)E;G=xS=jk}7m7M5agKX9g4|=rWURXj zx~mJ^+lB9^3tAz4zJ~4WE-2I6vd$x|whe~Z;EV;tL(J|{cj?aWaJ&Eax&O0({*OgC zH1-Xuye+?B9O;A~ZK3GJBS%2b8G;5%<1r#QE)Eb5h(-r-b`bnrcAWqnP(w)4Su&wT zBpbUK^6a`&Ckfej?kU8M{Nx{cdEpzn1?w1sqFdshdH+_*Q%X}pSZa!06uA*w&;zQ` zi|f1ztmwgZ_D*u|o#G~jkjxPimyWs+JYRrklEM;iO<(q z&`+l*%uc%q6SIRSE>(Fw%jZ{UC6qoD@uAs%)=21_d_H3wc@x??&~dfOXrSHOZ0W3= z`S9*=@zi&Ccz9UfB(yj=9UXSVLHAihc%abnn#-RiOy&MtH%dr4E+aWq298x{# z!RK@jp<$qP%{>Zd5!F)|XvbN;KHjV#CowguCNzMrr-R7gttz!GNU1ICeYZ77#QKp7 zKxnVo9fG=~%$VVIMIt&`2jMJ1%p5~O&g#~&Upgyp_y1n^uMV_g8)X;;O^SG)C`*}# z0UZ)+x6lQQ;V|8UkHKl(Hxx___NpduOlP zww6Up}#i2Z;NW(@imbp1`eNa%`Tn_g;IS z!ym~`?nNRe<0!K8Bg_QzWo7MeQ7PKT(H#ZR?AItWErCWwG))keg49sp=*I>#ui_v< zM+fn92F|){bjRE7r^r}JkIA67tF)<(mkFziCD4^wQL(1F8OMY=kJig74v(q!Tp|>==QW#Q;Yy_}j(Cf1Qcni~h@*;)_470rW2vLQj8iFn)ffcm0Fn znQV0c&!^bmA!p(9-BkVglOyL(^dOo*kM4N$l8OtSDQ=b_@6Xc!&2nJkH=g<+Mp|OH znchU~Y_M$y7jmhq;x6gO*LqMy{1nL&Qp_}A*F>0iChoc}aX%M+d;FNoKZOK(a3i}3E(BL2ql3)Oa($QwU-5`=jb)BWCv?LC4wsYjTuPP`IX4tG zGevuLW=V&$UX#7fVR5e8&m9(@#RARR=Mrksl1q2~xUfg&&M&HXX*6Zetb^{N7ldMn z?)bAZ*zK-VXS$*ibfsI-l}MoFfbc;~cD(RSJ1gL_iw~=mF&&4dXC&lGh0XM_YC;Fy z;*57IgWfPn$R7{28~e+)Q+76ehB5CQrO?>p7$`!6zs{66JW20x(R+89edB=d1c}a}-Vw?=T><)cfanDuo<4{C{EU$^DmMh5 zDTl`Y{r7(ahE`Le3G`5fLw7gy?BFdV&{F_SM}%bG;A_HJCxm=N=>Dm`R+_ZbiX>7< zKcT`~12iRmL^@F&2A^9lYlJPcVlCa;7jlCNZc5|_CSv))z7WhfS1WG?y-)RZpJg^B;0eEV=rTb(FJey zs2Z74X|;sIu6twH%-s!I`UWk>CDYxlaX!;1A-6h4YR}t91)6f^9n_%T@OB7hRJJlN zNH#lG)tPzjE%rCIZ?$lU!;U;06hI&JF`?t%w7lvC#OupqzPO=yuVdGLujIAE_XZ_`3Vm^{XDW5@7$GOo+qVVJ7NU<>;;<3)!EUNx_UyU&Xd`I<_6>A) zjL=V1;)sRNHi7>1^GY0N7mUR%{WH4B*9!FS_*R&KZqt0;_=l&-t(4+4o1gCn4IJR! zuor}1Ac-Cgpq+)oO%c8>sN5?X^m!dVQptm70nI z3A-sw8k+P$XsX)+PNJrQP;Le%^^F!;NH;f;DUk$7ucjP04Ry`e*Z)qh{{^7``Jdh!q_B4{}c5XnD#~?bAyyH_w8qm%M-JMXEvZe zNr8h)&`{yHwfiYCfCdS)3!FbY?*^X~PB%C{CN~j=;x!GQnAZN0Gp4DGv=+aFw*>nY z=^8ilYCq%Q$Sb9?fcv>p>E&u0M8ejJr5@p<^SZ=qDiRyhx@xhHd6$D8Z{Aq11OEmw^?FtdI)}_zE(sgA;_b!< zDTfwGbjAV>e^lsI&@!PyDBUA;BUO$LiW|Q2+<2L@XJ(Q-XEZt3l~m#&rp`P^XAx%3 zqR)=MRl?0BBQfm}_Th8Mo82U_6R3U&JRI}u8$8|3y=Sl6klpTmW!f5QmoSdd73_7l z2C7@+>sD?I+r8RPdE*A5RH1pO+o(6%cFJEz%PCZJmM7nSJgCahVB#=ygIl3xwMx$1gnHk-~Ta9&=UjS!#EvtdKK6Z zot8zv|J#N}5*-w6AXa3x0)N75gQK{<{qk=c_-|eY1y61i#a#z(3fvmpK>e9DcCR_J z3!6iFK8@4!U;`S^*&h$S(lhj*)%@W7Fh3JPe}vA4KOyw^d_T7Xol>75QF?_s_OJgA z{a#Pms9~EjASSAVOX7wkS|SkLn@o))sTe0xK}e|K){ukt9J;i>fcZ{BL)7W(?>X&F zadl$q64%%N?yo@JJR&DqhLNByy zGIcXZZRcEk(C)b*gB`ar%!qdve5Ax|+K+a3c`5gVG{~Lt!!SW+V$L#S<;Zj&nxkgf z_pWpkT6!FGHRy2}1<|}pXtU>`lfm&7Zzy({MMAt3tmY)o($7%f%qF|NOm&Oo*|eSa zd{Vf-sK2q}+rb??VOr75((T}S3Su-^pJ}*zcL767YvUjrD)JukXDV_i(T4hle*E^# z$rR{2A1y~8bpm~~JA~nzzbE`E8T6wVpY`dKc>Q3J8 zRgflCaDT*vV`Uc#z|r9(xfdGH5r6lT`OOKd(x z49LNTUZQ1h{^_NAm$*=@%xW!VZDn~_ zy&fiL$)Ih{+>pX9YXq2clGu^2j_{dgRGJJD=>CZ^Cu(-9gN~zJ`U zRq#H>&}yo?1*=`#f}f+^>yNj($Z<(=!?LnDC2Y}M*8)Me0YPKQS#s#z8_OF9)83HB z2eI1mE@1%AZ(bhM5ws#_|CDM!^OlPKE{ixQfo67A2>spJ>_UVNB51xPoR>h4A@ndz zJ2kF@i~`!BKP`3+eih;-A3jU9wZ|v=gwqQ^U)l3lq-gAD*nO0~o^cX_K2a3y{_e-m zoQha!!}Bx#AsC_OJGR_R&v#Ri1JHRsJqK^Z%=a`&IMc#Wdz*uRSN!lSRi@z@n+J6& z?OQ0&N`mPG4Z51Z!sOVY9G=$c-$Dvoefn2OaDC61ift^bF6geW|NUS8zhV`R#(Frk z#4cz;uVl3w0%~Y(R>PjnzD<(tDu&T_OGc>7A4D?>r~)e z!GO2q(U446wNx1k?x0)2c8b#`Xj8)_U+(NPt;C7hQ)&qC9aD3hR7V13Cc`;}7@)&_RA)J|?+U;q2P{?9!?H(8dAT!$NPg3!Ts5;b3Os=c?@N_+aOn8C-jI*!-ZgX7JaQ+}J4R zww_1s2KReAD&k?iS-_Sx}LU?!9h36E^SL%Pi0qpt;4d)3j_R2;0#k z!Yx_tpsleB$ay|UA9gU{}eS75NaNw|H>?F2|s6J;t+Xh=H!KYM4d+c=g5;TuVj0UOxF z3E^3QAR8mV8xWp^5(Fhol=c83AU;4lpK#-SfPR8a=T-Kh*5W-sb-OL2xU{ReLMe8KmUiv$1kP#aFm^s zfnCIgfbt!BHC#|fEbitEXh`4?w4P^r_JfTQUl;$aWR9?-Ho`6{(45DilCxMiIwou3 zXmvz)P1mp_&nb22jBd!<3=@V812t*SO<$=1U2^-NWZlIcl@es=GMD@e(z8mc2+9o5u7mKHQuMdP2kpBEX_8P0`ulH*kHaJMzs!~5GzZ%JAHQ~YUolq*!&HRO za+!R1MvDi7x1b6n?dpQ8Al?A4p%*RV(4BfRjN^prZnhM>r*7au8CF;LSaT}c02bG znEN<{ z_+Ah6_F#qz)%C2#4l71y)1DIv`a&MZ@nC}L98Vt)IAC~mV}xhqXVdKc&Bk%WAwmwc zOGN1CGrQ6IpGYKFK3grF2I z1JOJY20G)^tv<~V-fn+xh?Y)36_SSmLSdc<@66zLVND*4_&#M@^z-ohFqQjUUnM|a zG;sW+#oeqw&#`Zu7obUN7MN!H#>>m!=2$p_Y3zvLw)BM^baj5rU0WtSdNx=hP;Xuc z(P|qwFoN)J$+dM>oR#4@jyhi0bhp5KcAA2Vh^Krg(&@r9P_Ls#%CKiiRAQ2E=l=uF z|KSAC62j53*xUJ@?M&W=#Bkhsre*^NRC%vt8c`xSd=AIlB&Ls z%ZBC-A#S7h@paTS*qZHa0~=e}g{{xR*E#od<5wo_&pW3}GfcObyCc=~mm})U zyEN#dnI1Icj6Es`qdXt%1fi$sC_%rzej^P!lg2^(Y#Iq8L^~t2^b*dfR;f+D%0+@6 zIHQ2atK>(fabnO5=7TEJ&pe4}1!PqXSs;`GIJn!)eaR7lorg&W#|@zWWVAfR(0BoY z-x=U+R(587uF2Dk!F2Mre9k}BHT-;0g@*QSX6RD^A*s*&^Y63yS-j6)jh>&vkyu>= zn_(A9cguU9r$&t(%lqI#YI&cr|33!(Kufdq1JJ9|`)d7eIUgSW)kO(JuSo@MbhFF^}Gn^u(^J)dsBPHWJ0 zu3e>u{MryPT>HC zoU@efzb9S-xdMP!3 zAwzZg(!wHSr|d{>U1rlMZs-4r=l|v8f$k$;c4XryD;H^(HEXc6e0Rs0&np(1wTG}m z*R=RFII_c6r_2$eJBWKG&qgHbj`HosMMh~pAD$sBL6l~MuH@rGsrB9bRcRhH4H2p> zy6H)XW{&1ij-FyTdO_;G^z2-cslyBt_6W+Q;butNunVnsa7Y5Q3e#%fIPcbI&P71) z+=iW*EHnYo&alx={KOn+b~vZagyx<-Byyk~diTK=m2{YpsoC_Wz!c%0i@U-0%xugN z97NOGPpBU}XodGdM+rAmHjNGT4{olE;K=50Bt_mw2!eLhYKfunVj79wz<9m^k4H<@ZY*X zIXZ6OJm>MfI_UM1h|uc2f5!Lre0IJbpW_T6ul!c4!dSp>0qE(?G~IggRIV%_oI*}YqU-nu}JEq15uw|f@=y#;>GWI?NU1I6ffcM*aN z4b6f&O(>!>lnzdS^5&Xc=uuMM05%_Gt7L7&1Um?_J52HNK_&@bNq&CCTJIF0qxeiF z4%h3QOcGif$BcHuj4?V@nKjbuvP}Ks&>2z_j4Q-?sm=J}U)cg(ynVfA=j`K(xLJPS zYLTv(Rex9Ej{1==b1+&fkeHu`;<d0=bf{1hy!}JlM=!t1NuTA;oh+G9-JML?kv&J634Ogylj=|-F1RJ|d{1bgV)&({XD-2OAG?dg$9% z9nr8BN-gTRwU8e*6D>VaG43=TdfcfNu&w!l@nAd=N;?d-uxp(Ka^1VoJ!-nMF6Quk zJ)8cA{J{#pDzAwympr|_kf*n=@oxZL=o+jYGs)TIZqygjH=dqMb4q0Br%2ISphDlS z!siDgM4M8ThdD(mVjGYS51)9ZvubhpZ4o960M<?6!Zs-50=l{>!tVe{I0zY+48# z)1cB$SvXW>CT*F-X0bkV#zvbWDM&}Ran--!Ae5!y%H)zd=skfREKXVUs)UaNKOgI5S+sa}0ByR1n-;Mc{+#2LL>3k^6HO<_9kg z_2gsm(3t}i6Whln|BA#mq-KoF+lX(!^VNoWT&hp(>|fRZZ^;>dgan%BO%DP+kBBTP zbfQ0}5_E={zi8OAG^a>xoj~=B9+ig>vX}dVG3~CWAV~#Kwbm||3$*}C@WkjXSYQdC znsnD8Sce0ech_RhT?UPvSb~utxOfShS!|EGuze%?B5&va>F0j}Xo+>}#4hY~VHTOQ zv2}Og->AUfacUg|=^4?w@*&Wxvs$!-gJ95JME;JACuDEt>}UNZ%_*f6tB_wsn+Dkx zje>NPn5$BAHcpmk4&sQ7-E7(D6`?8bnM%Det4~Ol(zZG z<_+TJ2Hepa3T<>}88DP8LSH&4ZQZ!l>CG(|p)=EiZ4zd;-|r1J?-8AOfRH)|aWj?> ze%SJC-5Z+wjOlgR3U7pG(woWt%-C#Mdiz2DGxVsK8N!V%QQ7#=XR~!P!@{9>Y-Hyn z-plw5R%ecdKKO2Lw+2ZZW2bk_;y9XO@9#KFI1==$XJ}`H{{HLPK)cknfjz_`M4u7k zo>-Dg?a=6p)-l7HA=p*D0nq>`t1!swEJ%xhKmb*FZS(03pzA-{ZMbrO=1Ot%vZ5XJ z>?}I-ufAZoEkqfYUt5g_6`j1O;kZQZ^w4o_JT$B0|7Gv&b=%gmC``bBSP77eX$g8T zgcwA?G=y&>5rP^uYBPWc_`E=XDepT>pC_0$FF6v={#kpUBbu_~J1HzV4nlR z+nmiVw&deZ>Jam+x_`TRQDNVxR=vj}CVOxbK^gBzO!-;gYhSeCM;KISXV`9MOSuQar-^FxA7zIX8Es;#S2 zA);-9;FI|!%73K4YHwnA~B=hb(^lpx4yNqJVK&35$Rw#$4t zyt7bcPZqQ`slf7npQdoIOokppTSBNqg!^19$6fq$f9`?LFsU25M`|j&A`8>mamYu%4L};|1UrY`MfzU=m|Cdo{cl%HKr3eJcQ;9IK|2tr%7fL1mR^c8Wv8jbA)9Z-L*AAUpiT-_m~gTf*rh(l`~-<#OF zm8c=A-8O1dlCu?wblS{{x&qmZ5*r@0EzaoSnFf;Veyv#)5sf#l-*J;C>rM5+e zIb2@~^kUIP*3S3cYO`Fw@rM8LNGqcQ?M&#u&(P1KLjE%5*gcBVtSQi($niKUg`)t@ zbp`nm1%0&d9msO!KjvSk`Kg&}kucbe_d+ewvWO*lLJUap$VIg+H2fiUMHf30oVIdZ z*$bCIQGoecx?T~(CKs^#=kJz)Rfz;!FuS;hqD3ECM~LY4QRfpu6ph;bZSjNX7o@BHnCsy^7rXBZV^0$Ocp z5YApcZ*McvXgZ&yn9xAaCpDzCMdfCf_k0DtPxCgwlNQez`cqEcitb^tmjviudsO!O z{cPv?Jkg%Q?cF#!$kBE;8@r|PTLPkQs_6bzgd^KZ2sw9Y@!)v^;_&L3X9=;^`#aTo z|3DKOIq2Llp}{y_>-cWdbPi>rTbp~=YHT#((n0NHl+FrX=$4?eOr*0L>mt|~zK{ut zOH~MM)_wl}5FBsN(DQbUKcLF^#wuk)6>{W9FuxT*B|_`Oxt5jy03ZNKL_t(^tw?OL zfLSPmW|nWFch$Zn!#bWuG?*)p-Iy3&$??R*ZY#j+gEzPNRUio(@MwJX)bxs|^u_U@ z=#Tx#M5OWU%$ejpBmQr=M?R~7hM7T1v#TeIymR;lN#8G5iTp)6yfuyEQT*pQInbua znHoUQ{`5m-lH^cGxt@1M%Z&3%P(xAdvd4`<6FUJ4xH_)@h@o6bc14l1T6d+Z{~P5W zkH76CX<|n$Ch;;qum7X2Uma-1AjUAb=9sgfml{_G0npl=vRQAIDFRKhTDWISe^!~k znH(Ne5q*S#LJr?J+OF?4kkIT$C#lbzzj2IHf?DaVHgm)BSIOvs>}iSI=pc847Y8j= z>0EbrlZ)YK64eah8b(zt+DS!4ayvFpkJEsImqBmIP^rs3y3BiHWvSrhyoWgg92)w`x&Fvzn$;5Ei2) z5(9p@p%P2F3hF`=hY{>Xk>iYuR0gh~3#!y=Rw-Q}we$1g>N&^P!etp=Q~}=ad7&Io zSf{k}eQn(n`E^*=ts!AcsxJOfS?N-_ggSlP`D(Cl?xsw zb8?Y`6n06xaiYRj&Kxb=adwbMp`NPBL7%7`73g9Sg<>h}@lJi#t8|Un@uFCnhLX?g z|B&lP0X;TgbB;wuKrhol!KGin1U1dil+teTqbCG&KG5z6LYjl>VtvX{1`9bFT0Ckt zq1U#rd%TNeZjPM<*hPta9MR`B_|G~&$Ye$%y(w|b@Ypf=+(>F&r}7!WXRn|KE2Dw( z7$!pQIEuqY)hX$`RoA)WF7G#>8d5aqR_SWavy-C1?bekLZp~ofD6vnbNaf^WI8HX( zPO~+jVC7ddc%$VE2s8m^F`3T)l`l=nH4iHK3}natJ=25Ump*H4xA&q=j$NvmXHw5o zQP3|aqan@CBtnxs&Y97mpU=M6TU9h8(JG=T5Sj`JuiDwy5@rD^y%s z8d$UiToWtAQpSi5)YYLyLEW|iNoet=gF&FjHTBOF1(|Z7e@g`Vjl^_7sT*>Pv~!qM zga*k9fr&pcohvzJP@lU3N`v)mr9G4~)=1Kq_~i=LR|ekT{j9HE0ay(tH3?_UF1fCk zw@v(uujMBaB%b`Iyr+U639D#uqBFv}P6afK47P7YIIM(zvJCVeo`IevpdV?J&~$pw z!8fdcCPOk>q-n}R!2u6wkrv#Dw<>N}q(&7^TBLLmVvzzVTzdEyBGck|?{bK+I;mvi zE;JgW$Xmpp*Z=FT|0-EwB(2Q~{RTOW;g5KP2@ZNao zto4X8MHp9IB`~LPj9ZV?LAaKp?ltF&NX+wEr8JEY63j6wXNEdD70#DsZd2(lyId{j zb=Qe}<^pe`JIIqJq@&RtP$oACsX?m;?@AAnx#9G)7N}fz8n72sEh5`<^7I1gmEFDZp4^t3+{S_+`+&6^_tVmf>jOU=qED zzg3ml;ARJ-;)BxDa@y)FGvrYP<6n#5W}Ksqs<{fSPEGXiL<@??{&P&NL;HCK z#*-w{w6A8SPfrlmK5?TSSN>rbXrE#CJc)2<42Q7Lm({$)JoIY_$4-sJ1%3)&ko{Sh z<~&9Lu#(PLsfEb3mA6P4s9li4D*b_g@HMt9r6j}AN(e|^h^M>LObaG?OWLMk7Frw< zPvGeBOd+|{anlupUXw%~;`|^h=7vS^z{a=bi^=KW_(PNR$0cqlFUZtf?H(r;;StWq4=1v2*OkVY{_;DFB{ zRXJr->`pex?!-$cwWc$bDw!bY*97za1U9p^o`vB!?O!pVu|0)*2lvQnpmN^7&y7B# z^Q^qaxyJww(c6&A(Vx%niGO}cx>MMfmVrPF;W%fT2=i3*clUr>3GF0dw4r~1jP@3E zs-gegzFk2lj)#N8ez?lOYUa*W+<#0n<{?7Oq47R^IgrsLFn7P!(K z^qM|*y$o5+JB)9lF6T9dJJ*%q;byL~!Z#?jSJCh(3cPgdUv|^~YyWV4DNioP?rDwz zt(y2o{PW}E-^7ESIYhWf=g^8(0Y2&uKJYJX7xijorr=ge#ulc(uCP^nMIjLsN!oC^ z!zb=AdX42-p&YK}Mii^U0}&<6yk#5uKCl17t{((6FviC$!eN3qZ1{7!M@+7}8q=tm zRY7aB%I)wCGQ=UO?kKC{@F3~uBZTis10fmE`b}-2yj)25$)I9>xdz zULW>*z@JU5-QB7g;_J>D#nFS|+*>^3HqFuBBcfkSWS#S&jf7_OSt*aHN|jub%6GM+ zh2MDbeJVyjyHMyH$MMg1E9h1Xxt8^^wyo43DxZU)bP?!qoI;!JV*cw0jtBX6QwW>f z<2t`bRM$Rp`GMqPO=@`5ew7~c0sigy_d^(!_ozba3Y0jlsOq?`Zb3w=h91wbVl!Kw zE$22qkq*s5wvyA0hpKV+c(kCWT*<#Kmr2*B0{?Q1fQ(9HHZ&_Q1cgVK0ues@@+11G zAClAtcs2?eqh)5y*FsN<>m2m`DH^x|2!~J`xek@*Nd+C_pdX(f)AAIF;CP;gaM+?| zNn|KJpt}&nb%7ZUWrPDtr^GN!cxCd2RXi38$#G-Gzyum|we-S35r7JCJ)S7L1#Bx* z#JB*Upp0lGqK7fF5p>&;WJBcsfpZ=Kd5e^S<7{@tSQnS3n;exq(&Q+}SPr2dUr><*`ssqzMf;~?zwNo8|lJs-2W=+2ucmIymI`{Lt2+?^q=!UF%Nj6&L{6F^2UPqB+iNYn71XfG5ab1*i zMX7Q%EvA<-o z@4quI!$IbDAE0z)O3;*FTsE1`kD>9@itb`+ zU7QtkCaf+>(DAMW*Zq3}KvR**<0E!nWo+CK=5Mw8J%q|WpLWy-LeL!O>ARJb1*M^R1YOrY}kb?&bbBeRF zYkWtB{vHj{;EC=o3w!EJ;ex_WbZ05^E`qatW@m`mEG0d}$9m5H;2?{IW5 zOd-x@G0?pqU9(@eJMX87->cQ?>y-Fw84|$4RSA9x1l6l+|~FfN&##8r~_76O=g z|DWgoE6#sD7X`YNM7XO6{g5m0PSZLlj)Q6mF=ylHdYOu5XjP38Owdt#-m7>!Hb1vQ z&D=mJA$Bdv(ECQUcSCbZPfm>n8&)K_Zg{w74|Fg*hb^NZy)HYRnjgEp<+0iPpHUo>dV(79Q{xBq_m^06{B>cGx( zC!r3B9#L4GSGr}Y$+}e6bxP=*B7D2mmz8tAbftI^j{g;Wmis!!&-69Mb0vcd;5Q6f z!rm$S&pBr#+6aX5dOYMmi~?+Wt@A5*=SSZQf8_wa#w9h}v)gA@v%AY3rltpV7S#O< zy=enhzqk-o=jj=%QtN*pjM13v?C+ToO#k2H|66JI##nVX<8x7gegyfMO&pKkzD-Qt zuuX(m^I^x;swi{LDs;%sMJJtSB99l)5paK+@ep$s;0 zG%QRE28Sxkz@5mcpXdLp&L0%$VhBfejPL;kX`UZ^XnBzEi8=_Q-aw*W1 zzabGEL2TYPdzvTQ3thJo#L=`p_YcM#j_B0r#ktXkKs(bpI9Qw8p7ZP01lT?Fs*np> zD!;|j+$e%>n#AOsLF_&^UD&hzxo77y05e2$utB=xzqt{@JUHiO2yGOHKsC0f>{J>@ z9-?{GgU#Jw+4+zdqz__@hGdSN4u9Sq4tGe>Tsufc4kl`vAv{bQA$(@fMg;2jwRbCo zK4Nkm^rdW(lPMt@T2tx1BBI8%F4(acW$xRuS(8sL`)Vi6(9qH^-Z9 zCH$LvRVLdwZl~x#B4?!8JT+?*0kU)Qtv=LSI3+db=Dm`DvJybAR&G>H1`Qav)tmf2 zVPdpEq-0E9an{axD|veW(m4W9(Ku$D;A`{Ot~J7F@*H3-@NP}p(VZo-aGgWnItS~^ zX!@w*v1-lEwb@P{*JiJ3Bl-9B0@JGU@67$+Pac=QKeVUBa*kA;#Au9cUSTqDHQ02kd~tNe_Sp*2Y{Me$ zJmYJK{5dyVwvo69egPHt=q+&Ojobxc)=q@hN=IGrGoR=G;pad9>nA|}#Q>cs(EApu z1+x~8he9w1JxHJ!P`Yg=dN?R>Lx*ncDcG)os&9&b<{XZu=6A7I$a=iWi<%1a7qw(4KvxZ|0TnWs0<7h1i&9MDBTPNox z*`QY!1sb4LfYdl6P*et=u=8GvmD29)O}7l{n+^}8cbx zxB{J0v*^*K%ZP;|+BY6C$?n@7_zXjYNtXu)orSOQH_?wfUqC={

8n)8@69G$rv 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 literal 0 HcmV?d00001 diff --git a/addons_extensions/onlyoffice_odoo_documents/static/description/icon.png b/addons_extensions/onlyoffice_odoo_documents/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0649a5f013b6f37ce057f8909fa3f597dad52387 GIT binary patch literal 2183 zcmcgu`#Teg8y}5aOPh&|))L1hL}d((Gna`BGZ|q{HFhL&nOkZtViZdxmyXC?s^cCb zY#b|d$x+O8nM>zPuE{Om^+$Zq5AXYV-uLr7?=PRv^S*B~_JW<&=^ z0FZ)W&{nu8F=4({kfOVCciXsdFst60htj_9A0UAFSv$}UtAY;cgBs~REdl%y+J1|k zc3BTFGwRUNFI3qw=`5ONLOQk|NPwdWG7DLR;jG~1h}IEHJ>H0LF}}ulGIw+DVUM*} zM{7e{^w&M+Mr7{%*RQ^s0I~)KAaxss0s_V1Fa-rM>TM}0AQ}aOiHnOJQjkjee^E!I z%u9N6h$S(%l?`V+J7$Jxd0P9{yU`KbsQF_NO)Tv$Y)@ z@@(k$QMP&9_TL@_k)Or9g*zcZy>fesxp|7wRD|4WfSYq@OO(-$u|;dR*$UhS4?EDM z#!dP#i*qM}A{cNjY#qcMi>|wol8Q1gJuaVy7-eZ|lBqm06`|aK+)QLIR~E|9%aSe^ zqpWZ^D`KqRY9`7B)Ge#JuK^++YB*8*CmFgw2!yFa5p*jGUOl_vri~qAYukoR;g6^H ziiQU$ViHhJ7RUv`!M587NC$j(eVwFZ^pFltPA@eZ6kb~UqUFnw#7WhrPO4ryL)dam zK;62vapL4ub^u$i_e#Dc5_1F#E{why>^0Ii+D~10FRMf%&)ae2^27Q9e@9(WX$#yt z){uJ7UP8$zqxy8q+cFy{?MniyG3AjObGpj@k9O-qMGA3wNqY3th9p}|m38W3-4l*! z;5!DGF%JH$O*hCrknb6tciaIUDA)D3-#XPuDRA{Ik9%PkIV{lNu}`6A?JG}Gy~1qV zW$`jYf83kMPj)W#yp zLCx{se|5XEmx%l^+z%RWZgO-sHaM#*#c(uy8oJ^Xyv1fR3A`{;whe)&ezFW)mi0jY zD)H(3g#FWMUrsE2h9baM7p@dp$feo(2&Gleh)1j;)OPWMDigaFFl_bbVrs6gPIXBO zYdY?Oi9%3p2Py#-M^Q&)6~=U^o%`Y)j|+yTnoho-*tyxeL8pZ>mA8mJ*PK6MWY6Zw+Bj19q_k z^g2!iOq~%$Uv9orF6krix%fnrfCMd;ffG;5IoHGmg1QT0P7rAJ#CDZ?4S_#G^nE@K z(jl=#J=aMTN51NsTKn8{*lUrCBASe8o zKW4Wm?QNM9oAdnl;iXypmIh`!^LyXNt1IF0Ms|nQqf-aB$K|4eZWhxDDwl=k3LLKcu`7LnP~qz2gbZzmOFg4L-CV9c8J$ScyO9L zyj&@Xy*Zy*yLxdX{4#p$Oh)MlyRNsQ!TzVRV{J{}_I#Y723%+Tio=*<)ZcVBxfB*C zKYD6>Gu|Uupi{AK+vniN;65-I6jrqw50Zg8TwuJ*qJEa-;yQ~l2J~4Pii|Y3dtAB( z42Fmc$(a7~kGXM>Qsp)@-|u}TyM^psQMlrj=ilhRz1Anu7iboMlM0V7XsTYR>H-eA zo(GsSg`YCQDU)7E8Q)tu$2O|^S(mgXQ=_h*feQI?8Iji$VN=?|p>YY3f3!ee|HMMK zB%&^Vzk0ohBL|%S>0Uw)@*Z;tL9GQ zT>TG%@_9V2PJ!ukLQJo#?#WVG@+f-8vPt^8%zu0)MJIXrC=L9?IqvrEj_7XyU~Dd+ JtF8U+{13Kc&cXly literal 0 HcmV?d00001 diff --git a/addons_extensions/onlyoffice_odoo_documents/static/description/index.html b/addons_extensions/onlyoffice_odoo_documents/static/description/index.html new file mode 100644 index 000000000..aa39ea935 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/description/index.html @@ -0,0 +1,89 @@ +
+
+

+ Edit and collaborate on office files within Odoo Documents +

+
+ +

+ Work with office documents uploaded in Odoo using ONLYOFFICE Docs (in any Odoo + section where you can upload/attach files). For example, you can edit attached + deal notes in the Sales section, open chat attachments in the Discuss section, + etc. +

+
+
+
+
+ +
+
+
+
Edit files in the Documents module
+
+ +
+ +

+ ONLYOFFICE app for Odoo Enterprise allows opening the created files for + editing. Just select the needed document in the file list and click the + ONLYOFFICE icon on the right-side panel. +

+
+
+ +
+
+ +
+
+
+
+ +
+
+
+
Create new files in the Documents module
+
+ +
+ +

+ To create new office files (docs, sheets, slides, PDF forms), click Create with + ONLYOFFICE on the top panel within the Documents module. Select the file type + and specify its name in the pop-up window. +

+
+
+ +
+
+ +
+
+
+
+ +
+
+
+
App features and file formats
+
+ +
+
    +
  • Edit text documents, spreadsheets, and presentations (DOCX, XLSX, PPTX)
  • +
  • Collaborate on documents with your colleagues in real time
  • +
  • Edit form templates in PDF
  • +
  • Read PDF files
  • +
  • + Open other office file formats for viewing, including RTF, TXT, CSV, etc. +
  • +
+ +
+ +
+
+
+
\ No newline at end of file diff --git a/addons_extensions/onlyoffice_odoo_documents/static/description/main_screenshot.png b/addons_extensions/onlyoffice_odoo_documents/static/description/main_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..549a3c3e6f0daa979154c2228ef269f75327d184 GIT binary patch literal 13860 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 + + + + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js new file mode 100644 index 000000000..27f134fae --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.js @@ -0,0 +1,114 @@ +/** @odoo-module **/ + +import { FormGallery } from "@onlyoffice_odoo/views/form_gallery/form_gallery" +import { CreateDialog } from "@onlyoffice_odoo_documents/onlyoffice_create_template/onlyoffice_create_template_dialog" +import { Dialog } from "@web/core/dialog/dialog" +import { useHotkey } from "@web/core/hotkeys/hotkey_hook" +import { _t } from "@web/core/l10n/translation" +import { rpc } from "@web/core/network/rpc" +import { useService } from "@web/core/utils/hooks" + +const { Component, useState } = owl + +export class CreateModeDialog extends Component { + setup() { + this.orm = useService("orm") + this.rpc = rpc + this.data = this.env.dialogData + useHotkey("escape", () => this.data.close()) + + this.dialogTitle = _t("Create with ONLYOFFICE") + this.state = useState({ + isChosen: false, + selectedMode: null, + }) + this.dialogService = useService("dialog") + this.notification = useService("notification") + } + + async _choiceDialog() { + if (this._buttonDisabled()) { + return + } + this.state.isChosen = true + const selectedMode = this.state.selectedMode + if (selectedMode === "blank") { + this.create() + } else if (selectedMode === "template") { + this.formGallery() + } + return + } + + create() { + this.dialogService.add(CreateDialog, { + context: this.props.context, + folderId: this.props.folderId, + model: this.props.model, + onShare: this.props.onShare, + }) + this.data.close() + } + + formGallery() { + const download = async (form) => { + const json = await this.rpc("/onlyoffice/documents/file/create", { + folder_id: this.props.folderId, + supported_format: form.attributes.file_oform.data[0].attributes.url.split(".").pop(), + title: form.attributes.name_form, + url: form.attributes.file_oform.data[0].attributes.url, + }) + const result = JSON.parse(json) + if (result.error) { + this.notification.add(result.error, { + sticky: false, + type: "error", + }) + } else { + this.props.model.load() + this.props.model.notify() + this.notification.add(_t("New document created in Documents"), { + sticky: false, + type: "info", + }) + const { same_tab } = JSON.parse(await this.orm.call("onlyoffice.odoo", "get_same_tab")) + if (same_tab) { + const action = { + params: { attachment_id: result.file_id }, + tag: "onlyoffice_editor", + target: "current", + type: "ir.actions.client", + } + return this.action.doAction(action) + } + window.open(`/onlyoffice/editor/document/${result.document_id}`, "_blank") + } + } + this.dialogService.add( + FormGallery, + { + onDownload: download, + showType: true, + }, + { + onClose: () => { + this.data.close() + }, + }, + ) + } + + _selectedMode(format) { + this.state.selectedMode = format + } + + _isSelected(format) { + return this.state.selectedMode === format + } + + _buttonDisabled() { + return this.state.isChosen || this.state.selectedMode === null + } +} +CreateModeDialog.components = { Dialog } +CreateModeDialog.template = "onlyoffice_odoo_documents.CreateModeDialog" diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml new file mode 100644 index 000000000..d21173ab6 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/create_mode_dialog/create_mode_dialog.xml @@ -0,0 +1,49 @@ + + + +
+ +
+
+ +
Blank
+
+
+ +
From Template
+
+
+ + + + +
+
+
+
diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/kanban/documents_kanban_controller.js b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/kanban/documents_kanban_controller.js new file mode 100644 index 000000000..9cf7909e8 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/kanban/documents_kanban_controller.js @@ -0,0 +1,7 @@ +/** @odoo-module **/ + +import { DocumentsKanbanController } from "@documents/views/kanban/documents_kanban_controller" +import { patch } from "@web/core/utils/patch" +import { OnlyofficeDocumentsControllerMixin } from "../onlyoffice_odoo_documents_controller_mixin" + +patch(DocumentsKanbanController.prototype, OnlyofficeDocumentsControllerMixin()) diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/list/documents_list_controller.js b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/list/documents_list_controller.js new file mode 100644 index 000000000..4d8257cc5 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/list/documents_list_controller.js @@ -0,0 +1,7 @@ +/** @odoo-module **/ + +import { DocumentsListController } from "@documents/views/list/documents_list_controller" +import { patch } from "@web/core/utils/patch" +import { OnlyofficeDocumentsControllerMixin } from "../onlyoffice_odoo_documents_controller_mixin" + +patch(DocumentsListController.prototype, OnlyofficeDocumentsControllerMixin()) diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.js b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.js new file mode 100644 index 000000000..16b9255bf --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.js @@ -0,0 +1,23 @@ +/** @odoo-module **/ + +import { useService } from "@web/core/utils/hooks" +import { CreateModeDialog } from "./create_mode_dialog/create_mode_dialog" + +export const OnlyofficeDocumentsControllerMixin = () => ({ + setup() { + super.setup(...arguments) + this.action = useService("action") + this.dialogService = useService("dialog") + this.notification = useService("notification") + }, + + // eslint-disable-next-line sort-keys + async onClickCreateOnlyoffice() { + this.dialogService.add(CreateModeDialog, { + context: this.props.context, + folderId: this.env.searchModel.getSelectedFolderId(), + model: this.env.model, + onShare: (document_id) => this.onClickAdvancedShare(document_id, true), + }) + }, +}) diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml new file mode 100644 index 000000000..4ee396c4a --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/documents_view/onlyoffice_odoo_documents_controller_mixin.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js b/addons_extensions/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js new file mode 100644 index 000000000..e3f0b79eb --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/models/documents_inspector_onlyoffice.js @@ -0,0 +1,76 @@ +/** @odoo-module **/ + +/* + * + * (c) Copyright Ascensio System SIA 2024 + * + */ + +import { DocumentsControlPanel } from "@documents/views/search/documents_control_panel" + +import { _t } from "@web/core/l10n/translation" +import { patch } from "@web/core/utils/patch" + +let formats = [] +const loadFormats = async () => { + try { + const response = await fetch("/onlyoffice_odoo/static/assets/document_formats/onlyoffice-docs-formats.json") + formats = await response.json() + } catch (error) { + console.error("Error loading formats data:", error) + } +} + +loadFormats() + +patch(DocumentsControlPanel.prototype, { + showOnlyofficeButton(records) { + if (records?.data?.display_name) { + const ext = records?.data?.display_name.split(".").pop() + return this.onlyofficeCanEdit(ext) || this.onlyofficeCanView(ext) + } + return false + }, + // eslint-disable-next-line sort-keys + onlyofficeCanEdit(extension) { + const format = formats.find((f) => f.name === extension.toLowerCase()) + return format && format.actions && format.actions.includes("edit") + }, + onlyofficeCanView(extension) { + const format = formats.find((f) => f.name === extension.toLowerCase()) + return format && format.actions && (format.actions.includes("view") || format.actions.includes("edit")) + }, + async onlyofficeEditorUrl() { + const doc = this.env.model.root.selection[0] + const demo = JSON.parse(await this.orm.call("onlyoffice.odoo", "get_demo")) + if (demo && demo.mode && demo.date) { + const isValidDate = (d) => d instanceof Date && !isNaN(d) + demo.date = new Date(Date.parse(demo.date)) + if (isValidDate(demo.date)) { + const today = new Date() + const difference = Math.floor((today - demo.date) / (1000 * 60 * 60 * 24)) + if (difference > 30) { + this.notification.add( + _t("The 30-day test period is over, you can no longer connect to demo ONLYOFFICE Docs server"), + { + title: _t("ONLYOFFICE Docs server"), + type: "warning", + }, + ) + return + } + } + } + const { same_tab } = JSON.parse(await this.orm.call("onlyoffice.odoo", "get_same_tab")) + if (same_tab) { + const action = { + params: { document_id: doc.data.id }, + tag: "onlyoffice_editor", + target: "current", + type: "ir.actions.client", + } + return this.actionService.doAction(action) + } + window.open(`/onlyoffice/editor/document/${doc.data.id}`, "_blank") + }, +}) diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml b/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml new file mode 100644 index 000000000..9ae1dfb40 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/create_dialog.xml @@ -0,0 +1,106 @@ + + + +
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+
+ +
Document
+
+
+ +
Spreadsheet
+
+
+ +
Presentation
+
+
+ +
PDF form
+
+
+ + + + + +
+
+
+
diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js b/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js new file mode 100644 index 000000000..071b99cef --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.js @@ -0,0 +1,113 @@ +/** @odoo-module **/ + +import { DocumentsPermissionPanel } from "@documents/components/documents_permission_panel/documents_permission_panel" +import { Dialog } from "@web/core/dialog/dialog" + +import { useHotkey } from "@web/core/hotkeys/hotkey_hook" +import { _t } from "@web/core/l10n/translation" +import { rpc } from "@web/core/network/rpc" +import { KeepLast } from "@web/core/utils/concurrency" +import { useService, useAutofocus } from "@web/core/utils/hooks" +import { getDefaultConfig } from "@web/views/view" + +const { Component, useState, useSubEnv } = owl + +export class CreateDialog extends Component { + setup() { + this.orm = useService("orm") + this.rpc = rpc + this.viewService = useService("view") + this.notificationService = useService("notification") + this.actionService = useService("action") + this.inputRef = useAutofocus() + this.dialogService = useService("dialog") + + this.data = this.env.dialogData + useHotkey("escape", () => this.data.close()) + + this.dialogTitle = _t("Create with ONLYOFFICE") + this.state = useState({ + isCreating: false, + isOpen: true, + selectedFormat: "docx", + title: _t("New Document"), + }) + useSubEnv({ config: { ...getDefaultConfig() } }) + this.keepLast = new KeepLast() + + if (this.inputRef.el) { + this.inputRef.el.focus() + } + } + + async _createFile(configureAccess = false) { + if (this._buttonDisabled()) { + return + } + this.state.isCreating = true + const selectedFormat = this.state.selectedFormat + const title = this.state.title + + const json = await this.rpc("/onlyoffice/documents/file/create", { + folder_id: this.props.folderId, + supported_format: selectedFormat, + title: title, + }) + + const result = JSON.parse(json) + + this.props.model.load() + this.props.model.notify() + + if (result.error) { + this.notificationService.add(result.error, { + sticky: false, + type: "error", + }) + } else { + this.notificationService.add(_t("New document created in Documents"), { + sticky: false, + type: "info", + }) + + if (configureAccess) { + await new Promise((resolve) => setTimeout(resolve, 500)) + this.data.close() + const document = { id: result.document_id } + this.dialogService.add(DocumentsPermissionPanel, { document }) + } else { + const { same_tab } = JSON.parse(await this.orm.call("onlyoffice.odoo", "get_same_tab")) + if (same_tab) { + const action = { + params: { attachment_id: result.file_id }, + tag: "onlyoffice_editor", + target: "current", + type: "ir.actions.client", + } + return this.actionService.doAction(action) + } + this.data.close() + return window.open(`/onlyoffice/editor/document/${result.document_id}`, "_blank") + } + } + } + + _selectedFormat(format) { + this.state.selectedFormat = format + } + + _isSelected(format) { + return this.state.selectedFormat === format + } + + _hasSelection() { + // eslint-disable-next-line no-constant-binary-expression, no-implicit-coercion + return !!this.state.selectedFormat !== null + } + + _buttonDisabled() { + return this.state.isCreating || !this._hasSelection() || !this.state.title + } +} +CreateDialog.components = { Dialog } +CreateDialog.template = "onlyoffice_odoo_documents.CreateDialog" diff --git a/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.scss b/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.scss new file mode 100644 index 000000000..d425d5490 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/src/onlyoffice_create_template/onlyoffice_create_template_dialog.scss @@ -0,0 +1,34 @@ +$margin-right: 15px; + +.o-onlyoffice-create-templates-dialog { + .o-onlyoffice-create-field-box { + display: flex; + padding: $margin-right; + } + + .o-onlyoffice-create-templates-container { + display: flex; + flex-flow: row wrap; + justify-content: space-between; + + .o-onlyoffice-create-template { + display: flex; + align-items: center; + border: 1px solid #ced4da; + padding: $margin-right; + margin: $margin-right; + flex: 1; + cursor: pointer; + + &.o-template-selected { + border-color: $o-brand-primary; + box-shadow: 0 0 0 2px $o-brand-primary; + } + + .o-onlyoffice-create-icon { + margin-right: $margin-right; + height: 45px; + } + } + } +} diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/choice/blank.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/choice/blank.svg new file mode 100644 index 000000000..103a97263 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/choice/blank.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/choice/template.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/choice/template.svg new file mode 100644 index 000000000..633017688 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/choice/template.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/edit.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/edit.svg new file mode 100644 index 000000000..f3c10a258 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/edit.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/edit_black.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/edit_black.svg new file mode 100644 index 000000000..12447ccc3 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/edit_black.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/docx.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/docx.svg new file mode 100644 index 000000000..4fe27e3cc --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/docx.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pdf.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pdf.svg new file mode 100644 index 000000000..ae0386db6 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pdf.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pptx.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pptx.svg new file mode 100644 index 000000000..02b5cef0a --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/pptx.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/xlsx.svg b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/xlsx.svg new file mode 100644 index 000000000..3b24d74c3 --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/static/svg/formats/xlsx.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons_extensions/onlyoffice_odoo_documents/views/onlyoffice_templates_share.xml b/addons_extensions/onlyoffice_odoo_documents/views/onlyoffice_templates_share.xml new file mode 100644 index 000000000..5606de21c --- /dev/null +++ b/addons_extensions/onlyoffice_odoo_documents/views/onlyoffice_templates_share.xml @@ -0,0 +1,45 @@ + + + + + + diff --git a/addons_extensions/project_dashboards_management/__init__.py b/addons_extensions/project_dashboards_management/__init__.py new file mode 100644 index 000000000..38718f084 --- /dev/null +++ b/addons_extensions/project_dashboards_management/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import controllers \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/__manifest__.py b/addons_extensions/project_dashboards_management/__manifest__.py new file mode 100644 index 000000000..316828396 --- /dev/null +++ b/addons_extensions/project_dashboards_management/__manifest__.py @@ -0,0 +1,45 @@ +{ + "name": "Project Dashboards Management", + "version": "18.0.1.0.0", + "category": "Project", + "summary": "Beautiful & interactive project dashboards", + "description": """ +Enterprise-grade project dashboards with: +- Notebook embedding +- Popup dashboards +- Full-page dashboards +- Modern UI with charts & KPIs +""", + "author": "Pranay", + "website": "https://ftprotech.in", + "license": "LGPL-3", + "depends": [ + "base", + "project", + "web", + "project_task_timesheet_extended", + "hr_timesheet", + ], + "data": [ + "views/project_project_views.xml", + "views/project_dashboard_actions.xml", + ], + "assets": { + "web.assets_backend": [ + 'https://cdn.jsdelivr.net/npm/apexcharts@3.35.0/dist/apexcharts.min.js', + "project_dashboards_management/static/src/js/dashboard/*.js", + "project_dashboards_management/static/src/js/external_lib/apexcharts/*.js", + "project_dashboards_management/static/src/xml/**/*.xml", + "project_dashboards_management/static/src/css/*.css", + ], + + }, + 'external_dependencies': { + 'lib': { + 'apexcharts': 'https://cdn.jsdelivr.net/npm/apexcharts', + 'html2canvas': 'https://cdn.jsdelivr.net/npm/html2canvas' + }, + }, + "installable": True, + "application": False, +} diff --git a/addons_extensions/project_dashboards_management/controllers/__init__.py b/addons_extensions/project_dashboards_management/controllers/__init__.py new file mode 100644 index 000000000..70ae21e54 --- /dev/null +++ b/addons_extensions/project_dashboards_management/controllers/__init__.py @@ -0,0 +1,2 @@ +from . import project_dashboard_controller +from . import portfolio_dashboard_controller \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/controllers/portfolio_dashboard_controller.py b/addons_extensions/project_dashboards_management/controllers/portfolio_dashboard_controller.py new file mode 100644 index 000000000..df3dbd675 --- /dev/null +++ b/addons_extensions/project_dashboards_management/controllers/portfolio_dashboard_controller.py @@ -0,0 +1,133 @@ +from odoo import http +from odoo.http import request +import json +from datetime import datetime, timedelta + + +class ProjectPortfolioDashboardController(http.Controller): + + @http.route('/project_portfolio/get_dashboard_data', type='json', auth='user') + def get_portfolio_dashboard_data(self, portfolio_id, **kwargs): + try: + Portfolio = request.env['project.portfolio'] + portfolio = Portfolio.browse(portfolio_id) + + if not portfolio.exists(): + return {'success': False, 'error': 'Portfolio not found'} + + # Get portfolio data + portfolio_data = { + 'id': portfolio.id, + 'name': portfolio.name, + 'code': portfolio.code, + 'owner_id': portfolio.owner_id.id, + 'owner_name': portfolio.owner_id.name if portfolio.owner_id else '', + 'total_estimated_budget': portfolio.total_estimated_budget, + 'total_client_budget': portfolio.total_client_budget, + 'total_actual_budget': portfolio.total_actual_budget, + 'budget_variance': portfolio.budget_variance, + 'budget_variance_percent': portfolio.budget_variance_percent, + 'client_budget_variance': portfolio.client_budget_variance, + 'client_budget_variance_percent': portfolio.client_budget_variance_percent, + 'planned_client_budget_variance': portfolio.planned_client_budget_variance, + 'planned_client_budget_variance_percent': portfolio.planned_client_budget_variance_percent, + 'total_profit': portfolio.total_profit, + 'total_loss': portfolio.total_loss, + 'net_profit': portfolio.net_profit, + 'roi_estimate': portfolio.roi_estimate, + 'planned_roi_estimate': portfolio.planned_roi_estimate, + 'actual_roi_estimate': portfolio.actual_roi_estimate, + 'budget_status': portfolio.budget_status, + 'avg_time_variance': portfolio.avg_time_variance, + 'on_time_completion_rate': portfolio.on_time_completion_rate, + 'overall_efficiency': portfolio.overall_efficiency, + 'total_resource_cost': portfolio.total_resource_cost, + 'total_material_cost': portfolio.total_material_cost, + 'total_equipment_cost': portfolio.total_equipment_cost, + } + + # Get projects data + projects_data = [] + for project in portfolio.project_ids.filtered(lambda p: p.active): + projects_data.append({ + 'id': project.id, + 'name': project.name, + 'partner_id': project.partner_id.id if project.partner_id else False, + 'partner_name': project.partner_id.name if project.partner_id else '', + 'stage_id': project.stage_id.id if project.stage_id else False, + 'stage_name': project.stage_id.name if project.stage_id else '', + 'estimated_amount': project.estimated_amount, + 'project_cost': project.project_cost, + 'actual_cost': project.actual_cost, + 'profit': project.profit, + 'loss': project.loss, + 'difference': project.difference, + 'profit_percentage': project.profit_percentage, + 'loss_percentage': project.loss_percentage, + 'budget_variance': project.estimated_amount - project.actual_cost if project.estimated_amount and project.actual_cost else 0, + 'budget_variance_percent': ( + (project.estimated_amount - project.actual_cost) / project.estimated_amount * 100) + if project.estimated_amount and project.actual_cost else 0, + 'active': project.active, + }) + + # Get budget data + budget_data = { + 'total_estimated_budget': portfolio.total_estimated_budget, + 'total_client_budget': portfolio.total_client_budget, + 'total_actual_budget': portfolio.total_actual_budget, + 'budget_variance': portfolio.budget_variance, + 'budget_variance_percent': portfolio.budget_variance_percent, + 'client_budget_variance': portfolio.client_budget_variance, + 'client_budget_variance_percent': portfolio.client_budget_variance_percent, + } + + # Get performance data + performance_data = { + 'avg_time_variance': portfolio.avg_time_variance, + 'on_time_rate': portfolio.on_time_completion_rate, + 'efficiency': portfolio.overall_efficiency, + } + + # Get cost breakdown + cost_breakdown = { + 'manpower': portfolio.total_resource_cost, + 'materials': portfolio.total_material_cost, + 'equipment': portfolio.total_equipment_cost, + 'external': sum(portfolio.project_ids.mapped('total_external_costs')), + 'other': 0, + } + + # Get employee performance + employee_performance = [] + for perf in portfolio.employee_performance_ids: + employee_performance.append({ + 'id': perf.id, + 'employee_id': perf.employee_id.id, + 'employee_name': perf.employee_id.name, + 'department_id': perf.department_id.id if perf.department_id else False, + 'department_name': perf.department_id.name if perf.department_id else '', + 'job_id': perf.job_id.id if perf.job_id else False, + 'job_title': perf.job_id.name if perf.job_id else '', + 'total_estimated_hours': perf.total_estimated_hours, + 'total_actual_hours': perf.total_actual_hours, + 'time_variance': perf.time_variance, + 'time_variance_percent': perf.time_variance_percent, + 'on_time_completion_rate': perf.on_time_completion_rate, + 'tasks_completed': perf.tasks_completed, + 'efficiency_rate': perf.efficiency_rate, + 'performance_status': perf.performance_status, + }) + + return { + 'success': True, + 'portfolio_data': portfolio_data, + 'projects_data': projects_data, + 'budget_data': budget_data, + 'performance_data': performance_data, + 'cost_breakdown': cost_breakdown, + 'employee_performance': employee_performance, + } + + except Exception as e: + return {'success': False, 'error': str(e)} \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/controllers/project_dashboard_controller.py b/addons_extensions/project_dashboards_management/controllers/project_dashboard_controller.py new file mode 100644 index 000000000..b934d963f --- /dev/null +++ b/addons_extensions/project_dashboards_management/controllers/project_dashboard_controller.py @@ -0,0 +1,451 @@ +from odoo import http, fields +from odoo.http import request +import logging + +_logger = logging.getLogger(__name__) + + +class ProjectDashboardController(http.Controller): + + @http.route('/project_dashboard/get_dashboard_data', type='json', auth='user') + def get_dashboard_data(self, project_id, **kwargs): + """Return all dashboard data in a single API call""" + try: + # Get the project + Project = request.env['project.project'].sudo() + project = Project.browse(project_id) + + if not project.exists(): + return {'error': 'Project not found'} + + # 1. Get project data + project_data = self._get_project_data(project) + print(project_data) + + # 2. Get tasks data + tasks_data = self._get_tasks_data(project) + print(tasks_data) + + # 3. Get employee performance + employee_performance = self._get_employee_performance(project) + print(employee_performance) + + # 4. Get budget data + budget_data = self._get_budget_data(project) + print(budget_data) + + return { + 'success': True, + 'project_data': project_data, + 'tasks_data': tasks_data, + 'employee_performance': employee_performance, + 'budget_data': budget_data, + } + + except Exception as e: + _logger.error("Error fetching dashboard data: %s", str(e)) + return { + 'success': False, + 'error': str(e) + } + + def _get_project_data(self, project): + """Extract project data""" + return { + 'id': project.id, + 'name': project.name, + 'sequence_name': project.sequence_name, + 'stage_id': project.stage_id.id if project.stage_id else False, + 'stage_name': project.stage_id.name if project.stage_id else '', + 'user_id': project.user_id.id if project.user_id else False, + 'user_name': project.user_id.name if project.user_id else '', + 'project_lead': project.project_lead.id if project.project_lead else False, + 'project_lead_name': project.project_lead.name if project.project_lead else '', + 'members': [{ + 'id': member.id, + 'name': member.name + } for member in project.members_ids], + 'estimated_hours': project.estimated_hours if project.estimated_hours > 0 else project.actual_hours, + 'task_estimated_hours': project.task_estimated_hours, + 'actual_hours': project.actual_hours, + 'project_state': project.project_state, + 'date_start': str(project.date_start) if project.date_start else '', + 'date': str(project.date) if project.date else '', + 'total_planned_budget_amount': project.total_planned_budget_amount, + 'initial_estimated_resource_cost': project.initial_estimated_resource_cost, + 'initial_estimated_material_cost': project.initial_estimated_material_cost, + 'initial_estimated_equipment_cost': project.initial_estimated_equiipment_cost, + 'all_deliverables_submitted': project.all_deliverables_submitted, + 'final_qa_done': project.final_qa_done, + 'client_signoff_closure': project.client_signoff_closure, + 'billing_completed': project.billing_completed, + 'training_completed': project.training_completed, + 'lessons_learned': project.lessons_learned or '', + 'challenges_faced': project.challenges_faced or '', + 'future_recommendations': project.future_recommendations or '', + 'showable_stage_ids': [stage.id for stage in project.showable_stage_ids] + } + + def _get_tasks_data(self, project): + """Get all tasks for the project with stats""" + tasks = request.env['project.task'].sudo().search([ + ('project_id', '=', project.id) + ], limit=100) + + task_list = [] + for task in tasks: + completion_rate = 0 + if task.estimated_hours > 0: + completion_rate = min((task.actual_hours / task.estimated_hours if task.estimated_hours > 0 else task.actual_hours) * 100, 100) + + is_overdue = False + if task.date_deadline: + is_overdue = task.date_deadline < fields.Datetime.now() + + task_list.append({ + 'id': task.id, + 'name': task.name, + 'sequence_name': task.sequence_name, + 'stage_id': task.stage_id.id if task.stage_id else False, + 'stage_name': task.stage_id.name if task.stage_id else '', + 'user_ids': [{ + 'id': user.id, + 'name': user.name + } for user in task.user_ids], + 'priority': task.priority, + 'estimated_hours': task.estimated_hours if task.estimated_hours > 0 else task.actual_hours, + 'actual_hours': task.actual_hours, + 'date_deadline': str(task.date_deadline) if task.date_deadline else '', + 'planned_date_begin': str(task.planned_date_begin) if task.planned_date_begin else '', + 'suggested_deadline': str(task.suggested_deadline) if task.suggested_deadline else '', + 'is_suggested_deadline_warning': task.is_suggested_deadline_warning, + 'state': task.state, + 'show_approval_flow': task.show_approval_flow, + 'timelines_requested': task.timelines_requested, + 'assignees_timelines': task.assignees_timelines or '', + 'approval_status': task.approval_status, + 'completion_rate': completion_rate, + 'is_overdue': is_overdue, + 'has_warning': task.is_suggested_deadline_warning + }) + + return task_list + + def _get_employee_performance(self, project): + """Calculate employee performance metrics for a single project""" + + if project.privacy_visibility != 'followers': + return [] + + Task = request.env['project.task'].sudo() + AAL = request.env['account.analytic.line'].sudo() + + # Get all tasks for the project + tasks = Task.search([ + ('project_id', '=', project.id), + ]) + + if not tasks: + return [] + + # Prefetch timesheets grouped by (employee_id, task_id) + timesheets = AAL.search([ + ('task_id', 'in', tasks.ids), + ('employee_id', '!=', False), + ]) + + # Create a map for actual hours: {(employee_id, task_id): actual_hours} + actual_map = {} + for line in timesheets: + key = (line.employee_id.id, line.task_id.id) + actual_map.setdefault(key, 0.0) + actual_map[key] += line.unit_amount + + employee_map = {} + + for task in tasks: + # Skip tasks where no employee has actually worked (actual hours = 0 for all) + task_has_work = False + for user in task.user_ids: + if not user.employee_id: + continue + emp_id = user.employee_id.id + if actual_map.get((emp_id, task.id), 0.0) > 0: + task_has_work = True + break + + # If no one worked on this task, skip it entirely + if not task_has_work: + continue + + # Store which employees we've already processed for this task + processed_employees = set() + + # Get actual hours for each employee on this task + employee_actual_hours = {} + for user in task.user_ids: + if not user.employee_id: + continue + emp_id = user.employee_id.id + actual_hours = actual_map.get((emp_id, task.id), 0.0) + # Only include employees who actually worked on this task + if actual_hours > 0: + employee_actual_hours[emp_id] = actual_hours + + # If no employee has actual hours for this task, skip + if not employee_actual_hours: + continue + + # Case 1: Task has approval flow and is not generic + if task.show_approval_flow and not task.is_generic: + # First, check assignees_timelines + timeline_employees = set() + if task.assignees_timelines: + for timeline in task.assignees_timelines: + employee = timeline.assigned_to.employee_id + if not employee: + continue + + emp_id = employee.id + # Skip if employee didn't work on this task + if emp_id not in employee_actual_hours: + continue + + emp_name = employee.name + timeline_employees.add(emp_id) + + emp_vals = employee_map.setdefault(emp_id, { + 'employee_id': emp_id, + 'employee_name': emp_name, + 'total_estimated': 0.0, + 'total_actual': 0.0, + 'tasks_count': 0, + 'on_time_tasks': 0, + }) + + # Get estimated hours from timeline + estimated_hours = timeline.estimated_time or 0.0 + actual_hours = employee_actual_hours[emp_id] + + emp_vals['total_estimated'] += estimated_hours + emp_vals['total_actual'] += actual_hours + emp_vals['tasks_count'] += 1 + + # On-time logic - only if estimated > 0 + if estimated_hours > 0 and actual_hours <= estimated_hours: + emp_vals['on_time_tasks'] += 1 + # If estimated = 0, don't count in on-time rate calculation + + # Then check task.user_ids for any employees not in timelines + for user in task.user_ids: + if not user.employee_id: + continue + + emp_id = user.employee_id.id + + # Skip if employee didn't work on this task or already processed + if emp_id not in employee_actual_hours or emp_id in timeline_employees: + continue + + emp_name = user.employee_id.name + + emp_vals = employee_map.setdefault(emp_id, { + 'employee_id': emp_id, + 'employee_name': emp_name, + 'total_estimated': 0.0, + 'total_actual': 0.0, + 'tasks_count': 0, + 'on_time_tasks': 0, + }) + + # Get actual hours + actual_hours = employee_actual_hours[emp_id] + + # Get estimated hours - from task, use actual if 0 + estimated_hours = task.estimated_hours or 0.0 + if estimated_hours == 0: + estimated_hours = actual_hours + + emp_vals['total_estimated'] += estimated_hours + emp_vals['total_actual'] += actual_hours + emp_vals['tasks_count'] += 1 + + # On-time logic + if estimated_hours > 0 and actual_hours <= estimated_hours: + emp_vals['on_time_tasks'] += 1 + + else: + # Case 2: Generic task or no approval flow + if task.is_generic: + # For generic tasks, estimated = actual (but only for employees who worked) + for user in task.user_ids: + if not user.employee_id: + continue + + emp_id = user.employee_id.id + + # Skip if employee didn't work on this task + if emp_id not in employee_actual_hours: + continue + + emp_name = user.employee_id.name + + emp_vals = employee_map.setdefault(emp_id, { + 'employee_id': emp_id, + 'employee_name': emp_name, + 'total_estimated': 0.0, + 'total_actual': 0.0, + 'tasks_count': 0, + 'on_time_tasks': 0, + }) + + # Get actual hours + actual_hours = employee_actual_hours[emp_id] + + # For generic tasks: estimated = actual + estimated_hours = actual_hours + + emp_vals['total_estimated'] += estimated_hours + emp_vals['total_actual'] += actual_hours + emp_vals['tasks_count'] += 1 + + # For generic tasks with actual > 0, always count as on-time + if actual_hours > 0: + emp_vals['on_time_tasks'] += 1 + else: + # Non-generic task without approval flow + for user in task.user_ids: + if not user.employee_id: + continue + + emp_id = user.employee_id.id + + # Skip if employee didn't work on this task + if emp_id not in employee_actual_hours: + continue + + emp_name = user.employee_id.name + + emp_vals = employee_map.setdefault(emp_id, { + 'employee_id': emp_id, + 'employee_name': emp_name, + 'total_estimated': 0.0, + 'total_actual': 0.0, + 'tasks_count': 0, + 'on_time_tasks': 0, + }) + + # Get actual hours + actual_hours = employee_actual_hours[emp_id] + + # Get estimated hours - from task, use actual if 0 or not set + estimated_hours = task.estimated_hours or 0.0 + if estimated_hours == 0: + estimated_hours = actual_hours + + emp_vals['total_estimated'] += estimated_hours + emp_vals['total_actual'] += actual_hours + emp_vals['tasks_count'] += 1 + + # On-time logic + if estimated_hours > 0 and actual_hours <= estimated_hours: + emp_vals['on_time_tasks'] += 1 + + # Calculate metrics + performance_data = [] + for emp_id, emp in employee_map.items(): + total_est = emp['total_estimated'] + total_act = emp['total_actual'] + tasks_count = emp['tasks_count'] + + # Skip employees with no actual hours + if total_act <= 0 or tasks_count <= 0: + continue + + # Time variance - negative means over budget (bad), positive means under budget (good) + if total_est > 0: + time_variance = ((total_act - total_est) / total_est) * 100 + # For time variance: positive = over budget (bad), negative = under budget (good) + # But we want: positive = good, negative = bad + # So we reverse the sign + time_variance = -time_variance + else: + time_variance = 0.0 + + # On-time rate + on_time_rate = (emp['on_time_tasks'] / tasks_count) * 100 if tasks_count > 0 else 0.0 + + # Efficiency + efficiency = (total_est / total_act) * 100 if total_act > 0 else 0.0 + + # Accuracy - based on absolute deviation from estimate + if total_est > 0: + accuracy = max(0.0, 100.0 - abs(((total_act - total_est) / total_est) * 100)) + else: + accuracy = 100.0 if total_act == 0 else 0.0 + + performance_data.append({ + 'employee_id': emp['employee_id'], + 'employee_name': emp['employee_name'], + 'total_estimated': round(total_est, 2), + 'total_actual': round(total_act, 2), + 'tasks_count': tasks_count, + 'on_time_tasks': emp['on_time_tasks'], + 'time_variance': -(round(time_variance, 2)), + 'on_time_rate': round(on_time_rate, 2), + 'efficiency_rate': round(efficiency, 2), + 'accuracy': round(accuracy, 2), + }) + + # Sort by efficiency rate (descending) + return sorted(performance_data, key=lambda x: x['efficiency_rate'], reverse=True) + + def _get_budget_data(self, project): + """Get budget data with breakdown""" + # Get detailed cost breakdowns + resource_details = [] + asset_details = [] + + if project.resource_actual_cost_ids: + for cost in project.resource_actual_cost_ids: + resource_details.append({ + 'employee_id': cost.employee_id.id if cost.employee_id else False, + 'employee_name': cost.employee_id.name if cost.employee_id else '', + 'total_cost': cost.total_cost, + 'total_hours': cost.total_hours + }) + + if project.external_cost_ids: + for cost in project.external_cost_ids: + asset_details.append({ + 'asset_id': cost.id if cost else False, + 'asset_name': cost.name if cost.name else '', + 'total_cost': cost.total_cost, + 'quantity': cost.quantity, + 'state': cost.state + }) + + + # Calculate utilization percentages + total_budget = project.estimated_amount or 0 + used_budget = project.actual_cost or 0 + available_budget = total_budget - used_budget + resource_cost = project.total_resource_actual_costs or 0 + asset_cost = project.total_external_costs or 0 + planned_resource_cost = project.initial_estimated_resource_cost or 0 + planned_asset_cost = project.estimated_external_cost or 0 + + return { + 'total_budget': total_budget, + 'resource_cost': resource_cost, + 'asset_cost': asset_cost, + 'resource_percentage': (resource_cost / total_budget) * 100 if total_budget > 0 else 0, + 'asset_percentage': (asset_cost / total_budget) * 100 if total_budget > 0 else 0, + 'resource_details': resource_details, + 'asset_details': asset_details, + 'used_budget': used_budget, + 'available_budget': available_budget, + 'planned_resource_cost': planned_resource_cost, + 'planned_asset_cost': planned_asset_cost + + } \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/models/__init__.py b/addons_extensions/project_dashboards_management/models/__init__.py new file mode 100644 index 000000000..7095229cc --- /dev/null +++ b/addons_extensions/project_dashboards_management/models/__init__.py @@ -0,0 +1 @@ +from . import project \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/models/project.py b/addons_extensions/project_dashboards_management/models/project.py new file mode 100644 index 000000000..310affd0e --- /dev/null +++ b/addons_extensions/project_dashboards_management/models/project.py @@ -0,0 +1,28 @@ +from odoo import models, fields, api + + +class ProjectProject(models.Model): + _inherit = 'project.project' + + def open_dashboard(self): + self.ensure_one() + return { + 'type': 'ir.actions.act_window', + 'name': 'Project Dashboard', + 'res_model': 'project.project', + 'view_mode': 'form', + 'view_type': 'form', + 'res_id': self.id, + 'target': 'new', + 'views': [(False, 'dashboard')], + } + + @api.model + def get_dashboard_data(self, project_id): + # Return data for charts and KPIs + return { + 'task_count': 42, + 'completed_tasks': 35, + 'timeline_data': [...], + 'resource_data': [...], + } \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/models/project_protofolio.py b/addons_extensions/project_dashboards_management/models/project_protofolio.py new file mode 100644 index 000000000..590cd8a1d --- /dev/null +++ b/addons_extensions/project_dashboards_management/models/project_protofolio.py @@ -0,0 +1,45 @@ +from odoo import models, fields, api, _ + + +class ProjectPortfolio(models.Model): + _inherit = 'project.portfolio' + + def get_portfolio_projects(self): + """Return portfolio projects data for dashboard""" + self.ensure_one() + projects = [] + for project in self.project_ids.filtered(lambda p: p.active): + projects.append({ + 'id': project.id, + 'name': project.name, + 'estimated_amount': project.estimated_amount, + 'project_cost': project.project_cost, + 'actual_cost': project.actual_cost, + 'profit': project.profit, + 'loss': project.loss, + 'budget_variance_percent': ( + (project.estimated_amount - project.actual_cost) / project.estimated_amount * 100) + if project.estimated_amount else 0, + 'active': project.active, + }) + return projects + + def get_employee_performance(self): + """Return employee performance data for dashboard""" + self.ensure_one() + performance = [] + for perf in self.employee_performance_ids: + performance.append({ + 'id': perf.id, + 'employee_id': perf.employee_id.id, + 'employee_name': perf.employee_id.name, + 'department_id': perf.department_id.id if perf.department_id else False, + 'department_name': perf.department_id.name if perf.department_id else '', + 'total_estimated_hours': perf.total_estimated_hours, + 'total_actual_hours': perf.total_actual_hours, + 'time_variance_percent': perf.time_variance_percent, + 'on_time_completion_rate': perf.on_time_completion_rate, + 'efficiency_rate': perf.efficiency_rate, + 'performance_status': perf.performance_status, + }) + return performance \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/static/src/css/portfolio_dashboard.css b/addons_extensions/project_dashboards_management/static/src/css/portfolio_dashboard.css new file mode 100644 index 000000000..aec2a69e9 --- /dev/null +++ b/addons_extensions/project_dashboards_management/static/src/css/portfolio_dashboard.css @@ -0,0 +1,926 @@ +/* Portfolio Dashboard Styles */ +.portfolio-dashboard-widget { + padding: 20px; + min-height: 900px; + position: relative; + background: linear-gradient(135deg, #f5f7fa 0%, #e3e8f0 100%); + transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); + border-radius: 16px; + overflow: hidden; + font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 0.9375rem; +} + +/* Portfolio Header */ +.portfolio-header { + padding: 20px 24px; + margin-bottom: 24px; + background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%); + color: white; + border-radius: 14px; + border: 1px solid rgba(255, 255, 255, 0.2); + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 20px; +} + +.header-left { + flex: 1; +} + +.portfolio-title h2 { + font-size: 1.5rem; + font-weight: 700; + margin: 0 0 8px 0; + color: white; + letter-spacing: -0.3px; + display: flex; + align-items: center; +} + +.dashboard-subtitle { + font-size: 0.95rem; + color: rgba(255, 255, 255, 0.85); + font-weight: 400; + margin: 0; +} + +.portfolio-meta { + display: flex; + gap: 16px; + margin-top: 12px; + flex-wrap: wrap; +} + +.meta-item { + background: rgba(255, 255, 255, 0.15); + padding: 6px 12px; + border-radius: 8px; + font-size: 0.85rem; + display: flex; + align-items: center; + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.meta-item i { + margin-right: 6px; + opacity: 0.9; +} + +.header-right { + display: flex; + flex-direction: column; + gap: 12px; + min-width: 300px; +} + +.view-switcher { + display: flex; + gap: 8px; + background: rgba(255, 255, 255, 0.1); + padding: 4px; + border-radius: 10px; +} + +.btn-view { + background: transparent; + border: none; + color: rgba(255, 255, 255, 0.8); + padding: 8px 16px; + border-radius: 8px; + font-size: 0.85rem; + font-weight: 500; + cursor: pointer; + transition: all 0.2s ease; + display: flex; + align-items: center; + justify-content: center; +} + +.btn-view:hover { + background: rgba(255, 255, 255, 0.15); + color: white; +} + +.btn-view.active { + background: white; + color: #1e40af; + font-weight: 600; +} + +.dashboard-controls { + display: flex; + gap: 10px; + align-items: center; + justify-content: flex-end; +} + +.btn-control { + background: rgba(255, 255, 255, 0.2); + border: 1px solid rgba(255, 255, 255, 0.3); + color: white; + width: 36px; + height: 36px; + border-radius: 10px; + backdrop-filter: blur(10px); + transition: all 0.2s ease; + display: flex; + align-items: center; + justify-content: center; + font-size: 1rem; + cursor: pointer; + padding: 0; +} + +.btn-control:hover { + background: rgba(255, 255, 255, 0.3); + transform: translateY(-2px); + border-color: rgba(255, 255, 255, 0.4); +} + +.btn-control:disabled { + opacity: 0.5; + cursor: not-allowed; + transform: none; +} + +.btn-action { + padding: 8px 16px; + border-radius: 10px; + border: none; + font-weight: 600; + cursor: pointer; + transition: all 0.2s ease; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.85rem; + letter-spacing: 0.2px; + gap: 6px; + min-height: 36px; + color: white; +} + +.btn-action.btn-info { + background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); +} + +.btn-action.btn-success { + background: linear-gradient(135deg, #10b981 0%, #059669 100%); +} + +.btn-action:hover { + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); + filter: brightness(105%); +} + +.btn-action.btn-sm { + padding: 6px 12px; + font-size: 0.8rem; + min-height: 32px; +} + +/* KPI Dashboard */ +.kpi-dashboard { + display: flex; + flex-direction: column; + gap: 16px; + margin-bottom: 24px; +} + +.kpi-section { + border-radius: 12px; + overflow: hidden; +} + +.kpi-section-header { + padding: 16px 20px; + background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); + border-bottom: 1px solid rgba(203, 213, 224, 0.3); + display: flex; + justify-content: space-between; + align-items: center; + cursor: pointer; + transition: all 0.2s ease; +} + +.dark-mode .kpi-section-header { + background: linear-gradient(135deg, #1e293b 0%, #334155 100%); + border-bottom-color: rgba(71, 85, 105, 0.4); +} + +.kpi-section-header:hover { + background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%); +} + +.dark-mode .kpi-section-header:hover { + background: linear-gradient(135deg, #334155 0%, #475569 100%); +} + +.kpi-section-header h4 { + margin: 0; + color: #1e293b; + font-size: 1rem; + font-weight: 600; + display: flex; + align-items: center; +} + +.dark-mode .kpi-section-header h4 { + color: #f1f5f9; +} + +.kpi-section-header i { + color: #64748b; + transition: transform 0.3s ease; +} + +.dark-mode .kpi-section-header i { + color: #94a3b8; +} + +.kpi-section-content { + padding: 20px; +} + +.kpi-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 16px; +} + +@media (max-width: 1200px) { + .kpi-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 768px) { + .kpi-grid { + grid-template-columns: 1fr; + } +} + +/* KPI Cards */ +.kpi-card { + padding: 20px; + border-radius: 12px; + background: white; + display: flex; + align-items: center; + gap: 16px; + transition: all 0.3s ease; + border: 1px solid rgba(203, 213, 224, 0.3); +} + +.dark-mode .kpi-card { + background: rgba(30, 41, 59, 0.6); + border-color: rgba(71, 85, 105, 0.3); +} + +.kpi-card:hover { + transform: translateY(-3px); + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); +} + +.dark-mode .kpi-card:hover { + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); +} + +.kpi-card.positive { + border-left: 4px solid #10b981; +} + +.kpi-card.warning { + border-left: 4px solid #f59e0b; +} + +.kpi-card.negative { + border-left: 4px solid #ef4444; +} + +.kpi-card.budget-status.status-success { + border-left: 4px solid #10b981; +} + +.kpi-card.budget-status.status-warning { + border-left: 4px solid #f59e0b; +} + +.kpi-card.budget-status.status-danger { + border-left: 4px solid #ef4444; +} + +.kpi-icon { + width: 48px; + height: 48px; + border-radius: 12px; + background: linear-gradient(135deg, #3b82f6, #8b5cf6); + display: flex; + align-items: center; + justify-content: center; + color: white; + font-size: 1.2rem; +} + +.kpi-card.positive .kpi-icon { + background: linear-gradient(135deg, #10b981, #34d399); +} + +.kpi-card.warning .kpi-icon { + background: linear-gradient(135deg, #f59e0b, #fbbf24); +} + +.kpi-card.negative .kpi-icon { + background: linear-gradient(135deg, #ef4444, #f87171); +} + +.kpi-content { + flex: 1; +} + +.kpi-value { + font-size: 1.5rem; + font-weight: 700; + color: #1e293b; + margin-bottom: 4px; + line-height: 1.2; +} + +.dark-mode .kpi-value { + color: #f8fafc; +} + +.kpi-label { + font-size: 0.8rem; + color: #64748b; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 4px; +} + +.dark-mode .kpi-label { + color: #94a3b8; +} + +.kpi-subtext { + font-size: 0.8rem; + color: #94a3b8; + font-weight: 400; +} + +.dark-mode .kpi-subtext { + color: #64748b; +} + +/* Charts Section */ +.charts-section { + display: flex; + flex-direction: column; + gap: 20px; +} + +.charts-row { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; +} + +@media (max-width: 1200px) { + .charts-row { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 768px) { + .charts-row { + grid-template-columns: 1fr; + } +} + +.charts-row .large { + grid-column: span 2; +} + +@media (max-width: 1200px) { + .charts-row .large { + grid-column: span 1; + } +} + +.chart-container { + padding: 20px; + border-radius: 12px; + display: flex; + flex-direction: column; +} + +.chart-header { + margin-bottom: 16px; +} + +.chart-header h5 { + margin: 0 0 6px 0; + color: #1e293b; + font-weight: 600; + font-size: 1rem; + display: flex; + align-items: center; +} + +.dark-mode .chart-header h5 { + color: #f1f5f9; +} + +.chart-subtitle { + font-size: 0.85rem; + color: #64748b; + display: block; +} + +.dark-mode .chart-subtitle { + color: #94a3b8; +} + +.chart-content { + flex: 1; + min-height: 300px; + border-radius: 8px; + overflow: hidden; +} + +/* Performance Table */ +.performance-table { + margin-top: 24px; + border-radius: 12px; +} + +.table-header { + padding: 20px; + border-bottom: 1px solid rgba(203, 213, 224, 0.3); + display: flex; + justify-content: space-between; + align-items: center; +} + +.dark-mode .table-header { + border-bottom-color: rgba(71, 85, 105, 0.4); +} + +.table-header h5 { + margin: 0; + color: #1e293b; + font-weight: 600; + font-size: 1.1rem; + display: flex; + align-items: center; +} + +.dark-mode .table-header h5 { + color: #f1f5f9; +} + +.table-responsive { + border-radius: 0 0 12px 12px; + overflow: hidden; +} + +/* Status Badges */ +.badge.status-excellent { + background: linear-gradient(135deg, #10b981, #34d399); + color: white; +} + +.badge.status-good { + background: linear-gradient(135deg, #f59e0b, #fbbf24); + color: white; +} + +.badge.status-average { + background: linear-gradient(135deg, #3b82f6, #6366f1); + color: white; +} + +.badge.status-poor { + background: linear-gradient(135deg, #ef4444, #f87171); + color: white; +} + +.badge.status-critical { + background: linear-gradient(135deg, #dc2626, #b91c1c); + color: white; +} + +/* Loading Overlay */ +.loading-overlay { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + background: rgba(255, 255, 255, 0.95); + border-radius: 14px; +} + +.dark-mode .loading-overlay { + background: rgba(15, 23, 42, 0.95); +} + +.loading-content { + text-align: center; + padding: 30px; +} + +.loading-text { + color: #475569; + font-weight: 600; + font-size: 1rem; + letter-spacing: 0.3px; + margin-top: 16px; +} + +.dark-mode .loading-text { + color: #cbd5e1; +} + +/* No Data Message */ +.no-data-message { + padding: 40px; + text-align: center; + border-radius: 12px; +} + +.no-data-message h4 { + color: #1e293b; + margin-bottom: 8px; +} + +.dark-mode .no-data-message h4 { + color: #f1f5f9; +} + +/* Alert */ +.alert { + padding: 16px 20px; + border-radius: 12px; + margin-bottom: 20px; + border-left: 4px solid; +} + +.alert-danger { + background: rgba(239, 68, 68, 0.1); + border-color: #ef4444; + color: #dc2626; +} + +.dark-mode .alert-danger { + background: rgba(239, 68, 68, 0.15); + color: #fca5a5; +} + +/* Progress Bars */ +.progress { + background: linear-gradient(135deg, #f1f5f9, #e2e8f0); + border-radius: 10px; + overflow: hidden; + position: relative; + height: 20px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.dark-mode .progress { + background: linear-gradient(135deg, #334155, #475569); +} + +.progress-bar { + position: relative; + transition: width 0.6s ease; + background: linear-gradient(90deg, #10b981, #34d399); +} + +.progress-bar.bg-warning { + background: linear-gradient(90deg, #f59e0b, #fbbf24); +} + +.progress-bar.bg-danger { + background: linear-gradient(90deg, #ef4444, #f87171); +} + +.progress-text { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: white; + font-size: 0.75rem; + font-weight: 700; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + letter-spacing: 0.3px; +} + +/* Responsive Design */ +@media (max-width: 1200px) { + .portfolio-header { + flex-direction: column; + gap: 16px; + } + + .header-right { + width: 100%; + min-width: auto; + } + + .dashboard-controls { + justify-content: flex-start; + flex-wrap: wrap; + } +} + +@media (max-width: 768px) { + .portfolio-dashboard-widget { + padding: 16px; + } + + .portfolio-header { + padding: 16px; + } + + .portfolio-title h2 { + font-size: 1.3rem; + } + + .view-switcher { + overflow-x: auto; + padding: 4px; + } + + .btn-view { + padding: 6px 12px; + font-size: 0.8rem; + white-space: nowrap; + } + + .kpi-section-header { + padding: 12px 16px; + } + + .kpi-section-header h4 { + font-size: 0.95rem; + } + + .chart-container { + padding: 16px; + } +} + +/* Animation for expanding sections */ +.kpi-section-content { + animation: slideDown 0.3s ease-out; +} + +@keyframes slideDown { + from { + opacity: 0; + transform: translateY(-10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* Portfolio Dashboard Styles - Fixed Version */ +.portfolio-dashboard-widget { + padding: 20px; + min-height: 900px; + position: relative; + background: linear-gradient(135deg, #f5f7fa 0%, #e3e8f0 100%); + transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); + border-radius: 16px; + overflow: hidden; + font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 0.9375rem; +} + +/* Fix for chart containers */ +.chart-content { + flex: 1; + min-height: 300px; + position: relative; + border-radius: 8px; + overflow: hidden; + background: rgba(241, 245, 249, 0.3); +} + +.chart-content .no-data-chart { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + color: #64748b; + font-style: italic; + font-size: 0.9rem; +} + +/* Ensure chart elements exist before rendering */ +#budgetComparisonChart, +#roiComparisonChart, +#costBreakdownChart, +#performanceGauge, +#projectHealthChart, +#resourceUtilizationChart, +#budgetVarianceChart, +#profitLossTrendChart, +#employeePerformanceChart, +#timeVarianceChart, +#projectsBudgetChart { + min-height: 250px; + width: 100%; +} + +/* Loading state for charts */ +.chart-content.loading { + display: flex; + align-items: center; + justify-content: center; +} + +.chart-content.loading::after { + content: ''; + width: 40px; + height: 40px; + border: 3px solid #e2e8f0; + border-top-color: #3b82f6; + border-radius: 50%; + animation: spin 1s linear infinite; +} + +@keyframes spin { + to { transform: rotate(360deg); } +} + +/* KPI sections fixes */ +.kpi-section-header { + cursor: pointer; + user-select: none; + transition: all 0.3s ease; +} + +.kpi-section-header:hover { + background: rgba(59, 130, 246, 0.05); +} + +.kpi-section-content { + animation: slideDown 0.3s ease-out; + overflow: hidden; +} + +@keyframes slideDown { + from { + opacity: 0; + max-height: 0; + transform: translateY(-10px); + } + to { + opacity: 1; + max-height: 500px; + transform: translateY(0); + } +} + +/* Button fixes */ +.btn-view { + transition: all 0.2s ease; + position: relative; + overflow: hidden; +} + +.btn-view.active { + position: relative; +} + +.btn-view.active::after { + content: ''; + position: absolute; + bottom: 0; + left: 10%; + right: 10%; + height: 3px; + background: white; + border-radius: 2px; +} + +/* Dark mode fixes */ +.dark-mode .portfolio-dashboard-widget { + background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); +} + +.dark-mode .chart-content { + background: rgba(30, 41, 59, 0.3); +} + +.dark-mode .chart-content .no-data-chart { + color: #94a3b8; +} + +/* Responsive fixes */ +@media (max-width: 768px) { + .chart-content { + min-height: 250px; + } + + .kpi-section-content { + padding: 12px; + } + + .kpi-grid { + gap: 12px; + } + + .kpi-card { + padding: 16px; + } +} + +/* Error state styling */ +.alert-danger { + animation: fadeIn 0.3s ease-out; + margin-bottom: 20px; +} + +@keyframes fadeIn { + from { opacity: 0; transform: translateY(-10px); } + to { opacity: 1; transform: translateY(0); } +} + +/* Fix for ApexCharts tooltips in dark mode */ +.dark-mode .apexcharts-tooltip { + background: #1e293b !important; + border-color: #334155 !important; + color: #e2e8f0 !important; +} + +.dark-mode .apexcharts-tooltip-title { + background: #334155 !important; + border-color: #475569 !important; + color: #f1f5f9 !important; +} + +/* Ensure proper z-index for controls */ +.dashboard-controls { + position: relative; + z-index: 10; +} + +/* Fix for view switcher active state */ +.view-switcher .btn-view.active { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} + +/* Performance table responsive fix */ +.performance-table .table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +/* Progress bar fixes */ +.progress { + min-width: 100px; +} + +.progress-bar { + transition: width 0.6s ease; +} + +/* Badge styles for performance status */ +.badge.status-excellent { + background: linear-gradient(135deg, #10b981, #34d399); + color: white; +} + +.badge.status-good { + background: linear-gradient(135deg, #f59e0b, #fbbf24); + color: white; +} + +.badge.status-average { + background: linear-gradient(135deg, #3b82f6, #6366f1); + color: white; +} + +.badge.status-poor { + background: linear-gradient(135deg, #ef4444, #f87171); + color: white; +} + +.badge.status-critical { + background: linear-gradient(135deg, #dc2626, #b91c1c); + color: white; +} \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/static/src/css/project_dashboard.css b/addons_extensions/project_dashboards_management/static/src/css/project_dashboard.css new file mode 100644 index 000000000..1967d216e --- /dev/null +++ b/addons_extensions/project_dashboards_management/static/src/css/project_dashboard.css @@ -0,0 +1,936 @@ +/* Project Dashboard Styles - Refined MNC Edition */ +.project-dashboard-widget { + padding: 20px; + min-height: 850px; + position: relative; + background: linear-gradient(135deg, #f5f7fa 0%, #e3e8f0 100%); + transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); + border-radius: 16px; + overflow: hidden; + font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 0.9375rem; +} + +/* Refined Glassmorphism */ +.glassmorphism { + background: rgba(255, 255, 255, 0.88); + backdrop-filter: blur(24px) saturate(180%); + -webkit-backdrop-filter: blur(24px) saturate(180%); + border: 1px solid rgba(255, 255, 255, 0.35); + border-radius: 14px; + box-shadow: + 0 8px 32px rgba(31, 38, 135, 0.08), + 0 2px 8px rgba(0, 0, 0, 0.04), + inset 0 1px 0 rgba(255, 255, 255, 0.7); + transition: all 0.3s ease; +} + +.glassmorphism:hover { + transform: translateY(-3px); + box-shadow: + 0 16px 48px rgba(31, 38, 135, 0.12), + 0 4px 16px rgba(0, 0, 0, 0.08), + inset 0 1px 0 rgba(255, 255, 255, 0.8); +} + +/* Improved Project Header (similar to old but better) */ +.project-info-banner.dashboard-header { + padding: 22px 26px; + margin-bottom: 26px; + background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%); + color: white; + position: relative; + overflow: hidden; + border-radius: 14px; + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.project-info-banner.dashboard-header::before { + content: ''; + position: absolute; + top: -50%; + right: -50%; + width: 200%; + height: 200%; + background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); + animation: rotate 20s linear infinite; +} + +@keyframes rotate { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +.dashboard-header { + display: flex; + justify-content: space-between; + align-items: center; + gap: 20px; + position: relative; + z-index: 2; +} + +.dashboard-header-left { + display: flex; + flex-direction: column; + flex: 1; +} + +.project-name { + font-size: 1.5rem; + font-weight: 700; + margin: 0 0 6px 0; + color: white; + letter-spacing: -0.3px; + display: flex; + align-items: center; +} + +.project-name i { + margin-right: 10px; + color: rgba(255, 255, 255, 0.9); + font-size: 1.4rem; +} + +.dashboard-title { + font-size: 1.1rem; + font-weight: 600; + margin: 0 0 4px 0; + color: rgba(255, 255, 255, 0.9); + letter-spacing: 0.3px; +} + +.project-meta { + font-size: 0.85rem; + color: rgba(255, 255, 255, 0.75); + font-weight: 400; + margin-top: 2px; +} + +.dashboard-header-right { + display: flex; + align-items: center; + gap: 12px; +} + +/* Fixed Control Buttons with visible icons */ +.project-stats { + display: flex; + gap: 10px; + align-items: center; +} + +.btn-control { + background: rgba(255, 255, 255, 0.2); + border: 1px solid rgba(255, 255, 255, 0.3); + color: white !important; + width: 40px; + height: 40px; + border-radius: 10px; + backdrop-filter: blur(10px); + transition: all 0.2s ease; + display: flex; + align-items: center; + justify-content: center; + font-size: 1rem; + cursor: pointer; + padding: 0; +} + +.btn-control:hover { + background: rgba(255, 255, 255, 0.3); + transform: translateY(-2px); + border-color: rgba(255, 255, 255, 0.4); +} + +.btn-control i { + font-size: 1.1rem; + color: white !important; + opacity: 0.95; +} + +.btn-control:disabled { + opacity: 0.5; + cursor: not-allowed; + transform: none; +} + +.btn-control:disabled i { + color: rgba(255, 255, 255, 0.7) !important; +} + +/* Action Buttons */ +.btn-action { + padding: 10px 18px; + border-radius: 10px; + border: none; + font-weight: 600; + cursor: pointer; + transition: all 0.2s ease; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.875rem; + letter-spacing: 0.2px; + gap: 6px; + min-height: 40px; + color: white; +} + +.btn-action.btn-success { + background: linear-gradient(135deg, #10b981 0%, #059669 100%); +} + +.btn-action.btn-info { + background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); +} + +.btn-action:hover { + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); + filter: brightness(105%); +} + +/* Refined KPI Grid */ +.kpi-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 18px; + margin-bottom: 28px; +} + +@media (max-width: 1400px) { + .kpi-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 768px) { + .kpi-grid { + grid-template-columns: 1fr; + } +} + +.kpi-card { + padding: 22px; + position: relative; + overflow: hidden; + min-height: 160px; + display: flex; + flex-direction: column; +} + +.kpi-card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 4px; + background: linear-gradient(90deg, #3b82f6, #8b5cf6); + border-radius: 14px 14px 0 0; +} + +.kpi-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 16px; +} + +.kpi-icon { + font-size: 2rem; + background: linear-gradient(135deg, #3b82f6, #8b5cf6); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + opacity: 0.9; +} + +.kpi-trend { + padding: 6px 14px; + border-radius: 16px; + font-size: 0.85rem; + font-weight: 600; + letter-spacing: 0.3px; +} + +.kpi-trend.positive { + background: rgba(16, 185, 129, 0.12); + color: #10b981; + border: 1px solid rgba(16, 185, 129, 0.2); +} + +.kpi-trend.warning { + background: rgba(245, 158, 11, 0.12); + color: #f59e0b; + border: 1px solid rgba(245, 158, 11, 0.2); +} + +.kpi-trend.negative { + background: rgba(239, 68, 68, 0.12); + color: #ef4444; + border: 1px solid rgba(239, 68, 68, 0.2); +} + +.kpi-body { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; +} + +.kpi-value { + font-size: 2.2rem; + font-weight: 800; + color: #1e293b; + line-height: 1; + margin-bottom: 8px; + letter-spacing: -0.5px; + font-family: 'Inter', sans-serif; +} + +.kpi-label { + font-size: 0.8rem; + color: #64748b; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.8px; + margin-bottom: 6px; +} + +.kpi-subtext { + font-size: 0.8rem; + color: #94a3b8; + font-weight: 400; + line-height: 1.4; +} + +/* Refined Charts Grid */ +.charts-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 22px; + margin-bottom: 32px; +} + +@media (max-width: 1200px) { + .charts-grid { + grid-template-columns: 1fr; + } +} + +.chart-container { + padding: 20px; + min-height: 340px; + display: flex; + flex-direction: column; +} + +.chart-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 18px; + padding-bottom: 14px; + border-bottom: 1px solid rgba(203, 213, 224, 0.25); +} + +.chart-header h5 { + margin: 0; + color: #1e293b; + font-weight: 600; + font-size: 1rem; + display: flex; + align-items: center; + letter-spacing: -0.2px; +} + +.chart-header i { + margin-right: 10px; + color: #3b82f6; + font-size: 1.1rem; +} + +.chart-info { + font-size: 0.8rem; + color: #64748b; + background: rgba(241, 245, 249, 0.7); + padding: 6px 12px; + border-radius: 10px; + font-weight: 500; +} + +.chart-content { + flex: 1; + min-height: 280px; + position: relative; + border-radius: 10px; + overflow: hidden; +} + +.chart-content.large { + height: 280px; +} + +/* Budget Mini Grid */ +.budget-mini-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 14px; + margin-bottom: 20px; +} + +.budget-mini-grid > div { + min-height: 100px; + border-radius: 12px; + overflow: hidden; + background: rgba(241, 245, 249, 0.5); +} + +/* Refined Performance Table */ +.performance-table { + padding: 22px; + margin-top: 26px; + border-radius: 14px; +} + +.table-header { + margin-bottom: 20px; + padding-bottom: 16px; + border-bottom: 1px solid rgba(203, 213, 224, 0.25); +} + +.table-header h5 { + margin: 0; + color: #1e293b; + font-weight: 600; + font-size: 1.1rem; + display: flex; + align-items: center; +} + +.table-header i { + margin-right: 10px; + color: #3b82f6; +} + +.table-subtitle { + font-size: 0.85rem; + color: #64748b; + margin-top: 6px; + font-weight: 400; +} + +.table-responsive { + border-radius: 12px; + overflow: hidden; + border: 1px solid rgba(203, 213, 224, 0.25); +} + +.table { + margin: 0; + font-size: 0.875rem; +} + +.table th { + font-weight: 700; + color: #475569; + border-top: none; + background: linear-gradient(135deg, #f8fafc, #f1f5f9); + padding: 14px 12px; + font-size: 0.8rem; + text-transform: uppercase; + letter-spacing: 0.5px; + border-bottom: 1px solid rgba(203, 213, 224, 0.4); +} + +.table td { + vertical-align: middle; + border-color: rgba(203, 213, 224, 0.15); + padding: 14px 12px; + font-weight: 400; + color: #334155; +} + +.table-hover tbody tr:hover { + background-color: rgba(59, 130, 246, 0.06); +} + +/* Enhanced Progress Bars */ +.progress { + background: linear-gradient(135deg, #f1f5f9, #e2e8f0); + border-radius: 10px; + overflow: hidden; + position: relative; + height: 20px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.progress-bar { + position: relative; + transition: width 0.6s ease; + background: linear-gradient(90deg, #10b981, #34d399); +} + +.progress-bar.bg-warning { + background: linear-gradient(90deg, #f59e0b, #fbbf24); +} + +.progress-bar.bg-danger { + background: linear-gradient(90deg, #ef4444, #f87171); +} + +.progress-text { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: white; + font-size: 0.75rem; + font-weight: 700; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + letter-spacing: 0.3px; +} + +/* Loading Overlay */ +.loading-overlay { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + background: rgba(255, 255, 255, 0.95); + border-radius: 14px; +} + +.loading-content { + text-align: center; + padding: 30px; +} + +.spinner { + margin: 0 auto 24px; + width: 70px; + text-align: center; +} + +.spinner div { + width: 18px; + height: 18px; + background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%); + border-radius: 100%; + display: inline-block; + animation: bounce 1.4s infinite ease-in-out both; +} + +.spinner .bounce1 { + animation-delay: -0.32s; +} + +.spinner .bounce2 { + animation-delay: -0.16s; +} + +@keyframes bounce { + 0%, 80%, 100% { + transform: scale(0); + opacity: 0.3; + } + 40% { + transform: scale(1); + opacity: 1; + } +} + +.loading-text { + color: #475569; + font-weight: 600; + font-size: 1rem; + letter-spacing: 0.3px; +} + +/* Floating Action Button */ +.fab { + position: fixed; + bottom: 30px; + right: 30px; + width: 56px; + height: 56px; + background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + color: white; + cursor: pointer; + box-shadow: 0 6px 20px rgba(59, 130, 246, 0.3); + transition: all 0.3s ease; + z-index: 1000; + font-size: 1.2rem; + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.fab:hover { + transform: scale(1.1) rotate(90deg); + box-shadow: 0 10px 30px rgba(59, 130, 246, 0.5); +} + +/* ===== ENHANCED DARK MODE ===== */ +.dark-mode .project-dashboard-widget { + background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); +} + +.dark-mode .glassmorphism { + background: rgba(15, 23, 42, 0.82); + backdrop-filter: blur(30px) saturate(160%); + border: 1px solid rgba(71, 85, 105, 0.35); + box-shadow: + 0 8px 32px rgba(0, 0, 0, 0.3), + 0 2px 8px rgba(0, 0, 0, 0.2), + inset 0 1px 0 rgba(255, 255, 255, 0.08); +} + +.dark-mode .glassmorphism:hover { + border-color: rgba(100, 116, 139, 0.5); + box-shadow: + 0 16px 48px rgba(0, 0, 0, 0.35), + 0 4px 16px rgba(0, 0, 0, 0.25); +} + +.dark-mode .project-info-banner.dashboard-header { + background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%); + border-color: rgba(59, 130, 246, 0.3); +} + +.dark-mode .project-name { + color: white; +} + +.dark-mode .project-name i { + color: rgba(255, 255, 255, 0.95); +} + +.dark-mode .dashboard-title { + color: rgba(255, 255, 255, 0.95); +} + +.dark-mode .project-meta { + color: rgba(255, 255, 255, 0.8); +} + +.dark-mode .btn-control { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.25); + color: white !important; +} + +.dark-mode .btn-control:hover { + background: rgba(255, 255, 255, 0.25); + border-color: rgba(255, 255, 255, 0.35); +} + +.dark-mode .btn-control i { + color: white !important; + opacity: 0.95; +} + +/* Dark Mode KPI Cards */ +.dark-mode .kpi-card::before { + background: linear-gradient(90deg, #60a5fa, #a78bfa); +} + +.dark-mode .kpi-value { + color: #f8fafc; +} + +.dark-mode .kpi-label { + color: #94a3b8; +} + +.dark-mode .kpi-subtext { + color: #64748b; +} + +.dark-mode .kpi-icon { + background: linear-gradient(135deg, #60a5fa, #a78bfa); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +/* Dark Mode Charts with Fixed Legend Contrast */ +.dark-mode .chart-header h5 { + color: #f1f5f9; +} + +.dark-mode .chart-header i { + color: #60a5fa; +} + +.dark-mode .chart-info { + color: #cbd5e1; + background: rgba(51, 65, 85, 0.5); + border: 1px solid rgba(71, 85, 105, 0.3); +} + +.dark-mode .chart-header { + border-bottom-color: rgba(71, 85, 105, 0.4); +} + +/* FIX for ApexCharts in Dark Mode - High Contrast Legends */ +.dark-mode .apexcharts-legend-text { + color: #e2e8f0 !important; + font-weight: 500 !important; + opacity: 0.95 !important; +} + +.dark-mode .apexcharts-tooltip { + background: #1e293b !important; + border: 1px solid rgba(71, 85, 105, 0.6) !important; + color: #e2e8f0 !important; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important; +} + +.dark-mode .apexcharts-tooltip-title { + background: #334155 !important; + border-bottom: 1px solid rgba(71, 85, 105, 0.6) !important; + color: #f1f5f9 !important; + font-weight: 600 !important; +} + +.dark-mode .apexcharts-xaxis-label, +.dark-mode .apexcharts-yaxis-label { + fill: #94a3b8 !important; +} + +.dark-mode .apexcharts-gridline { + stroke: rgba(71, 85, 105, 0.4) !important; +} + +/* Dark Mode Table */ +.dark-mode .table-header h5 { + color: #f1f5f9; +} + +.dark-mode .table-subtitle { + color: #94a3b8; +} + +.dark-mode .table th { + background: linear-gradient(135deg, #1e293b, #334155); + color: #e2e8f0; + border-bottom-color: rgba(71, 85, 105, 0.5); +} + +.dark-mode .table td { + color: #cbd5e1; + border-color: rgba(71, 85, 105, 0.3); +} + +.dark-mode .table-hover tbody tr:hover { + background-color: rgba(59, 130, 246, 0.1); +} + +.dark-mode .table-hover tbody tr:hover td { + color: #f8fafc; +} + +.dark-mode .progress { + background: linear-gradient(135deg, #334155, #475569); +} + +/* Dark Mode Badges */ +.dark-mode .badge.bg-light { + background: linear-gradient(135deg, #334155, #475569) !important; + color: #cbd5e1 !important; + border-color: #4b5563 !important; +} + +/* Loading in Dark Mode */ +.dark-mode .loading-overlay { + background: rgba(15, 23, 42, 0.95); +} + +.dark-mode .loading-text { + color: #cbd5e1; +} + +.dark-mode .spinner div { + background: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%); + box-shadow: 0 2px 8px rgba(96, 165, 250, 0.3); +} + +/* Alert in Dark Mode */ +.dark-mode .alert-danger { + background: rgba(239, 68, 68, 0.1); + color: #fca5a5; + border-left-color: #ef4444; +} + +/* Badge Styles */ +.badge { + font-weight: 600; + padding: 6px 12px; + border-radius: 18px; + font-size: 0.8rem; + letter-spacing: 0.2px; + border: 1px solid transparent; +} + +.bg-light { + background: linear-gradient(135deg, #f1f5f9, #e2e8f0) !important; + color: #334155 !important; + border-color: #cbd5e1 !important; +} + +.bg-success { + background: linear-gradient(135deg, #10b981, #059669) !important; + color: white !important; + border-color: #047857 !important; +} + +.bg-warning { + background: linear-gradient(135deg, #f59e0b, #d97706) !important; + color: white !important; + border-color: #b45309 !important; +} + +.bg-danger { + background: linear-gradient(135deg, #ef4444, #dc2626) !important; + color: white !important; + border-color: #b91c1c !important; +} + +.bg-info { + background: linear-gradient(135deg, #0ea5e9, #0284c7) !important; + color: white !important; + border-color: #0369a1 !important; +} + +/* Text Colors */ +.text-primary { color: #3b82f6 !important; } +.text-success { color: #10b981 !important; } +.text-info { color: #0ea5e9 !important; } +.text-warning { color: #f59e0b !important; } +.text-danger { color: #ef4444 !important; } +.text-muted { color: #94a3b8 !important; } + +/* Animations */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.kpi-card { + animation: fadeInUp 0.5s ease-out; +} + +.chart-container { + animation: fadeInUp 0.6s ease-out; +} + +/* Responsive Adjustments */ +@media (max-width: 1200px) { + .project-dashboard-widget { + padding: 16px; + } + + .dashboard-header { + flex-direction: column; + align-items: stretch; + gap: 16px; + } + + .dashboard-header-right { + justify-content: flex-start; + } +} + +@media (max-width: 768px) { + .project-dashboard-widget { + padding: 14px; + } + + .project-info-banner.dashboard-header { + padding: 18px; + } + + .project-name { + font-size: 1.3rem; + } + + .dashboard-title { + font-size: 1rem; + } + + .kpi-grid { + gap: 14px; + } + + .kpi-card { + padding: 18px; + } + + .kpi-value { + font-size: 1.8rem; + } + + .btn-action { + padding: 8px 14px; + font-size: 0.8125rem; + min-height: 36px; + } + + .btn-control { + width: 36px; + height: 36px; + } + + .fab { + bottom: 20px; + right: 20px; + width: 48px; + height: 48px; + font-size: 1rem; + } +} + +/* Additional Fix for Chart Tooltips in Dark Mode */ +.dark-mode .apexcharts-menu { + background: #1e293b !important; + border: 1px solid rgba(71, 85, 105, 0.6) !important; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important; +} + +.dark-mode .apexcharts-menu-item:hover { + background: #334155 !important; +} + +/* Ensure chart annotations are visible */ +.dark-mode .apexcharts-annotation-label { + background: #1e293b !important; + border: 1px solid rgba(71, 85, 105, 0.6) !important; + color: #e2e8f0 !important; +} + +.dark-mode .apexcharts-text .apexcharts-datalabel-value{ + color: red !important; +} + +.apexcharts-text .apexcharts-datalabel-value{ + color: green !important; +} + +/* Dark mode specific fixes for donut charts */ +.dark-mode .apexcharts-datalabels-group text { + fill: #F8FAFC !important; +} \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/static/src/js/dashboard/portfolio_dashboard_widget.js b/addons_extensions/project_dashboards_management/static/src/js/dashboard/portfolio_dashboard_widget.js new file mode 100644 index 000000000..67f105679 --- /dev/null +++ b/addons_extensions/project_dashboards_management/static/src/js/dashboard/portfolio_dashboard_widget.js @@ -0,0 +1,1428 @@ +/** @odoo-module **/ + +import { Component, useState, onMounted, onWillDestroy, useRef } from "@odoo/owl"; +import { registry } from "@web/core/registry"; +import { useService } from "@web/core/utils/hooks"; +import { standardWidgetProps } from "@web/views/widgets/standard_widget_props"; +import { rpc } from "@web/core/network/rpc"; + +class PortfolioDashboardWidget extends Component { + static template = "project_dashboards_management.PortfolioDashboardWidget"; + static props = { + ...standardWidgetProps, + }; + + setup() { + super.setup(); + + this.charts = []; + this.state = useState({ + loading: true, + darkMode: false, + animationEnabled: true, + portfolioData: null, + projectsData: [], + budgetData: null, + performanceData: null, + costBreakdown: null, + employeePerformance: [], + error: null, + activeView: 'overview', + expandedKPIs: { + budget: true, + performance: true + } + }); + + this.actionService = useService("action"); + this.dialogService = useService("dialog"); + this.orm = useService("orm"); + this.notificationService = useService("notification"); + this.rpc = rpc; + + + this.toggleView = this.toggleView.bind(this); + this.toggleKPI = this.toggleKPI.bind(this); + this.onClickToggleDarkMode = this.onClickToggleDarkMode.bind(this); + this.onClickToggleAnimations = this.onClickToggleAnimations.bind(this); + this.onClickRefresh = this.onClickRefresh.bind(this); + this.onClickViewProjects = this.onClickViewProjects.bind(this); + this.onClickViewEmployeePerformance = this.onClickViewEmployeePerformance.bind(this); + this.onClickDownload = this.onClickDownload.bind(this); + + onMounted(() => { + this.checkSystemTheme(); + this.loadPortfolioData(); + }); + + onWillDestroy(() => this.cleanupCharts()); + } + + checkSystemTheme() { + const savedTheme = localStorage.getItem('dashboardDarkMode'); + if (savedTheme !== null) { + this.state.darkMode = savedTheme === 'true'; + } else { + const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; + this.state.darkMode = prefersDark; + } + document.body.classList.toggle('o_dark_mode', this.state.darkMode); + } + + async loadPortfolioData() { + this.state.loading = true; + this.state.error = null; + + try { + if (!this.props.record || this.props.record.resModel !== 'project.portfolio') { + this.state.error = "This dashboard widget only works on Portfolio records."; + this.state.loading = false; + return; + } + + const portfolioId = this.props.record.resId; + + // Try multiple endpoints + let response; + try { + response = await this.rpc('/project_portfolio/get_dashboard_data', { + portfolio_id: portfolioId + }); + } catch (e) { + // Fallback to ORM if controller not available + response = await this.getPortfolioDataViaORM(portfolioId); + } + + if (response && response.success) { + this.state.portfolioData = response.portfolio_data; + this.state.projectsData = response.projects_data || []; + this.state.budgetData = response.budget_data; + this.state.performanceData = response.performance_data; + this.state.costBreakdown = response.cost_breakdown; + this.state.employeePerformance = response.employee_performance || []; + + // Initialize charts with delay to ensure DOM is ready + setTimeout(() => { + this.initCharts(); + }, 200); + } else { + this.state.error = response?.error || "Failed to load portfolio data."; + this.notificationService.add("Error loading portfolio dashboard", { + type: 'danger' + }); + } + + } catch (error) { + console.error("Error loading portfolio data:", error); + this.state.error = "Failed to load portfolio data. Please try again."; + this.notificationService.add("Error loading portfolio dashboard", { + type: 'danger' + }); + } finally { + setTimeout(() => { + this.state.loading = false; + }, 300); + } + } + + async getPortfolioDataViaORM(portfolioId) { + try { + const portfolio = await this.orm.call( + 'project.portfolio', + 'read', + [portfolioId], + { + fields: [ + 'name', 'code', 'total_estimated_budget', 'total_client_budget', + 'total_actual_budget', 'budget_variance', 'budget_variance_percent', + 'client_budget_variance', 'client_budget_variance_percent', + 'total_profit', 'total_loss', 'net_profit', 'roi_estimate', + 'planned_roi_estimate', 'actual_roi_estimate', 'budget_status', + 'avg_time_variance', 'on_time_completion_rate', 'overall_efficiency', + 'total_resource_cost', 'total_material_cost', 'total_equipment_cost' + ] + } + ); + + if (!portfolio || portfolio.length === 0) { + return { success: false, error: 'Portfolio not found' }; + } + + const portfolioData = portfolio[0]; + + // Get projects + const projects = await this.orm.call( + 'project.portfolio', + 'get_portfolio_projects', + [portfolioId], + {} + ); + + // Get employee performance + const employeePerformance = await this.orm.call( + 'project.portfolio', + 'get_employee_performance', + [portfolioId], + {} + ); + + return { + success: true, + portfolio_data: portfolioData, + projects_data: projects || [], + budget_data: { + total_estimated_budget: portfolioData.total_estimated_budget, + total_client_budget: portfolioData.total_client_budget, + total_actual_budget: portfolioData.total_actual_budget, + budget_variance: portfolioData.budget_variance, + budget_variance_percent: portfolioData.budget_variance_percent, + client_budget_variance: portfolioData.client_budget_variance, + client_budget_variance_percent: portfolioData.client_budget_variance_percent + }, + performance_data: { + avg_time_variance: portfolioData.avg_time_variance, + on_time_rate: portfolioData.on_time_completion_rate, + efficiency: portfolioData.overall_efficiency + }, + cost_breakdown: { + manpower: portfolioData.total_resource_cost || 0, + materials: portfolioData.total_material_cost || 0, + equipment: portfolioData.total_equipment_cost || 0, + external: 0, + other: 0 + }, + employee_performance: employeePerformance || [] + }; + + } catch (error) { + console.error("ORM Error:", error); + return { success: false, error: error.message }; + } + } + + async initCharts() { + if (!window.ApexCharts) { + console.warn("ApexCharts not loaded"); + this.loadApexCharts(); + return; + } + + try { + this.cleanupCharts(); + + // Small delay to ensure DOM elements exist + setTimeout(() => { + this.initActiveViewCharts(); + }, 100); + } catch (error) { + console.error("Error initializing charts:", error); + } + } + + loadApexCharts() { + const script = document.createElement('script'); + script.src = 'https://cdn.jsdelivr.net/npm/apexcharts'; + script.onload = () => { + setTimeout(() => this.initActiveViewCharts(), 100); + }; + document.head.appendChild(script); + } + + initActiveViewCharts() { + // Use requestAnimationFrame for better timing + requestAnimationFrame(() => { + try { + switch (this.state.activeView) { + case 'overview': + this.initOverviewCharts(); + break; + case 'financial': + this.initFinancialCharts(); + break; + case 'performance': + this.initPerformanceCharts(); + break; + case 'projects': + this.initProjectsCharts(); + break; + } + } catch (error) { + console.error("Error in initActiveViewCharts:", error); + } + }); + } + + initOverviewCharts() { + try { + // Wait for DOM elements + setTimeout(() => { + if (this.state.budgetData) { + this.createBudgetComparisonChart(); + } + if (this.state.portfolioData) { + this.createROIComparisonChart(); + } + if (this.state.costBreakdown) { + this.createCostBreakdownChart(); + } + if (this.state.performanceData) { + this.createPerformanceGauge(); + } + if (this.state.projectsData && this.state.projectsData.length > 0) { + this.createProjectHealthChart(); + } + if (this.state.employeePerformance && this.state.employeePerformance.length > 0) { + this.createResourceUtilizationChart(); + } + }, 200); + } catch (error) { + console.error("Error in initOverviewCharts:", error); + } + } + + createBudgetComparisonChart() { + const element = document.querySelector("#budgetComparisonChart"); + if (!element) { + console.warn("Budget comparison chart element not found"); + return; + } + + try { + const data = this.state.budgetData; + const series = [{ + name: 'Amount', + data: [ + data.total_estimated_budget || 0, + data.total_client_budget || 0, + data.total_actual_budget || 0 + ] + }]; + + const options = { + series: series, + chart: { + type: 'bar', + height: 350, + toolbar: { show: false } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '55%', + borderRadius: 8 + }, + }, + dataLabels: { + enabled: false + }, + stroke: { + show: true, + width: 2, + colors: ['transparent'] + }, + xaxis: { + categories: ['Estimated', 'Client Budget', 'Actual'], + labels: { + style: { + fontSize: '12px' + } + } + }, + yaxis: { + title: { + text: 'Amount (₹)', + style: {} + }, + labels: { + formatter: (val) => this.formatCurrency(val) + } + }, + fill: { + opacity: 1 + }, + colors: ['#3B82F6', '#10B981', '#F59E0B'], + tooltip: { + y: { + formatter: (val) => `₹${this.formatNumber(val)}` + } + }, + legend: { + show: false + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating budget comparison chart:", error); + } + } + + createROIComparisonChart() { + const element = document.querySelector("#roiComparisonChart"); + if (!element) { + console.warn("ROI comparison chart element not found"); + return; + } + + try { + const data = this.state.portfolioData; + const series = [{ + name: 'ROI %', + data: [ + data.planned_roi_estimate || 0, + data.roi_estimate || 0, + data.actual_roi_estimate || 0 + ] + }]; + + const options = { + series: series, + chart: { + type: 'bar', + height: 300, + toolbar: { show: false } + }, + plotOptions: { + bar: { + borderRadius: 10, + columnWidth: '50%', + distributed: false + } + }, + colors: ['#8B5CF6', '#EF4444', '#10B981'], + dataLabels: { + enabled: true, + formatter: (val) => `${val.toFixed(1)}%`, + offsetY: -20, + style: { + fontSize: '12px', + colors: ['#fff'] + } + }, + xaxis: { + categories: [ + 'Planned ROI (Full Budget)', + 'Estimated ROI (Planned – Current)', + 'Actual ROI (Client – Current)'], + labels: { + style: { + fontSize: '12px' + } + } + }, + yaxis: { + labels: { + formatter: (val) => `${val.toFixed(1)}%` + } + }, + tooltip: { + y: { + formatter: (val) => `${val.toFixed(1)}% ROI` + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating ROI comparison chart:", error); + } + } + + createCostBreakdownChart() { + const element = document.querySelector("#costBreakdownChart"); + if (!element) { + console.warn("Cost breakdown chart element not found"); + return; + } + + try { + const costData = this.state.costBreakdown; + const labels = Object.keys(costData).filter(key => costData[key] > 0); + const series = labels.map(key => costData[key]); + + if (series.length === 0) { + element.innerHTML = '
No cost data available
'; + return; + } + + const options = { + series: series, + chart: { + type: 'donut', + height: 320 + }, + labels: labels.map(label => this.capitalizeFirstLetter(label)), + colors: ['#3B82F6', '#10B981', '#F59E0B', '#8B5CF6', '#6B7280'], + plotOptions: { + pie: { + donut: { + size: '65%', + labels: { + show: true, + total: { + show: true, + label: 'Total Costs', + formatter: () => `₹${this.formatNumber(series.reduce((a, b) => a + b, 0))}` + } + } + } + } + }, + dataLabels: { + enabled: true, + formatter: (val, { seriesIndex, w }) => { + const total = w.globals.seriesTotals.reduce((a, b) => a + b, 0); + const percentage = ((val / total) * 100).toFixed(1); + return percentage >= 5 ? `${percentage}%` : ''; + }, + style: { + fontSize: '11px', + fontWeight: 600 + } + }, + legend: { + position: 'right', + fontSize: '12px' + }, + tooltip: { + y: { + formatter: (val) => `₹${this.formatNumber(val)}` + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating cost breakdown chart:", error); + } + } + + createPerformanceGauge() { + const element = document.querySelector("#performanceGauge"); + if (!element) { + console.warn("Performance gauge element not found"); + return; + } + + try { + const efficiency = this.state.performanceData.efficiency || 0; + + const options = { + series: [efficiency], + chart: { + height: 220, + type: 'radialBar', + }, + plotOptions: { + radialBar: { + startAngle: -135, + endAngle: 135, + hollow: { + margin: 0, + size: '70%', + background: 'transparent', + }, + track: { + background: this.state.darkMode ? '#334155' : '#E5E7EB', + strokeWidth: '100%', + margin: 0, + }, + dataLabels: { + name: { + fontSize: '16px', + color: this.state.darkMode ? '#CBD5E1' : '#4B5563', + offsetY: -10, + }, + value: { + offsetY: 16, + fontSize: '22px', + color: this.state.darkMode ? '#F8FAFC' : '#111827', + formatter: (val) => `${val.toFixed(1)}%`, + } + } + } + }, + fill: { + type: 'gradient', + gradient: { + shade: 'dark', + type: 'horizontal', + shadeIntensity: 0.5, + gradientToColors: ['#10B981'], + inverseColors: true, + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100] + } + }, + stroke: { + dashArray: 4 + }, + labels: ['Overall Efficiency'], + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating performance gauge:", error); + } + } + + createProjectHealthChart() { + const element = document.querySelector("#projectHealthChart"); + if (!element) { + console.warn("Project health chart element not found"); + return; + } + + try { + const projects = this.state.projectsData.slice(0, 8); + if (projects.length === 0) { + element.innerHTML = '
No project data available
'; + return; + } + + const categories = projects.map(p => { + const name = p.name || 'Unnamed'; + return name.length > 15 ? name.substring(0, 12) + '...' : name; + }); + + const healthScores = projects.map(project => { + let score = 80; + + if (project.budget_variance_percent < -10) score -= 20; + if (project.budget_variance_percent > 10) score -= 15; + + return Math.max(0, Math.min(100, score)); + }); + + const options = { + series: [{ + name: 'Health Score', + data: healthScores + }], + chart: { + type: 'bar', + height: 280, + toolbar: { show: false } + }, + plotOptions: { + bar: { + borderRadius: 4, + horizontal: false, + columnWidth: '55%', + colors: { + ranges: [{ + from: 0, + to: 40, + color: '#EF4444' + }, { + from: 41, + to: 70, + color: '#F59E0B' + }, { + from: 71, + to: 100, + color: '#10B981' + }] + } + } + }, + dataLabels: { + enabled: true, + formatter: (val) => `${val.toFixed(0)}`, + style: { + colors: ['#fff'] + } + }, + xaxis: { + categories: categories, + labels: { + rotate: -45, + style: { + fontSize: '11px' + } + } + }, + yaxis: { + max: 100, + title: { + text: 'Health Score', + style: {} + } + }, + tooltip: { + y: { + formatter: (val) => `${val.toFixed(0)}/100` + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating project health chart:", error); + } + } + + createResourceUtilizationChart() { + const element = document.querySelector("#resourceUtilizationChart"); + if (!element) { + console.warn("Resource utilization chart element not found"); + return; + } + + try { + if (!this.state.employeePerformance || this.state.employeePerformance.length === 0) { + element.innerHTML = '
No employee performance data available
'; + return; + } + + const topPerformers = this.state.employeePerformance + .filter(emp => emp.efficiency_rate && emp.on_time_completion_rate) + .sort((a, b) => (b.efficiency_rate || 0) - (a.efficiency_rate || 0)) + .slice(0, 6); + + if (topPerformers.length === 0) { + element.innerHTML = '
No performance data available
'; + return; + } + + const options = { + series: [{ + name: 'Efficiency', + data: topPerformers.map(emp => emp.efficiency_rate || 0) + }, { + name: 'On-Time Rate', + data: topPerformers.map(emp => emp.on_time_completion_rate || 0) + }], + chart: { + type: 'radar', + height: 300, + toolbar: { show: false } + }, + xaxis: { + categories: topPerformers.map(emp => { + const name = emp.employee_name || 'Employee'; + return name.split(' ')[0] || name.substring(0, 8); + }) + }, + yaxis: { + min: 0, + max: 100, + labels: { + formatter: (val) => `${val.toFixed(0)}%` + } + }, + fill: { + opacity: 0.1 + }, + stroke: { + width: 2 + }, + markers: { + size: 4 + }, + colors: ['#3B82F6', '#10B981'], + legend: { + position: 'bottom' + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating resource utilization chart:", error); + } + } + + initFinancialCharts() { + try { + setTimeout(() => { + this.createBudgetVarianceChart(); + this.createProfitLossTrendChart(); + }, 200); + } catch (error) { + console.error("Error in initFinancialCharts:", error); + } + } + + createBudgetVarianceChart() { + const element = document.querySelector("#budgetVarianceChart"); + if (!element) { + console.warn("Budget variance chart element not found"); + return; + } + + try { + if (!this.state.projectsData || this.state.projectsData.length === 0) { + element.innerHTML = '
No project data available
'; + return; + } + + const projects = this.state.projectsData.slice(0, 10); + const categories = projects.map(p => { + const name = p.name || 'Unnamed'; + return name.length > 12 ? name.substring(0, 9) + '...' : name; + }); + + const options = { + series: [{ + name: 'Budget Variance %', + data: projects.map(p => p.budget_variance_percent || 0) + }], + chart: { + type: 'bar', + height: 350, + toolbar: { show: false } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '55%', + endingShape: 'rounded' + } + }, + colors: projects.map(p => { + const variance = p.budget_variance_percent || 0; + if (variance < -5) return '#10B981'; + if (variance <= 5) return '#F59E0B'; + return '#EF4444'; + }), + dataLabels: { + enabled: true, + formatter: (val) => `${val.toFixed(1)}%`, + style: { + colors: ['#fff'] + } + }, + xaxis: { + categories: categories, + labels: { + rotate: -45, + style: { + fontSize: '11px' + } + } + }, + yaxis: { + title: { + text: 'Variance %', + style: {} + }, + labels: { + formatter: (val) => `${val.toFixed(0)}%` + } + }, + tooltip: { + y: { + formatter: (val) => `${val.toFixed(1)}% variance` + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating budget variance chart:", error); + } + } + + createProfitLossTrendChart() { + const element = document.querySelector("#profitLossTrendChart"); + if (!element) { + console.warn("Profit loss trend chart element not found"); + return; + } + + try { + if (!this.state.projectsData || this.state.projectsData.length === 0) { + element.innerHTML = '
No project data available
'; + return; + } + + const projects = this.state.projectsData.slice(0, 8); + const projectNames = projects.map(p => { + const name = p.name || 'Unnamed'; + return name.length > 10 ? name.substring(0, 7) + '...' : name; + }); + + const options = { + series: [{ + name: 'Profit', + data: projects.map(p => p.profit || 0) + }, { + name: 'Loss', + data: projects.map(p => p.loss || 0) + }], + chart: { + type: 'line', + height: 350, + toolbar: { show: false } + }, + stroke: { + curve: 'smooth', + width: 3 + }, + colors: ['#10B981', '#EF4444'], + xaxis: { + categories: projectNames, + labels: { + style: { + fontSize: '11px' + } + } + }, + yaxis: { + title: { + text: 'Amount (₹)', + style: {} + }, + labels: { + formatter: (val) => this.formatCurrency(val) + } + }, + markers: { + size: 5 + }, + tooltip: { + y: { + formatter: (val) => `₹${this.formatNumber(val)}` + } + }, + legend: { + position: 'top' + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating profit loss trend chart:", error); + } + } + + initPerformanceCharts() { + try { + setTimeout(() => { + this.createEmployeePerformanceChart(); + this.createTimeVarianceChart(); + }, 200); + } catch (error) { + console.error("Error in initPerformanceCharts:", error); + } + } + + createEmployeePerformanceChart() { + const element = document.querySelector("#employeePerformanceChart"); + if (!element) { + console.warn("Employee performance chart element not found"); + return; + } + + try { + if (!this.state.employeePerformance || this.state.employeePerformance.length === 0) { + element.innerHTML = '
No employee performance data available
'; + return; + } + + const employees = this.state.employeePerformance.slice(0, 8); + const categories = employees.map(emp => { + const name = emp.employee_name || 'Emp'; + return name.split(' ')[0] || name.substring(0, 6); + }); + + const options = { + series: [{ + name: 'Efficiency Rate', + data: employees.map(emp => emp.efficiency_rate || 0) + }, { + name: 'On-Time Rate', + data: employees.map(emp => emp.on_time_completion_rate || 0) + }], + chart: { + type: 'bar', + height: 350, + stacked: false, + toolbar: { show: false } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '55%', + borderRadius: 5 + } + }, + colors: ['#3B82F6', '#10B981'], + dataLabels: { + enabled: false + }, + stroke: { + show: true, + width: 2, + colors: ['transparent'] + }, + xaxis: { + categories: categories, + labels: { + style: { + fontSize: '11px' + } + } + }, + yaxis: { + title: { + text: 'Percentage (%)', + style: {} + }, + labels: { + formatter: (val) => `${val.toFixed(0)}%` + } + }, + fill: { + opacity: 1 + }, + tooltip: { + y: { + formatter: (val) => `${val.toFixed(1)}%` + } + }, + legend: { + position: 'top' + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating employee performance chart:", error); + } + } + + createTimeVarianceChart() { + const element = document.querySelector("#timeVarianceChart"); + if (!element) { + console.warn("Time variance chart element not found"); + return; + } + + try { + if (!this.state.employeePerformance || this.state.employeePerformance.length === 0) { + element.innerHTML = '
No employee performance data available
'; + return; + } + + const employees = this.state.employeePerformance.slice(0, 6); + const categories = employees.map(emp => { + const name = emp.employee_name || 'Emp'; + return name.split(' ')[0] || name.substring(0, 6); + }); + + const options = { + series: [{ + name: 'Time Variance', + data: employees.map(emp => emp.time_variance_percent || 0) + }], + chart: { + type: 'bar', + height: 300, + toolbar: { show: false } + }, + plotOptions: { + bar: { + borderRadius: 4, + horizontal: true, + distributed: true, + dataLabels: { + position: 'top' + } + } + }, + colors: employees.map(emp => { + const variance = emp.time_variance_percent || 0; + if (variance <= 0) return '#10B981'; + if (variance <= 10) return '#F59E0B'; + if (variance <= 20) return '#F97316'; + return '#EF4444'; + }), + dataLabels: { + enabled: true, + formatter: (val) => `${val.toFixed(1)}%`, + offsetX: 0, + style: { + fontSize: '11px', + colors: ['#fff'] + } + }, + xaxis: { + categories: categories, + labels: { + formatter: (val) => `${val.toFixed(1)}%`, + style: { + fontSize: '11px' + } + } + }, + yaxis: { + labels: { + style: { + fontSize: '11px' + } + } + }, + tooltip: { + y: { + formatter: (val) => val > 0 ? `+${val.toFixed(1)}% delay` : `${val.toFixed(1)}% ahead` + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating time variance chart:", error); + } + } + + initProjectsCharts() { + try { + setTimeout(() => { + this.createProjectsBudgetChart(); + }, 200); + } catch (error) { + console.error("Error in initProjectsCharts:", error); + } + } + + createProjectsBudgetChart() { + const element = document.querySelector("#projectsBudgetChart"); + if (!element) { + console.warn("Projects budget chart element not found"); + return; + } + + try { + if (!this.state.projectsData || this.state.projectsData.length === 0) { + element.innerHTML = '
No project data available
'; + return; + } + + const projects = this.state.projectsData; + const projectNames = projects.map(p => { + const name = p.name || 'Unnamed'; + return name.length > 12 ? name.substring(0, 9) + '...' : name; + }); + + const options = { + series: [ + { + name: 'Estimated', + data: projects.map(p => p.estimated_amount || 0) + }, + { + name: 'Client Budget', + data: projects.map(p => p.project_cost || 0) + }, + { + name: 'Actual', + data: projects.map(p => p.actual_cost || 0) + } + ], + chart: { + type: 'bar', + height: 350, + stacked: true, + toolbar: { show: false } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '50%', + borderRadius: 5 + } + }, + colors: ['#3B82F6', '#10B981', '#F59E0B'], + dataLabels: { + enabled: false + }, + stroke: { + width: 1, + colors: ['#fff'] + }, + xaxis: { + categories: projectNames, + labels: { + rotate: -45, + style: { + fontSize: '11px' + } + } + }, + yaxis: { + title: { + text: 'Amount (₹)', + style: {} + }, + labels: { + formatter: (val) => this.formatCurrency(val) + } + }, + fill: { + opacity: 1 + }, + tooltip: { + y: { + formatter: (val) => `₹${this.formatNumber(val)}` + } + }, + legend: { + position: 'top' + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } catch (error) { + console.error("Error creating projects budget chart:", error); + } + } + + // FIXED: Added missing toggleKPI method + toggleKPI(kpi) { + if (this.state && this.state.expandedKPIs) { + this.state.expandedKPIs[kpi] = !this.state.expandedKPIs[kpi]; + } + } + + // FIXED: Added missing toggleView method + toggleView(view) { + if (this.state) { + this.state.activeView = view; + setTimeout(() => { + this.initCharts(); + }, 100); + } + } + + getPortfolioKPIs() { + if (!this.state.portfolioData) return {}; + + const data = this.state.portfolioData; + const projects = this.state.projectsData || []; + + return { + totalProjects: projects.length, + activeProjects: projects.filter(p => p.active).length, + totalBudget: data.total_client_budget || 0, + totalActual: data.total_actual_budget || 0, + netProfit: data.net_profit || 0, + avgEfficiency: data.overall_efficiency || 0, + onTimeRate: data.on_time_completion_rate || 0, + timeVariance: data.avg_time_variance || 0, + budgetVariance: data.budget_variance || 0, + budgetStatus: data.budget_status || 'on_track' + }; + } + + getPerformanceStatusClass(status) { + switch (status) { + case 'excellent': return 'status-excellent'; + case 'good': return 'status-good'; + case 'average': return 'status-average'; + case 'poor': return 'status-poor'; + case 'critical': return 'status-critical'; + default: return 'status-average'; + } + } + + getBudgetStatusClass(status) { + switch (status) { + case 'under': return 'status-success'; + case 'on_track': return 'status-warning'; + case 'over': return 'status-danger'; + default: return 'status-info'; + } + } + + formatNumber(num) { + if (num === null || num === undefined) return '0'; + const n = Number(num); + if (isNaN(n)) return '0'; + + if (n >= 10000000) { + return (n / 10000000).toFixed(1) + 'Cr'; + } + if (n >= 100000) { + return (n / 100000).toFixed(1) + 'L'; + } + if (n >= 1000) { + return (n / 1000).toFixed(1) + 'K'; + } + return n.toLocaleString('en-IN', { maximumFractionDigits: 0 }); + } + + formatCurrency(num) { + return `₹${this.formatNumber(num)}`; + } + + capitalizeFirstLetter(string) { + if (!string) return ''; + return string.charAt(0).toUpperCase() + string.slice(1); + } + + onClickRefresh() { + this.loadPortfolioData(); + this.notificationService.add("Portfolio dashboard refreshed!", { type: 'info' }); + } + + onClickToggleDarkMode() { + if (this.state) { + this.state.darkMode = !this.state.darkMode; + localStorage.setItem('dashboardDarkMode', this.state.darkMode); + document.body.classList.toggle('o_dark_mode', this.state.darkMode); + + if (this.charts) { + this.charts.forEach(chart => { + try { + chart.updateOptions({ + theme: { mode: this.state.darkMode ? 'dark' : 'light' } + }); + } catch (e) { + console.warn("Error updating chart theme:", e); + } + }); + } + + this.notificationService.add( + this.state.darkMode ? "Dark mode enabled" : "Light mode enabled", + { type: 'info' } + ); + } + } + + onClickToggleAnimations() { + if (this.state) { + this.state.animationEnabled = !this.state.animationEnabled; + + if (this.charts) { + this.charts.forEach(chart => { + try { + chart.updateOptions({ + chart: { animations: { enabled: this.state.animationEnabled } } + }); + } catch (e) { + console.warn("Error updating chart animations:", e); + } + }); + } + + this.notificationService.add( + this.state.animationEnabled ? "Animations enabled" : "Animations disabled", + { type: 'info' } + ); + } + } + + onClickViewProjects() { + if (this.state.portfolioData) { + this.actionService.doAction({ + type: 'ir.actions.act_window', + res_model: 'project.project', + name: 'Projects', + views: [[false, 'kanban'], [false, 'list'], [false, 'form']], + domain: [['portfolio_id', '=', this.state.portfolioData.id]], + context: { + default_portfolio_id: this.state.portfolioData.id + } + }); + } + } + + onClickViewEmployeePerformance() { + if (this.state.portfolioData) { + this.actionService.doAction({ + type: 'ir.actions.act_window', + res_model: 'project.portfolio.employee.performance', + name: 'Employee Performance', + views: [[false, 'list'], [false, 'graph'], [false, 'pivot']], + domain: [['portfolio_id', '=', this.state.portfolioData.id]], + context: { + default_portfolio_id: this.state.portfolioData.id, + search_default_group_by_employee: 1 + } + }); + } + } + + onClickDownload() { + try { + const reportData = { + portfolio: this.state.portfolioData, + summary: this.getPortfolioKPIs(), + projects_summary: this.state.projectsData.map(project => ({ + name: project.name, + estimated: project.estimated_amount, + client_budget: project.project_cost, + actual: project.actual_cost, + profit: project.profit, + loss: project.loss, + status: project.stage_id ? project.stage_id[1] : 'No Stage' + })), + employee_performance: this.state.employeePerformance, + generated_at: new Date().toISOString() + }; + + const dataStr = JSON.stringify(reportData, null, 2); + const dataUri = 'data:application/json;charset=utf-8,' + encodeURIComponent(dataStr); + + const portfolioName = this.state.portfolioData?.name || 'portfolio'; + const exportFileName = `${portfolioName}_dashboard_${new Date().toISOString().split('T')[0]}.json`; + + const linkElement = document.createElement('a'); + linkElement.setAttribute('href', dataUri); + linkElement.setAttribute('download', exportFileName); + document.body.appendChild(linkElement); + linkElement.click(); + document.body.removeChild(linkElement); + + this.notificationService.add("Portfolio dashboard exported successfully!", { type: 'success' }); + } catch (error) { + console.error("Error downloading dashboard:", error); + this.notificationService.add("Error exporting dashboard", { type: 'danger' }); + } + } + + cleanupCharts() { + if (this.charts && this.charts.length > 0) { + this.charts.forEach(chart => { + try { + chart.destroy(); + } catch (e) { + console.warn("Error destroying chart:", e); + } + }); + this.charts = []; + } + } +} + +export const portfolioDashboardWidget = { + component: PortfolioDashboardWidget, +}; + +registry.category("view_widgets").add("portfolio_dashboard", portfolioDashboardWidget); +registry.category("actions").add("portfolio_dashboard", portfolioDashboardWidget); \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/static/src/js/dashboard/project_dashboard.js b/addons_extensions/project_dashboards_management/static/src/js/dashboard/project_dashboard.js new file mode 100644 index 000000000..2906f9a8a --- /dev/null +++ b/addons_extensions/project_dashboards_management/static/src/js/dashboard/project_dashboard.js @@ -0,0 +1,960 @@ +/** @odoo-module **/ + +import { Component, useState, onMounted } from "@odoo/owl"; +import { registry } from "@web/core/registry"; +import { useService } from "@web/core/utils/hooks"; +import { standardWidgetProps } from "@web/views/widgets/standard_widget_props"; +import { rpc } from "@web/core/network/rpc"; + + +class ProjectDashboardWidget extends Component { + static template = "project_dashboards_management.ProjectDashboardWidget"; + static props = { + ...standardWidgetProps, + }; + + setup() { + debugger; + super.setup(); + + this.state = useState({ + loading: true, + darkMode: false, + animationEnabled: true, + projectData: null, + tasksData: [], + employeePerformance: [], + budgetData: null, + error: null + }); + + this.actionService = useService("action"); + this.dialogService = useService("dialog"); + this.orm = useService("orm"); + this.notificationService = useService("notification"); + this.rpc = rpc; + + onMounted(() => this.loadDashboardData()); + this.checkSystemTheme(); + } + + checkSystemTheme() { + const savedTheme = localStorage.getItem('dashboardDarkMode'); + if (savedTheme !== null) { + this.state.darkMode = savedTheme === 'true'; + } else { + const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; + this.state.darkMode = prefersDark; + } + document.body.classList.toggle('o_dark_mode', this.state.darkMode); + } + + async loadDashboardData() { + debugger; + + this.state.loading = true; + this.state.error = null; + + try { + // Check if we're in a project context + if (!this.props.record || this.props.record.resModel !== 'project.project') { + this.state.error = "This dashboard widget only works on Project records."; + this.state.loading = false; + return; + } + + const projectId = this.props.record.resId; + + // Single API call to the controller + const response = await this.rpc('/project_dashboard/get_dashboard_data', { + project_id: projectId + }); + + if (response.success) { + this.state.projectData = response.project_data; + this.state.tasksData = response.tasks_data; + this.state.employeePerformance = response.employee_performance; + this.state.budgetData = response.budget_data; + + // Initialize charts after data is loaded + setTimeout(() => this.initCharts(), 100); + } else { + this.state.error = response.error || "Failed to load dashboard data."; + this.notificationService.add("Error loading dashboard data", { + type: 'danger' + }); + } + + } catch (error) { + console.error("Error loading dashboard data:", error); + this.state.error = "Failed to load dashboard data. Please try again."; + this.notificationService.add("Error loading dashboard data", { + type: 'danger' + }); + } finally { + this.state.loading = false; + } + } + + + async initCharts() { + if (!window.ApexCharts) { + console.warn("ApexCharts not loaded"); + return; + } + + try { + // Destroy existing charts + if (this.charts) { + this.charts.forEach(chart => chart.destroy()); + } + this.charts = []; + + // Initialize all charts + await Promise.all([ + + this.initResourceMiniChart(), + this.initAssetMiniChart(), + this.initUsageMiniChart(), + this.initMainBudgetChart(), + this.initEmployeePerformanceChart(), + this.initTaskProgressChart(), + this.initTimeVarianceChart(), + this.initStageDistributionChart(), + this.initTimelineChart() + ]); + + } catch (error) { + console.error("Error initializing charts:", error); + } + } + + initResourceMiniChart() { + if (!this.state.budgetData) return; + let data = this.state.budgetData + new ApexCharts( + document.querySelector("#resourceBudgetMini"), + { + series: [data.resource_cost, data.planned_resource_cost || 0], + chart: { type: 'donut', height: 160 }, + labels: ['Used', 'Planned'], + colors: ['#3B82F6', '#E5E7EB'], + plotOptions: { + pie: { + donut: { + size: '78%', + labels: { + show: true, + total: { + show: true, + label: 'Used', + fontSize: '12px', + color: '#64748B', + formatter: () => + `₹${this.formatNumber(data.resource_cost)}` + } + } + } + } + }, + dataLabels: { enabled: false }, // 🔑 FIX + legend: { show: false }, // 🔑 FIX + title: { + text: 'Resource Budget', + align: 'center', + style: { fontSize: '13px', fontWeight: 600 } + }, + tooltip: { + y: { formatter: v => `₹${this.formatNumber(v)}` } + } + } + ).render(); + } + + + initAssetMiniChart() { + if (!this.state.budgetData) return; + let data = this.state.budgetData + new ApexCharts( + document.querySelector("#assetBudgetMini"), + { + series: [data.asset_cost, data.planned_asset_cost || 0], + chart: { type: 'donut', height: 160 }, + labels: ['Used', 'Planned'], + colors: ['#10B981', '#E5E7EB'], + plotOptions: { + pie: { + donut: { + size: '78%', + labels: { + show: true, + total: { + show: true, + label: 'Used', + fontSize: '12px', + color: '#64748B', + formatter: () => + `₹${this.formatNumber(data.asset_cost)}` + } + } + } + } + }, + dataLabels: { enabled: false }, // 🔑 FIX + legend: { show: false }, + title: { + text: 'Asset Budget', + align: 'center', + style: { fontSize: '13px', fontWeight: 600 } + }, + tooltip: { + y: { formatter: v => `₹${this.formatNumber(v)}` } + } + } + ).render(); + } + + + initUsageMiniChart() { + if (!this.state.budgetData) return; + let data = this.state.budgetData + new ApexCharts( + document.querySelector("#usageBudgetMini"), + { + series: [data.used_budget, data.available_budget], + chart: { type: 'donut', height: 160 }, + labels: ['Used', 'Available'], + colors: ['#F59E0B', '#22C55E'], + plotOptions: { + pie: { + donut: { + size: '78%', + labels: { + show: true, + total: { + show: true, + label: 'Used', + fontSize: '12px', + color: '#64748B', + formatter: () => + `${((data.used_budget / data.total_budget) * 100).toFixed(1)}%` + } + } + } + } + }, + dataLabels: { enabled: false }, // 🔑 FIX + legend: { show: false }, + title: { + text: 'Budget Usage', + align: 'center', + style: { fontSize: '13px', fontWeight: 600 } + }, + tooltip: { + y: { formatter: v => `₹${this.formatNumber(v)}` } + } + } + ).render(); + } + + + initMainBudgetChart() { + if (!this.state.budgetData) return; + let data = this.state.budgetData + const exceeded = data.used_budget > data.total_budget; + + new ApexCharts( + document.querySelector("#budgetMainChart"), + { + series: [ + data.resource_cost, + data.asset_cost, + data.available_budget + ], + chart: { + type: 'donut', + height: 300 + }, + labels: ['Resource Cost', 'Asset Cost', 'Remaining'], + colors: ['#3B82F6', '#10B981', '#E5E7EB'], + stroke: { width: 3, colors: ['#ffffff']}, + states: { + hover: { + filter: { type: 'none' } + }, + active: { + filter: { type: 'none' } + } + }, + plotOptions: { + pie: { + donut: { + size: '65%', + labels: { + show: true, + total: { + show: true, + label: exceeded ? '⚠ Over Budget' : 'Total Budget', + color: exceeded ? '#EF4444' : '#374151', + formatter: () => `₹${this.formatNumber(data.total_budget)}` + } + } + } + } + }, + tooltip: { + y: { + formatter: v => `₹${this.formatNumber(v)}` + } + } + } + ).render(); + } + + initEmployeePerformanceChart() { + if (!this.state.employeePerformance.length) return; + + const element = document.querySelector("#employeePerformanceChart"); + if (!element) return; + + const employees = this.state.employeePerformance.slice(0, 10); // Top 10 employees + const categories = employees.map(emp => emp.employee_name.split(' ')[0]); // First names + + const options = { + series: [{ + name: 'Efficiency Rate', + data: employees.map(emp => emp.efficiency_rate) + }, { + name: 'On-Time Rate', + data: employees.map(emp => emp.on_time_rate) + }], + chart: { + type: 'bar', + height: 350, + stacked: false, + toolbar: { show: false } + }, + colors: ['#00e396', '#008ffb'], + plotOptions: { + bar: { + horizontal: false, + columnWidth: '55%', + borderRadius: 5 + }, + }, + dataLabels: { + enabled: false + }, + stroke: { + show: true, + width: 2, + colors: ['transparent'] + }, + xaxis: { + categories: categories, + labels: { + style: { + fontSize: '12px' + } + } + }, + yaxis: { + title: { + text: 'Percentage (%)', + style: { + } + }, + labels: { + formatter: function(val) { + return val.toFixed(0) + '%'; + }, + style: { + } + } + }, + fill: { + opacity: 1 + }, + tooltip: { + y: { + formatter: function(val) { + return val.toFixed(1) + '%'; + } + } + }, + legend: { + position: 'top', + horizontalAlign: 'center', + labels: { + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } + + initTaskProgressChart() { + if (!this.state.tasksData.length) return; + + const element = document.querySelector("#taskProgressChart"); + if (!element) return; + + // Calculate completion percentages + const completedTasks = this.state.tasksData.filter(task => task.state === '1_done' || task.state === '1_canceled').length; + const inProgressTasks = this.state.tasksData.filter(task => task.state === '01_in_progress').length; + const todoTasks = this.state.tasksData.filter(task => task.state === '04_waiting_normal').length; + const totalTasks = this.state.tasksData.length; + + const completionRate = totalTasks > 0 ? (completedTasks / totalTasks) * 100 : 0; + + const options = { + series: [completionRate], + chart: { + height: 250, + type: 'radialBar', + offsetY: -10 + }, + plotOptions: { + radialBar: { + startAngle: -135, + endAngle: 135, + dataLabels: { + name: { + fontSize: '16px', + offsetY: 120 + }, + value: { + offsetY: 76, + fontSize: '34px', + formatter: function(val) { + return val.toFixed(1) + '%'; + } + } + } + } + }, + colors: ['#00e396'], + fill: { + type: 'gradient', + gradient: { + shade: 'dark', + shadeIntensity: 0.15, + inverseColors: false, + opacityFrom: 1, + opacityTo: 1, + stops: [0, 50, 65, 91] + }, + }, + stroke: { + dashArray: 4 + }, + labels: ['Overall Completion'], + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } + + initTimeVarianceChart() { + if (!this.state.employeePerformance.length) return; + + const element = document.querySelector("#timeVarianceChart"); + if (!element) return; + + const employees = this.state.employeePerformance.slice(0, 8); + const categories = employees.map(emp => emp.employee_name.split(' ')[0]); + + const options = { + series: [{ + name: 'Time Variance', + data: employees.map(emp => emp.time_variance) + }], + chart: { + type: 'bar', + height: 300, + toolbar: { show: false } + }, + plotOptions: { + bar: { + borderRadius: 4, + horizontal: true, + distributed: true, + dataLabels: { + position: 'top' + } + } + }, + colors: employees.map(emp => { + const variance = emp.time_variance; + if (variance <= 0) return '#00e396'; // Green for ahead of schedule + if (variance <= 10) return '#ffb800'; // Yellow for minor delay + if (variance <= 20) return '#ff9f00'; // Orange for moderate delay + return '#ff4560'; // Red for major delay + }), + dataLabels: { + enabled: true, + formatter: function(val) { + return val.toFixed(1) + '%'; + }, + offsetX: 0, + style: { + fontSize: '12px', + colors: ['#fff'] + } + }, + xaxis: { + categories: categories, + labels: { + formatter: function(val) { + return val.toFixed(1) + '%'; + }, + style: { + } + } + }, + yaxis: { + labels: { + style: { + fontSize: '12px' + } + } + }, + tooltip: { + y: { + formatter: function(val) { + return val > 0 ? `+${val.toFixed(1)}% delay` : `${val.toFixed(1)}% ahead`; + } + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } + + getDeterministicColor(stageName, usedColors) { + const CUSTOM_STAGE_PALETTE = [ + '#2563EB', // blue + '#7C3AED', // violet + '#0891B2', // cyan + '#0D9488', // teal + '#65A30D', // olive + '#CA8A04', // amber + '#DB2777', // rose + '#9333EA', // purple + '#0284C7', // sky + '#16A34A', // green + ]; + + let hash = 0; + for (let i = 0; i < stageName.length; i++) { + hash = stageName.charCodeAt(i) + ((hash << 5) - hash); + } + + let index = Math.abs(hash) % CUSTOM_STAGE_PALETTE.length; + let color = CUSTOM_STAGE_PALETTE[index]; + + // 🔒 Avoid collisions with already-used colors + let i = 1; + while (usedColors.has(color)) { + color = CUSTOM_STAGE_PALETTE[(index + i) % CUSTOM_STAGE_PALETTE.length]; + i++; + } + + usedColors.add(color); + return color; + } + + resolveStageColor(stageName, usedColors) { + const name = stageName.toLowerCase(); + let color; + + if (name.includes('done') || name.includes('complete')) { + color = '#00E396'; // emerald + } + else if (name.includes('cancel') || name.includes('reject')) { + color = '#9CA3AF'; // neutral gray + } + else if (name.includes('hold') || name.includes('wait')) { + color = '#F59E0B'; // amber + } + else if (name.includes('progress') || name.includes('doing')) { + color = '#3B82F6'; // blue + } + else if (name.includes('test') || name.includes('review')) { + color = '#8B5CF6'; // violet + } + else { + color = this.getDeterministicColor(stageName, usedColors); + return color; + } + + // 🔒 IMPORTANT: register semantic colors too + if (!usedColors.has(color)) { + usedColors.add(color); + } + + return color; + } + + + initStageDistributionChart() { + if (!this.state.tasksData?.length) return; + + const element = document.querySelector("#stageDistributionChart"); + if (!element) return; + + // 1️⃣ Group by stage + const stageCounts = {}; + this.state.tasksData.forEach(task => { + const stage = task.stage_name || 'No Stage'; + stageCounts[stage] = (stageCounts[stage] || 0) + 1; + }); + + const stages = Object.keys(stageCounts); + const counts = Object.values(stageCounts); + const totalTasks = counts.reduce((a, b) => a + b, 0); + + // 2️⃣ Resolve colors + const usedColors = new Set(); + const colors = stages.map(stage => + this.resolveStageColor(stage, usedColors) + ); + + // 3️⃣ Chart options + const options = { + series: counts, + chart: { + type: 'donut', + height: 340, + animations: { + enabled: true, + easing: 'easeinout', + speed: 900 + } + }, + + labels: stages, + colors: colors, + + stroke: { + width: 3, + colors: ['#ffffff'] + }, + + plotOptions: { + pie: { + donut: { + size: '68%', + labels: { + show: true, + total: { + show: true, + label: 'Total Tasks', + fontSize: '14px', + color: '#6B7280', + formatter: () => totalTasks + } + } + }, + expandOnClick: true + } + }, + + dataLabels: { + enabled: true, + style: { + fontSize: '13px', + fontWeight: 600 + }, + formatter: (val, opts) => { + const count = opts.w.config.series[opts.seriesIndex]; + return count >= 2 ? count : ''; + } + }, + + legend: { + position: 'right', + fontSize: '14px', + markers: { + radius: 12 + }, + itemMargin: { + vertical: 6 + }, + labels: { + } + }, + + tooltip: { + y: { + formatter: (val) => { + const percent = ((val / totalTasks) * 100).toFixed(1); + return `${val} tasks (${percent}%)`; + } + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } + + + + initTimelineChart() { + if (!this.state.tasksData.length) return; + + const element = document.querySelector("#timelineChart"); + if (!element) return; + + // Get tasks with deadlines + const tasksWithDeadlines = this.state.tasksData + .filter(task => task.date_deadline) + .slice(0, 15) // Limit to 15 for readability + .map(task => ({ + x: task.sequence_name || task.name, + y: [ + new Date(task.planned_date_begin || task.date_deadline).getTime(), + new Date(task.date_deadline).getTime() + ], + fillColor: this.getTaskColor(task) + })); + + const options = { + series: [{ + data: tasksWithDeadlines + }], + chart: { + height: 350, + type: 'rangeBar' + }, + plotOptions: { + bar: { + horizontal: true, + distributed: true, + dataLabels: { + hideOverflowingLabels: false + } + } + }, + dataLabels: { + enabled: true, + formatter: function(val, opts) { + const hours = (opts.w.config.series[opts.seriesIndex].data[opts.dataPointIndex].estimated_hours || 0).toFixed(1); + return hours + 'h'; + } + }, + xaxis: { + type: 'datetime', + labels: { + style: { + } + } + }, + yaxis: { + show: true, + labels: { + style: { + fontSize: '12px' + } + } + }, + grid: { + row: { + colors: ['#f3f4f6', '#fff'], + opacity: 0.5 + } + }, + legend: { + show: false + }, + tooltip: { + custom: function({ series, seriesIndex, dataPointIndex, w }) { + const data = w.config.series[seriesIndex].data[dataPointIndex]; + const start = new Date(data.y[0]).toLocaleDateString(); + const end = new Date(data.y[1]).toLocaleDateString(); + return ` +
+
${data.x}
+
Start: ${start}
+
End: ${end}
+
+ `; + } + } + }; + + const chart = new ApexCharts(element, options); + chart.render(); + this.charts.push(chart); + } + + getTaskColor(task) { + if (task.is_overdue) return '#ff4560'; + if (task.has_warning) return '#ffb800'; + if (task.state === '1_done') return '#00e396'; + if (task.state === '1_done') return '#94A3B8'; + if (task.state === '01_in_progress') return '#008ffb'; + return '#4facfe'; + } + + formatNumber(num) { + if (!num) return '0'; + if (num >= 1000000) { + return (num / 1000000).toFixed(1) + 'M'; + } + if (num >= 1000) { + return (num / 1000).toFixed(1) + 'K'; + } + return num.toLocaleString(); + } + + getProjectKPIs() { + if (!this.state.projectData) return {}; + + const project = this.state.projectData; + const tasks = this.state.tasksData; + + return { + totalTasks: tasks.length, + completedTasks: tasks.filter(t => t.state === '1_done' || t.state === '1_canceled').length, + overdueTasks: tasks.filter(t => t.is_overdue).length, + totalHours: tasks.reduce((sum, t) => sum + (t.estimated_hours || 0), 0), + actualHours: tasks.reduce((sum, t) => sum + (t.actual_hours || 0), 0), + budgetUsed: this.state.budgetData ? + (this.state.budgetData.used_budget) : 0, + totalBudget: this.state.budgetData?.total_budget || 0, + teamMembers: project.members_ids ? project.members_ids.length : 0, + completionRate: tasks.length > 0 ? + (tasks.filter(t => t.state === '1_done' || t.state === '1_canceled').length / tasks.length) * 100 : 0 + }; + } + + async onClickOpenPopup() { + try { + const { ProjectDashboardPopup } = await import('./project_dashboard_popup'); + this.dialogService.add(ProjectDashboardPopup, { + projectData: this.state.projectData, + tasksData: this.state.tasksData, + employeePerformance: this.state.employeePerformance, + budgetData: this.state.budgetData, + onClose: () => console.log("Popup closed"), + onDownload: () => this.onClickDownload(), + }); + } catch (error) { + console.error("Error opening popup:", error); + this.notificationService.add("Error opening popup", { type: 'danger' }); + } + } + + onClickDownload() { + try { + const reportData = { + project: this.state.projectData, + summary: this.getProjectKPIs(), + tasks_summary: this.state.tasksData.map(task => ({ + name: task.name, + stage: task.stage_id ? task.stage_id[1] : 'No Stage', + estimated_hours: task.estimated_hours, + actual_hours: task.actual_hours, + completion_rate: task.completion_rate, + status: task.state + })), + employee_performance: this.state.employeePerformance, + budget_data: this.state.budgetData, + generated_at: new Date().toISOString() + }; + + const dataStr = JSON.stringify(reportData, null, 2); + const dataUri = 'data:application/json;charset=utf-8,'+ encodeURIComponent(dataStr); + + const projectName = this.state.projectData?.sequence_name || 'project'; + const exportFileName = `${projectName}_dashboard_${new Date().toISOString().split('T')[0]}.json`; + + const linkElement = document.createElement('a'); + linkElement.setAttribute('href', dataUri); + linkElement.setAttribute('download', exportFileName); + document.body.appendChild(linkElement); + linkElement.click(); + document.body.removeChild(linkElement); + + this.notificationService.add("Dashboard exported successfully!", { type: 'success' }); + } catch (error) { + console.error("Error downloading dashboard:", error); + this.notificationService.add("Error exporting dashboard", { type: 'danger' }); + } + } + + onClickToggleDarkMode() { + this.state.darkMode = !this.state.darkMode; + localStorage.setItem('dashboardDarkMode', this.state.darkMode); + document.body.classList.toggle('o_dark_mode', this.state.darkMode); + + // Update charts theme + if (this.charts) { + this.charts.forEach(chart => { + try { + chart.updateOptions({ + theme: { mode: this.state.darkMode ? 'dark' : 'light' } + }); + } catch (e) { + console.warn("Error updating chart theme:", e); + } + }); + } + + this.notificationService.add( + this.state.darkMode ? "Dark mode enabled" : "Light mode enabled", + { type: 'info' } + ); + } + + onClickToggleAnimations() { + this.state.animationEnabled = !this.state.animationEnabled; + + if (this.charts) { + this.charts.forEach(chart => { + try { + chart.updateOptions({ + chart: { animations: { enabled: this.state.animationEnabled } } + }); + } catch (e) { + console.warn("Error updating chart animations:", e); + } + }); + } + + this.notificationService.add( + this.state.animationEnabled ? "Animations enabled" : "Animations disabled", + { type: 'info' } + ); + } + + onClickRefresh() { + this.loadDashboardData(); + this.notificationService.add("Dashboard refreshed!", { type: 'info' }); + } + + // Clean up charts when component is destroyed + onWillDestroy() { + if (this.charts) { + this.charts.forEach(chart => chart.destroy()); + } + } +} + +export const projectDashboardWidget = { + component: ProjectDashboardWidget, +}; + +export const projectDashboardAction = { + component: ProjectDashboardWidget +}; +registry.category("view_widgets").add("project_dashboard", projectDashboardWidget); +registry.category("actions").add("project_dashboard", projectDashboardAction); \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/static/src/js/external_lib/apexcharts/apexcharts.js b/addons_extensions/project_dashboards_management/static/src/js/external_lib/apexcharts/apexcharts.js new file mode 100644 index 000000000..e09b5a4a5 --- /dev/null +++ b/addons_extensions/project_dashboards_management/static/src/js/external_lib/apexcharts/apexcharts.js @@ -0,0 +1,37 @@ +/*! + * ApexCharts v5.3.6 + * (c) 2018-2025 ApexCharts + */ +!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:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if(null===t||"object"!==b(t))return t;if(i.has(t))return i.get(t);if(Array.isArray(t)){e=[],i.set(t,e);for(var a=0;a1&&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){return t.toString().includes("e")?Math.round(t):t}},{key:"elementExists",value:function(t){return!(!t||!t.isConnected)}},{key:"isInShadowDOM",value:function(e){if(!e||!e.getRootNode)return!1;var i=e.getRootNode();return i&&i!==document&&t.is("ShadowRoot",i)}},{key:"getShadowRootHost",value:function(e){return t.isInShadowDOM(e)&&e.getRootNode().host||null}},{key:"getDimensions",value:function(t){if(!t)return[0,0];var e,i=t.getRootNode&&t.getRootNode();if(i&&i!==document&&i.host){var a=i.host.getBoundingClientRect();return[a.width,a.height]}try{e=getComputedStyle(t,null)}catch(e){return[t.clientWidth||0,t.clientHeight||0]}var s=t.clientHeight,r=t.clientWidth;return s-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[r-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),s]}},{key:"getBoundingClientRect",value:function(t){if(!t)return{top:0,right:0,bottom:0,left:0,width:0,height:0,x:0,y:0};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(a>1?(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a)):a=1;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");let Gt=class 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;if(s&&s.startsWith("M 0 0")&&r){var P=r.match(/^M\s+[\d.-]+\s+[\d.-]+/);P&&(s=s.replace(/^M\s+0\s+0/,P[0]))}var I=!!(L&&!A.globals.resized||M&&A.globals.dataChanged&&A.globals.shouldAnimate);I?e=s:(e=r,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,z=0;z=Array.isArray(T)?T[a]:A.config.stroke.dashArray;var X=this.drawPath({d:e,stroke:n,strokeWidth:o,fill:h,fillOpacity:1,classes:p,strokeLinecap:l,strokeDashArray:z});X.attr("index",a),b&&("bar"===f&&!A.globals.isHorizontal||A.globals.comboCharts?X.attr({"clip-path":"url(#gridRectBarMask".concat(A.globals.cuid,")")}):X.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")})),A.config.chart.dropShadow.enabled&&k&&C.dropShadow(X,A.config.chart.dropShadow,a),v&&(X.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,X)),X.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,X)),X.node.addEventListener("mousedown",this.pathMouseDown.bind(this,X))),X.attr({pathTo:r,pathFrom:s});var R={el:X,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({},R),{},{speed:d})),A.globals.dataChanged&&M&&I&&S.animatePathsGradually(u(u({},R),{},{speed:g})),X}},{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),"number"!=typeof l&&(l=0,o=!0),parseFloat(l.toFixed(10))>parseFloat(i.globals.gridWidth.toFixed(10))?(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,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];if(r.config.xaxis.labels.trim&&"datetime"!==r.config.xaxis.type)return e;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,injectStyleSheet:!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}}}},parsing:{x:void 0,y:void 0},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},seriesTitle:{show:!0,offsetY:1,offsetX:1,borderColor:"#000",borderWidth:1,borderRadius:2,style:{background:"rgba(0, 0, 0, 0.6)",color:"#fff",fontSize:"12px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:6,right:6,top:2,bottom:2}}}},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",backgroundColor:void 0,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)})),Object.keys(i.config.annotations).forEach((function(t){var a=i.config.annotations[t];Array.isArray(a)&&(i.config.annotations[t]=a.filter((function(t){return t.id!==e})))})),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:"square"},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},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.dataWasParsed=!1,t.originalSeries=null,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.length0:h.config.markers.size>0)||n||p){m||(y+=" w".concat(v.randomId()));var w=this.getMarkerConfig({cssClass:y,seriesIndex:i,dataPointIndex:b});if(h.config.series[c].data[b]&&(h.config.series[c].data[b].fillColor&&(w.pointFillColor=h.config.series[c].data[b].fillColor),h.config.series[c].data[b].strokeColor&&(w.pointStrokeColor=h.config.series[c].data[b].strokeColor)),void 0!==s&&(w.pSize=s),(d.x[f]<-h.globals.markers.largestSize||d.x[f]>h.globals.gridWidth+h.globals.markers.largestSize||d.y[f]<-h.globals.markers.largestSize||d.y[f]>h.globals.gridHeight+h.globals.markers.largestSize)&&(w.pSize=0),!m)(h.globals.markers.size[i]>0||n||p)&&!u&&(u=g.group({class:n||p?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(h.globals.cuid,")")),(x=g.drawMarker(d.x[f],d.y[f],w)).attr("rel",b),x.attr("j",b),x.attr("index",i),x.node.setAttribute("default-marker-size",w.pSize),new Li(this.ctx).setSelectionFilter(x,i,b),this.addEvents(x),u&&u.add(x)}else void 0===h.globals.pointsArray[i]&&(h.globals.pointsArray[i]=[]),h.globals.pointsArray[i].push([d.x[f],d.y[f]])}return u}},{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("middle"===l&&a===e.globals.gridWidth&&(l="end"),(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}(),Ji=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 $i(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 $i(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,a=Array.isArray(t)&&t.every((function(t){return"number"==typeof t}))&&i.labels.length>0,s=Array.isArray(t)&&t.some((function(t){return t&&"object"===b(t)&&t.data||t&&"object"===b(t)&&t.parsing}));if(a&&s&&console.warn("ApexCharts: Both old format (numeric series + labels) and new format (series objects with data/parsing) detected. Using old format for backward compatibility."),a){e.series=t.slice(),e.seriesNames=i.labels.slice();for(var r=0;r100&&console.warn("ApexCharts: RadialBar value ".concat(e," > 100, consider using percentage values (0-100)")),e})));for(var l=0;l0)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}(),Qi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"svgStringToNode",value:function(t){return(new DOMParser).parseFromString(t,"image/svg+xml").documentElement}},{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(t){var e=this;return new Promise((function(i){var a=e.w,s=t||a.config.chart.toolbar.export.scale||a.config.chart.toolbar.export.width/a.globals.svgWidth;s||(s=1);var r=a.globals.svgWidth*s,n=a.globals.svgHeight*s,o=a.globals.dom.elWrap.cloneNode(!0);o.style.width=r+"px",o.style.height=n+"px";var l=(new XMLSerializer).serializeToString(o),h="\n .apexcharts-tooltip, .apexcharts-toolbar, .apexcharts-xaxistooltip, .apexcharts-yaxistooltip, .apexcharts-xcrosshairs, .apexcharts-ycrosshairs, .apexcharts-zoom-rect, .apexcharts-selection-rect {\n display: none;\n }\n ";a.config.legend.show&&a.globals.dom.elLegendWrap&&a.globals.dom.elLegendWrap.children.length>0&&(h+=Zi);var c='\n \n \n
\n \n ").concat(l,"\n
\n
\n
\n "),d=e.svgStringToNode(c);1!==s&&e.scaleSvgNode(d,s),e.convertImagesToBase64(d).then((function(){c=(new XMLSerializer).serializeToString(d),i(c.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:"svgUrl",value:function(){var t=this;return new Promise((function(e){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,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(s).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 Ji(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 $i(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()),String(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=Math.max(Number(d.config.xaxis.tickAmount)||1,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(-a/2-2,-a/2-2,e.gridWidth+a+4,e.gridHeight+a+4,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(Math.min(-a/2-r-2,-o),-o,e.gridWidth+Math.max(a+n+r+4,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}(),ea=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(100*(s+Number.EPSILON))/100,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;if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var s=a.xTickAmount;a.xAxisScale=this.linearScale(t,e,s,0,void 0===i.config.xaxis.max?i.config.xaxis.stepSize:void 0)}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,a=null===(i=e.series[t])||void 0===i?void 0:i.group;o.indexOf(a)<0&&o.push(a)})),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&&m(null===(A=h[p])||void 0===A?void 0:A[m])&&(null===(C=h[p])||void 0===C?void 0:C[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=Math.round(t.maxX-t.minX);s<30&&(a=s)}}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}(),aa=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}(),sa=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}(),na=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 Ki(this.ctx,e),l=new aa(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}(),oa=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}(),la=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?"#343A3F":"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}(),ua=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}(),pa=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}(),fa=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 da(this),this.dimYAxis=new ga(this),this.dimXAxis=new ua(this),this.dimGrid=new pa(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 aa(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}(),xa=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(Zi);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(){var t=this.w.globals;!1!==this.w.config.chart.injectStyleSheet&&t.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 fa(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 fa(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 $i(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new $i(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}(),ma=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:"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:"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,i,a=t.context,s=t.zoomtype,r=this.w,n=a,o=this.xyRatios,l=this.ctx.toolbar,h=r.globals.zoomEnabled?n.zoomRect.node.getBoundingClientRect():n.selectionRect.node.getBoundingClientRect(),c=n.gridRect.getBoundingClientRect(),d=h.left-c.left-r.globals.barPadForNumericAxis,u=h.right-c.left-r.globals.barPadForNumericAxis,g=h.top-c.top,p=h.bottom-c.top;r.globals.isRangeBar?(e=r.globals.yAxisScale[0].niceMin+d*o.invertedYRatio,i=r.globals.yAxisScale[0].niceMin+u*o.invertedYRatio):(e=r.globals.xAxisScale.niceMin+d*o.xRatio,i=r.globals.xAxisScale.niceMin+u*o.xRatio);var f=[],x=[];if(r.config.yaxis.forEach((function(t,e){var i=r.globals.seriesYAxisMap[e][0],a=r.globals.yAxisScale[e].niceMax-o.yRatio[i]*g,s=r.globals.yAxisScale[e].niceMax-o.yRatio[i]*p;f.push(a),x.push(s)})),n.dragged&&(n.dragX>10||n.dragY>10)&&e!==i)if(r.globals.zoomEnabled){var b=v.clone(r.globals.initialConfig.yaxis),m=v.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(e=Math.floor(e),i=Math.floor(i),e<1&&(e=1,i=r.globals.dataPoints),i-e<2&&(i=e+1)),"xy"!==s&&"x"!==s||(m={min:e,max:i}),"xy"!==s&&"y"!==s||b.forEach((function(t,e){b[e].min=x[e],b[e].max=f[e]})),l){var y=l.getBeforeZoomRange(m,b);y&&(m=y.xaxis?y.xaxis:m,b=y.yaxis?y.yaxis:b)}var w={xaxis:m};r.config.chart.group||(w.yaxis=b),n.ctx.updateHelpers._updateOptions(w,!1,n.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof r.config.chart.events.zoomed&&l.zoomCallback(m,b)}else if(r.globals.selectionEnabled){var k,A=null;k={min:e,max:i},"xy"!==s&&"y"!==s||(A=v.clone(r.config.yaxis)).forEach((function(t,e){A[e].min=x[e],A[e].max=f[e]})),r.globals.selection=n.selection,"function"==typeof r.config.chart.events.selection&&r.config.chart.events.selection(n.ctx,{xaxis:k,yaxis:A})}}},{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;a.panScrolled(n,o)}},{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;if(this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled){var s={xaxis:{min:e,max:i}};a.config.chart.events.scrolled(this.ctx,s),this.ctx.events.fireEvent("scrolled",s)}}}]),a}(ma),ya=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&&r.globals.hasNullValues&&(m=r.globals.seriesXvalues[x],p=(b=this.closestInArray(k,m)).j)}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:"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,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");i=f(i),e&&(i=i.filter((function(e){var i=Number(e.getAttribute("data:realIndex"));return-1===t.w.globals.collapsedSeriesIndices.indexOf(i)}))),i.sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return ai?-1:0}));var a=[];return i.forEach((function(t){a.push(t.querySelector(".apexcharts-marker"))})),a}},{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 ').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 Ji(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]);var l=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r});"string"==typeof l||"number"==typeof l?n.innerHTML=l:(l instanceof Element||"string"==typeof l.nodeName)&&(n.innerHTML="",n.appendChild(l.cloneNode(!0)))}}]),t}(),ka=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(),n=r.height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=r.width),s-=n/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)&&s>0&&s2&&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 $i(this.ctx),l=new Mi(this.ctx);e=o.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var h=i.tooltipUtil.getHoverMarkerSize(e);if(n[e]&&(s=n[e][t][0],r=n[e][t][1]),!isNaN(s)){var c=i.tooltipUtil.getAllMarkers();if(c.length)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;i.config.chart.stacked&&(s=i.globals.barGroups.length);var r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new $i(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}(),Aa=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ka(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}(),Ca=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}(),La=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 ya(this),this.tooltipLabels=new wa(this),this.tooltipPosition=new ka(this),this.marker=new Aa(this),this.intersect=new Ca(this),this.axesTooltip=new Sa(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||"light")),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Ki(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"),i.config.tooltip.fillSeriesColor?o.style.backgroundColor=i.globals.colors[r]:o.style.color=i.globals.colors[r];var l=i.config.markers.shape,h=l;Array.isArray(l)&&(h=l[r]),o.setAttribute("shape",h),n.appendChild(o);var c=document.createElement("div");c.classList.add("apexcharts-tooltip-text"),c.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,c.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),c.appendChild(e)})),n.appendChild(c),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 $i(e).toggleSeriesOnHover(s,s.target.parentNode);r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}),i.fixedTooltip&&i.drawFixedTooltipRect()}}},{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(),M=function(){A.globals.markers.largestSize>0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a)};if(A.config.legend.tooltipHoverFormatter){var P=A.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)){var H=new Mi(this.ctx),O=A.globals.dom.Paper.find(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),C.tooltipUtil.getAllMarkers(!0).length&&!this.barSeriesHeight&&M(),C.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var F=0;F0&&i.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=c*A)),k){g=g+u.height/2-m/2-2}var S=i.globals.series[a][s]<0,L=l;switch(this.barCtx.isReversed&&(L=l+(S?d:-d)),x.position){case"center":p=k?S?L-d/2+y:L+d/2-y:S?L-d/2+u.height/2+y:L+d/2+u.height/2-y;break;case"bottom":p=k?S?L-d+y:L+d-y:S?L-d+u.height+m+y:L+d-u.height/2+m-y;break;case"top":p=k?S?L+y:L-y:S?L-u.height/2-y:L+u.height+y}var M=L;if(i.globals.seriesGroups.forEach((function(t){var i;null===(i=e.barCtx[t.join(",")])||void 0===i||i.prevY.forEach((function(t){M=S?Math.max(t[s],M):Math.min(t[s],M)}))})),this.barCtx.lastActiveBarSerieIndex===r&&b.enabled){var P=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),f.fontSize);n=S?M-P.height/2-y-b.offsetY+18:M+P.height+y+b.offsetY-18;var I=C;o=w+(i.globals.isXNumeric?-c*i.globals.barGroups.length/2:i.globals.barGroups.length*c/2-(i.globals.barGroups.length-1)*c-I)+b.offsetX}return i.config.chart.stacked||(p<0?p=0+m:p+u.height/3>i.globals.gridHeight&&(p=i.globals.gridHeight-m)),{bcx:h,bcy:l,dataLabelsX:g,dataLabelsY:p,totalDataLabelsX:o,totalDataLabelsY:n,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this,i=this.w,a=t.x,s=t.i,r=t.j,n=t.realIndex,o=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,u=t.strokeWidth,g=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,m=i.globals.gridHeight/i.globals.dataPoints,v=this.barCtx.barHelpers.getZeroValueEncounters({i:s,j:r}).zeroEncounters;h=Math.abs(h);var y,w,k=o-(this.barCtx.isRangeBar?0:m)+l/2+c.height/2+b-3;!i.config.chart.stacked&&v>0&&i.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(k-=l*v);var A="start",C=i.globals.series[s][r]<0,S=a;switch(this.barCtx.isReversed&&(S=a+(C?-h:h),A=C?"start":"end"),p.position){case"center":d=C?S+h/2-x:Math.max(c.width/2,S-h/2)+x;break;case"bottom":d=C?S+h-u-x:S-h+u+x;break;case"top":d=C?S-u-x:S-u+x}var L=S;if(i.globals.seriesGroups.forEach((function(t){var i;null===(i=e.barCtx[t.join(",")])||void 0===i||i.prevX.forEach((function(t){L=C?Math.min(t[r],L):Math.max(t[r],L)}))})),this.barCtx.lastActiveBarSerieIndex===n&&f.enabled){var M=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:n,j:r}),g.fontSize);C?(y=L-u-x-f.offsetX,A="end"):y=L+x+f.offsetX+(this.barCtx.isReversed?-(h+u):u),w=k-c.height/2+M.height/2+f.offsetY+u,i.globals.barGroups.length>1&&(w-=i.globals.barGroups.length/2*(l/2))}return i.config.chart.stacked||("start"===g.textAnchor?d-c.width<0?d=C?c.width+u:u:d+c.width>i.globals.gridWidth&&(d=C?i.globals.gridWidth-u:i.globals.gridWidth-c.width-u):"middle"===g.textAnchor?d-c.width/2<0?d=c.width/2+u:d+c.width/2>i.globals.gridWidth&&(d=i.globals.gridWidth-c.width/2-u):"end"===g.textAnchor&&(d<1?d=c.width+u:d+1>i.globals.gridWidth&&(d=i.globals.gridWidth-c.width-u))),{bcx:a,bcy:o,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{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}(),Pa=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&&(s=h.globals.minXDiff/u),(n=s/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(n=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),o=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),h.globals.isXNumeric)e=this.barCtx.getBarXForNumericXAxis({x:e,j:0,realIndex:t,barWidth:n}).x;else e=h.globals.padHorizontal+v.noExponents(s-n*this.barCtx.seriesLen)/2}return h.globals.barHeight=r,h.globals.barWidth=n,{x:e,y:i,yDivision:a,xDivision:s,barHeight:r,barWidth:n,zeroH:o,zeroW:l}}},{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,u=!1;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,u=!0)}));return{color: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}),useRangeColor:u}}},{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]||"bar"===s.config.chart.type&&!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:"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 $i(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}(),Ia=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 $i(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 Pa(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(b);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,E=this.barHelpers.drawBarShadow({color:"string"==typeof X.color&&-1===(null===(R=X.color)||void 0===R?void 0:R.indexOf("url"))?X.color:v.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});if(M.add(E),i.config.chart.dropShadow.enabled)new Li(this.ctx).dropShadow(E,i.config.chart.dropShadow,b)}this.pathArr.push(T);var Y=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:w,barWidth:k});Y&&L.add(Y),p=T.y,g=T.x,P>0&&x.push(g+k/2),f.push(p),this.renderSeries(u(u({realIndex:b,pathFill:X.color},X.useRangeColor?{lineFill:X.color}:{}),{},{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),P=!1;if(!a){var I="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]:I}var T=new Ma(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,visibleSeries:A});L.globals.isBarHorizontal||(T.dataLabelsPos.dataLabelsX+Math.max(b,L.globals.barPadForNumericAxis)<0||T.dataLabelsPos.dataLabelsX-Math.max(b,L.globals.barPadForNumericAxis)>L.globals.gridWidth)&&(P=!0),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 z=s/L.config.chart.animations.animateGradually.delay*(L.config.chart.animations.speed/L.globals.dataPoints)/2.4;if(!P){var X=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:L.config.stroke.lineCap,fill:i,animationDelay:z,initialSpeed:L.config.chart.animations.speed,dataChangeSpeed:L.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(C,"-area ").concat(S),chartType:C});X.attr("clip-path","url(#gridRectBarMask".concat(L.globals.cuid,")"));var R=L.config.forecastDataPoints;R.count>0&&s>=L.globals.dataPoints-R.count&&(X.node.setAttribute("stroke-dasharray",R.dashArray),X.node.setAttribute("stroke-width",R.strokeWidth),X.node.setAttribute("fill-opacity",R.fillOpacity)),void 0!==g&&void 0!==p&&(X.attr("data-range-y1",g),X.attr("data-range-y2",p)),new Li(this.ctx).setSelectionFilter(X,e,s),c.add(X),X.attr({cy:T.dataLabelsPos.bcy,cx:T.dataLabelsPos.bcx,j:s,val:L.globals.series[r][s],barHeight:x,barWidth:b}),null!==T.dataLabels&&y.add(T.dataLabels),T.totalDataLabels&&y.add(T.totalDataLabels),c.add(y),w&&c.add(w),k&&c.add(k)}return 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=this.barHelpers.getZeroValueEncounters({i:d,j:u}),p=g.nonZeroColumns,f=g.zeroEncounters;p>0&&(a=this.seriesLen*a/p),e=o+a*this.visibleI,e-=a*f}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 x=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:x.pathTo,pathFrom:x.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=this.w,a="M 0 0",s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==i.globals.previousPaths[s].paths[e]&&(a=i.globals.previousPaths[s].paths[e].d)}return a}}]),t}(),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){var i=this,a=this.w;this.graphics=new Mi(this.ctx),this.bar=new Ia(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(u(u({realIndex:p,pathFill:R.color},R.useRangeColor?{lineFill:R.color}:{}),{},{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}(Ia),za=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,this.isOHLC=this.candlestickOptions&&"ohlc"===this.candlestickOptions.type;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(b);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)),this.isOHLC){var P=S+s/2,I=r-m.o/b,T=r-m.c/b;L=[l.move(P,v)+l.line(P,y)+l.move(P,I)+l.line(S,I)+l.move(P,T)+l.line(S+s,T)]}else 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)];return 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}(Ia),Xa=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}(),Ra=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 Xa(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}(),Ea=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}(),Ya=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 ea(this.ctx),a=new Mi(this.ctx),s=new Ea(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}(Ya),Fa=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(g);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}(Ia),Da=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=[],d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;return l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),0===n&&(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),{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}(),_a=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Ba(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},Na=function(t){var e=_a(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 Ba(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ga=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 Da(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}),a.globals.hasNullValues){var n=this.markers.plotChartMarkers({pointsPos:{x:[0],y:[a.globals.gridHeight+a.globals.markers.largestSize]},seriesIndex:e,j:0,pSize:.1,alwaysDrawMarker:!0,isVirtualPoint:!0});null!==n&&this.elPointsMain.add(n)}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,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(null===r[h][_+1]?null: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({pointsPos:i,seriesIndex:n,j: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?Na(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({pointsPos:e,seriesIndex:s,j:a+1,pSize:n,alwaysDrawMarker:!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;e1&&u&&u.show){var g=i.config.series[o].name||"";if(g&&d.xMin<1/0&&d.yMin<1/0){var p=u.offsetX,f=u.offsetY,x=u.borderColor,b=u.borderWidth,m=u.borderRadius,y=u.style,w=y.color||i.config.chart.foreColor,k={left:y.padding.left,right:y.padding.right,top:y.padding.top,bottom:y.padding.bottom},A=a.getTextRects(g,y.fontSize,y.fontFamily),C=A.width+k.left+k.right,S=A.height+k.top+k.bottom,L=d.xMin+(p||0),M=d.yMin+(f||0),P=a.drawRect(L,M,C,S,m,y.background,1,b,x),I=a.drawText({x:L+k.left,y:M+k.top+.75*A.height,text:g,fontSize:y.fontSize,fontFamily:y.fontFamily,fontWeight:y.fontWeight,foreColor:w,cssClass:y.cssClass||""});l.add(P),l.add(I)}}l.add(c),r.add(l)})),r}},{key:"getFontSize",value:function(t){var e=this.w;var i=function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;ir-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,e,i,a,(function(){s.animationCompleted(t)}))}}]),t}(),Va=86400,Ua=10/Va,qa=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*Va),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 fa(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),g>31&&(g=f=1),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}(),Za=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":"#343A3F",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.elWrap.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:[]},bar:{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,c,d="column"===(null===(s=t[a])||void 0===s?void 0:s.type)?"bar":(null===(c=t[a])||void 0===c?void 0:c.type)||("column"===o?"bar":o);n[d]?("rangeArea"===d?(n[d].series.push(r.seriesRangeStart[a]),n[d].seriesRangeEnd.push(r.seriesRangeEnd[a])):n[d].series.push(e),n[d].i.push(a),"bar"===d&&(i.globals.columnSeries=n.bar)):["heatmap","treemap","pie","donut","polarArea","radialBar","radar"].includes(d)?l=d:console.warn("You have specified an unrecognized series type (".concat(d,").")),o!==d&&"scatter"!==d&&h++})),h>0&&(l&&console.warn("Chart or series type ".concat(l," cannot appear with other chart or series types.")),n.bar.series.length>0&&s.plotOptions.bar.horizontal&&(h-=n.bar.series.length,n.bar={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 Ga(a,e),d=new za(a,e);a.pie=new Ya(a);var u=new Oa(a);a.rangeBar=new Fa(a,e);var g=new Ha(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.bar.series.length>0)if(s.chart.stacked){var v=new Ta(a,e);p.push(v.draw(n.bar.series,n.bar.i))}else a.bar=new Ia(a,e),p.push(a.bar.draw(n.bar.series,n.bar.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 Ga(a,e,!0);p.push(y.draw(n.scatter.series,"scatter",n.scatter.i))}if(n.bubble.series.length>0){var w=new Ga(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 Ta(a,e).draw(r.series);else a.bar=new Ia(a,e),p=a.bar.draw(r.series);break;case"candlestick":p=new za(a,e).draw(r.series,"candlestick");break;case"boxPlot":p=new za(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 Ra(a,e).draw(r.series);break;case"treemap":p=new ja(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 ba(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 ia(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,s={dataWasParsed:a.dataWasParsed,originalSeries:a.originalSeries};i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e(),s.dataWasParsed&&(a.dataWasParsed=s.dataWasParsed,a.originalSeries=s.originalSeries)}},{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 oa(this.ctx).drawXCrosshairs(),"back"===t.config.yaxis[0].crosshairs.position&&new oa(this.ctx).drawYCrosshairs(),"datetime"===t.config.xaxis.type&&void 0===t.config.xaxis.labels.formatter){this.ctx.timeScale=new qa(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.ctx,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=Array.isArray(i.config.chart.brush.targets)?i.config.chart.brush.targets:[i.config.chart.brush.target];a.forEach((function(i){var a=e.constructor.getChartByID(i);a.w.globals.brushSource=t.ctx,"function"!=typeof a.w.config.chart.events.zoomed&&(a.w.config.chart.events.zoomed=function(){return t.updateSourceChart(a)}),"function"!=typeof a.w.config.chart.events.scrolled&&(a.w.config.chart.events.scrolled=function(){return t.updateSourceChart(a)})})),i.config.chart.events.selection=function(t,i){a.forEach((function(t){e.constructor.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:i.xaxis.min,max:i.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),$a=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=i.w;return r.globals.shouldAnimate=e,r.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),i.ctx.data.resetParsingFlags(),i.ctx.data.parseData(t),a&&(r.globals.initialConfig.series=v.clone(r.config.series),r.globals.initialSeries=v.clone(r.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 Qa{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(Ja(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(Ja(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)}} +/*! + * @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 Ka(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 ts([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 Qa(this)).init(t),this}});let es=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",Ka(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",Ka("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=>ts(t,e))),this.rotationPoint=ts(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 is=t=>function(e=!0,i={}){"object"==typeof e&&(i=e,e=!0);let a=this.remember("_"+t.name);return a||(e.prototype instanceof es?(a=new e(this),e=!0):a=new t(this),this.remember("_"+t.name,a)),a.active(e,i),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 as(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 ss([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:is(es)}),Q([Ge,je,xe],{pointSelect:is(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",Ka("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=>ts(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class rs{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",as(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",as("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=>ss(t,e))),this.rotationPoint=ss(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 ns=t=>function(e=!0,i={}){"object"==typeof e&&(i=e,e=!0);let a=this.remember("_"+t.name);return a||(e.prototype instanceof rs?(a=new e(this),e=!0):a=new t(this),this.remember("_"+t.name,a)),a.active(e,i),this};Q(Gt,{select:ns(rs)}),Q([Ge,je,xe],{pointSelect:ns(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",as("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=>ss(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const os=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY}),ls=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 ls(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(os(t))),a=this.el.array().slice();a[this.index]=[e,i],this.el.dispatch("resize",{box:ls(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(os(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.apexcharts-radar-series .apexcharts-yaxis {\n pointer-events: none;\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}\n\n.apexcharts-disable-transitions * {\n transition: none !important;\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):!1!==t.w.config.chart.injectStyleSheet&&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 cs(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,!v.elementExists(this.el))return s.animationEnded=!0,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(),a.globals.dataPoints>50&&a.globals.dom.elWrap.classList.add("apexcharts-disable-transitions"),{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 ta(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=us.get(e);i&&(i.disconnect(),us.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 ds(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,this.lastUpdateOptions&&JSON.stringify(this.lastUpdateOptions)===JSON.stringify(t)?this:(t.series&&(this.data.resetParsingFlags(),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.data.resetParsingFlags(),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];this.data.resetParsingFlags();var 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.data.resetParsingFlags(),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 ia(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ia(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 Qi(this.ctx).dataURI(t)}},{key:"getSvgString",value:function(t){return new Qi(this.ctx).getSvgString(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Qi(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),n=2;nt.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:"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)}}]),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,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{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=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||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,I=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);I?i=r:(i=o,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,M=0;M=Array.isArray(T)?T[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:M});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&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){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&&I&&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,e){a.indexOf(t.name)>-1&&s.push(e)}));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:"isSeriesNull",value:function(){var t=arguments.length>0&&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&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),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=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");o&&(i=parseFloat(o.getAttribute("y"))),void 0!==e.seriesIndex&&s.globals.barHeight&&(i=i-s.globals.barHeight/2*(s.globals.series.length-1)+s.globals.barHeight*e.seriesIndex)}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),"x1"===t&&"string"==typeof e.x&&e.x.indexOf("px")>-1&&(o=parseFloat(e.x)),"x2"===t&&"string"==typeof e.x2&&e.x2.indexOf("px")>-1&&(n=parseFloat(e.x2)),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(o=o-i.globals.barWidth/2*(i.globals.series.length-1)+i.globals.barWidth*e.seriesIndex),"x1"===t?o:n}},{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=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2("x2",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,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:"")});g.attr({rel:i}),e.appendChild(g.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.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=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){this.w;var a=this.helpers.getX1X2("x1",t),s=this.helpers.getY1Y2("y1",t);if(x.isNumber(a)){var r={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:"")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:"",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,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(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});h.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(s+t.customSVG.offsetY,")")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&o.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&o.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 C={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"}}},L=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,radius:2,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:"transparent",locales:[C],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",dateFormatter:function(t){return new Date(t).toDateString()}},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:{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,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,margin:5,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:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},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",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!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:!0,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:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),P=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 A(this),this.pointsAnnotations=new S(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}),I=L.globals.dom.baseEl.querySelector(b);I&&I.appendChild(P.node);var T=P.bbox();if(s){var M=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,p,d||"transparent",1,g,f,u);I.insertBefore(M.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 L,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}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return"number"!=typeof t&&!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length12?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}(),T=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 I(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;return x.isNumber(t)&&(t=0!==a.globals.yValueDecimal?t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal):a.globals.maxYArr[i]-a.globals.minYArr[i]<5?t.toFixed(1):t.toFixed(0)),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}(),M=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 T(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(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 I(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}},z=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)+"
"},X=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:"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",radius:2,size:8}},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:5,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=M(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return z(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return z(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=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return z(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",size:10,offsetY:2}},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:{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 this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{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:3,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}(),E=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 L,r=new X(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)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),null!==(d=a.plotOptions)&&void 0!==d&&null!==(g=d.bar)&&void 0!==g&&g.isDumbbell&&(a=r.dumbbell(a)),"monotoneCubic"===(null===(u=a)||void 0===u||null===(p=u.stroke)||void 0===p?void 0:p.curve)&&(a.stroke.curve="smooth"),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 X(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 L;(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 L;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 L;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 L;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.chart.background||(t.chart.background="#424242"),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}(),Y=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.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}},{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:[],yAxisSameScaleIndices:[],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,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}}},{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}(),F=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new E(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Y).init(t)}}}]),t}(),R=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}(),H=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)),a&&(f.pSize=a),(l.x[g]<0||l.x[g]>o.globals.gridWidth||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.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.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}(),D=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.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;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new R(this.ctx),g=new H(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.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+f.textRects.width+30)&&(n="");var x=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)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{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?"#fff":i.config.chart.background,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");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?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,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var n=0;n=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}(),W=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 N(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 N(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,s=this.w.config,r=this.w.globals,o=new I(a),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();if(r.isRangeBar="rangeBar"===s.chart.type&&r.isBarHorizontal,r.hasXaxisGroups="category"===s.xaxis.type&&s.xaxis.group.groups.length>0,r.hasXaxisGroups&&(r.groups=s.xaxis.group.groups),r.hasSeriesGroups=null===(e=t[0])||void 0===e?void 0:e.group,r.hasSeriesGroups){var l=[],h=u(new Set(t.map((function(t){return t.group}))));t.forEach((function(t,e){var i=h.indexOf(t.group);l[i]||(l[i]=[]),l[i].push(t.name)})),r.seriesGroups=l}for(var c=function(){for(var t=0;t0&&(this.twoDSeriesX=n,r.seriesX.push(this.twoDSeriesX))),r.labels.push(this.twoDSeriesX);var g=t[d].data.map((function(t){return x.parseNumber(t)}));r.series.push(g)}r.seriesZ.push(this.threeDSeries),void 0!==t[d].name?r.seriesNames.push(t[d].name):r.seriesNames.push("series-"+parseInt(d+1,10)),void 0!==t[d].color?r.seriesColors.push(t[d].color):r.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 X(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;o4&&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 T(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new I(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new I(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)&&(0===h.indexOf("NaN")||0===h.toLowerCase().indexOf("invalid")||h.toLowerCase().indexOf("infinity")>=0||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.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),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?"#fff":a.config.chart.background,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"datetime"===l.config.xaxis.type&&String(t).length>=10},v=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),m=new W(this.ctx),y=new B(this.ctx),w=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 N(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=y.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 Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")},k=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(v)).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+1,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-o-2,2*-a-2,e.gridWidth+a+n+o+4,e.gridHeight+4*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;d2));s++);if(!t.globals.isBarHorizontal||this.isRangeBar){var r,o,n;if(i=this.xaxisLabels.length,this.isRangeBar)i--,a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount),(null===(r=t.globals.yAxisScale)||void 0===r||null===(o=r[0])||void 0===o||null===(n=o.result)||void 0===n?void 0:n.length)>0&&"datetime"!==t.config.xaxis.type&&(i=t.globals.yAxisScale[0].result.length-1);this._drawXYLines({xCount:i,tickAmount:a})}else i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a});return this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{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=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?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)return t=0,e=i,this.linearScale(t,e,i);t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var n=[];o<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||"boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var l=i+1;l<2?l=2:l>2&&(l-=2);var h=o/l,c=Math.floor(x.log10(h)),d=Math.pow(10,c),g=Math.round(h/d);g<1&&(g=1);var u=g*d;r.config.yaxis[a].stepSize&&(u=r.config.yaxis[a].stepSize),r.globals.isBarHorizontal&&r.config.xaxis.stepSize&&"datetime"!==r.config.xaxis.type&&(u=r.config.xaxis.stepSize);var p=u*Math.floor(t/u),f=u*Math.ceil(e/u),b=p;if(s&&o>2){for(;n.push(x.stripNumber(b,7)),!((b+=u)>f););return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}var v=t;(n=[]).push(x.stripNumber(v,7));for(var m=Math.abs(e-t)/i,y=0;y<=i;y++)v+=m,n.push(v);return n[n.length-2]>=e&&n.pop(),{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,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]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&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);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!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=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.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),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.config.series.map((function(t){return t.name}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,e){return i.indexOf(t.name)>-1?e: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 B(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.translateY,u=i.globals.yLabelFormatters[t],p=i.globals.yAxisScale[t].result.slice();p=this.axesUtils.checkForReversedLabels(t,p);var f="";if(i.config.yaxis[t].labels.show)for(var x=function(l){var x=p[l];x=u(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var v="end";i.config.yaxis[t].opposite&&(v="start"),"left"===i.config.yaxis[t].labels.align?v="start":"center"===i.config.yaxis[t].labels.align?v="middle":"right"===i.config.yaxis[t].labels.align&&(v="end");var m=e.axesUtils.getYAxisForeColor(s.colors,t),y=i.config.yaxis[t].labels.offsetY;"heatmap"===i.config.chart.type&&(y-=(i.globals.gridHeight/i.globals.series.length-1)/2);var w=a.drawText({x:b,y:g+c/10+y+1,text:x,textAnchor:v,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(m)?m[l]:m,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});l===c&&(f=w),h.add(w);var k=document.createElementNS(i.globals.SVGNS,"title");if(k.textContent=Array.isArray(x)?x.join(" "):x,w.node.appendChild(k),0!==i.config.yaxis[t].labels.rotate){var A=a.rotateAroundCenter(f.node),S=a.rotateAroundCenter(w.node);w.node.setAttribute("transform","rotate(".concat(i.config.yaxis[t].labels.rotate," ").concat(A.x," ").concat(S.y,")"))}g+=d},b=c;b>=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=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});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,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(C,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 E({}),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=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"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:"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 T(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new I(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 B(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;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{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 B(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.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(e.config.stroke.width/2,this.gridPad.top),this.gridPad.bottom=Math.max(e.config.stroke.width/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+4: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();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,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};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,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-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)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,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("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\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 {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return a.appendChild(r),a}},{key:"getLegendBBox",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 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=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!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:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=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.getLegendBBox(),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.getLegendBBox(),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 N(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new N(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){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*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]})),a.config.chart.zoom.autoScaleYaxis){var f=new _(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!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 m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{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={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new _(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,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:"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 ').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?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display}}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.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 T(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(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&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new N(this.ctx).getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,n)}},{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 N(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 H(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?t[e].setAttribute("r",i):t[e].setAttribute("r",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;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,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 p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.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())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),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.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),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"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");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 N(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 I=S.config.legend.tooltipHoverFormatter,T=Array.from(this.legendLabels);T.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var M=0;M0?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&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=c*A)),k){u=u+g.height/2-v/2-2}var C=this.barCtx.series[s][r]<0,L=l;switch(this.barCtx.isReversed&&(L=l-d+(C?2*d:0),l-=d),x.position){case"center":p=k?C?L-d/2+w:L+d/2-w:C?L-d/2+g.height/2+w:L+d/2+g.height/2-w;break;case"bottom":p=k?C?L-d+w:L+d-w:C?L-d+g.height+v+w:L+d-g.height/2+v-w;break;case"top":p=k?C?L+w:L-w:C?L-g.height/2-w:L+g.height+w}if(this.barCtx.lastActiveBarSerieIndex===o&&b.enabled){var P=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),f.fontSize);e=C?L-P.height/2-w-b.offsetY+18:L+P.height+w+b.offsetY-18,i=u+b.offsetX}return a.config.chart.stacked||(p<0?p=0+v:p+g.height/3>a.globals.gridHeight&&(p=a.globals.gridHeight-v)),{bcx:h,bcy:l,dataLabelsX:u,dataLabelsY:p,totalDataLabelsX:i,totalDataLabelsY:e,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.groupIndex,n=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,g=t.strokeWidth,u=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,v=e.globals.gridHeight/e.globals.dataPoints;h=Math.abs(h);var y,w,k=(n+=-1!==o?o*l:0)-(this.barCtx.isRangeBar?0:v)+l/2+c.height/2+b-3,A="start",S=this.barCtx.series[a][s]<0,C=i;switch(this.barCtx.isReversed&&(C=i+h-(S?2*h:0),i=e.globals.gridWidth-h),p.position){case"center":d=S?C+h/2-x:Math.max(c.width/2,C-h/2)+x;break;case"bottom":d=S?C+h-g-Math.round(c.width/2)-x:C-h+g+Math.round(c.width/2)+x;break;case"top":d=S?C-g+Math.round(c.width/2)-x:C-g-Math.round(c.width/2)+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var L=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);S?(y=C-g+Math.round(L.width/2)-x-f.offsetX-15,A="end"):y=C-g-Math.round(L.width/2)+x+f.offsetX+15,w=k+f.offsetY}return e.config.chart.stacked||(d<0?d=d+c.width+g:d+c.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-c.width-g)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{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 O(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,i=t.x,a=t.y,s=t.val,r=t.barWidth,o=t.barHeight,n=t.realIndex,l=t.textAnchor,h=t.barTotalDataLabelsConfig,c=this.w,d=new m(this.barCtx.ctx);return h.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===n&&(e=d.drawText({x:i-(!c.globals.isBarHorizontal&&c.globals.seriesGroups.length?r/c.globals.seriesGroups.length:0),y:a-(c.globals.isBarHorizontal&&c.globals.seriesGroups.length?o/c.globals.seriesGroups.length:0),foreColor:h.style.color,text:s,textAnchor:l,fontFamily:h.style.fontFamily,fontSize:h.style.fontSize,fontWeight:h.style.fontWeight})),e}}]),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.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]: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){var e=t.w;e.globals.hasSeriesGroups?e.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=[]})):(t.prevY=[],t.prevX=[],t.prevYF=[],t.prevXF=[],t.prevYVal=[],t.prevXVal=[])}},{key:"initializeStackedXYVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.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=[]})):(t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[])}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new R(this.barCtx.ctx),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 l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),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!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[e]: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:"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 N(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=p,x=p+u;s+=.001,r+=.001;var b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);if(d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,r)+g.line(x-o,r)+g.line(x-o,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.yArrj.push(r),w.yArrjF.push(Math.abs(s-r)),w.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{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=u,x=u+p;s+=.001,r+=.001;var b=g.move(s,f),v=g.move(s,f);d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1));var y=g.line(s,x-o);if(b=b+g.line(r,f)+g.line(r,x-o)+y+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(s,f)+y+y+y+y+y+g.line(s,f)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.xArrj.push(r),w.xArrjF.push(Math.abs(s-r)),w.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{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){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),i}},{key:"getGoalValues",value:function(t,i,a,s,r){var n=this,l=this.w,h=[],c=function(e,s){var r;h.push((o(r={},t,"x"===t?n.getXForValue(e,i,!1):n.getYForValue(e,a,!1)),o(r,"attrs",s),r))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][r]&&Array.isArray(l.globals.seriesGoals[s][r])&&l.globals.seriesGoals[s][r].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[s],strokeWidth:"x"===t?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[s])?d[s][0]:d[s]};c(l.globals.seriesRangeStart[s][r],g),c(l.globals.seriesRangeEnd[s][r],e(e({},g),{},{strokeColor:Array.isArray(d[s])?d[s][1]:d[s]}))}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 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){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){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=t.i,i=t.j,a=this.w,s=0,r=0;return a.globals.seriesPercent.forEach((function(t,a){t[i]&&s++,athis.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 k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);var C=s.group({class:"apexcharts-datalabels","data:realIndex":v});a.globals.delayedElements.push({el:C.node}),C.node.classList.add("apexcharts-element-hidden");var L=s.group({class:"apexcharts-bar-goals-markers"}),P=s.group({class:"apexcharts-bar-shadows"});a.globals.delayedElements.push({el:P.node}),P.node.classList.add("apexcharts-element-hidden");for(var I=0;I0){var E=this.barHelpers.drawBarShadow({color:"string"==typeof X&&-1===(null==X?void 0:X.indexOf("url"))?X:x.hexToRgba(a.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:M});E&&P.add(E)}this.pathArr.push(M);var Y=this.barHelpers.drawGoalLine({barXPosition:M.barXPosition,barYPosition:M.barYPosition,goalX:M.goalX,goalY:M.goalY,barHeight:k,barWidth:A});Y&&L.add(Y),p=M.y,u=M.x,I>0&&b.push(u+A/2),f.push(p),this.renderSeries({realIndex:v,pathFill:X,j:I,i:n,pathFrom:M.pathFrom,pathTo:M.pathTo,strokeWidth:T,elSeries:w,x:u,y:p,series:t,barHeight:M.barHeight?M.barHeight:k,barWidth:M.barWidth?M.barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,elBarShadows:P,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}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.groupIndex,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,I=new m(this.ctx);a||(a=this.barOptions.distributed?P.globals.stroke.colors[s]:P.globals.stroke.colors[e]),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,M=I.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")});M.attr("clip-path","url(#gridRectMask".concat(P.globals.cuid,")"));var z=P.config.forecastDataPoints;z.count>0&&s>=P.globals.dataPoints-z.count&&(M.node.setAttribute("stroke-dasharray",z.dashArray),M.node.setAttribute("stroke-width",z.strokeWidth),M.node.setAttribute("fill-opacity",z.fillOpacity)),void 0!==u&&void 0!==p&&(M.attr("data-range-y1",u),M.attr("data-range-y2",p)),new v(this.ctx).setSelectionFilter(M,e,s),c.add(M);var X=new vt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,groupIndex:o,barHeight:x,barWidth:b,barXPosition:y,barYPosition:w,renderedPath:M,visibleSeries:C});return null!==X.dataLabels&&k.add(X.dataLabels),X.totalDataLabels&&k.add(X.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.i,u=i.j,p=i.bc;if(c.globals.isXNumeric){var f=this.getBarXForNumericXAxis({x:a,j:u,realIndex:d,barWidth:o});a=f.x,e=f.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=this.barHelpers.getZeroValueEncounters({i:g,j:u}),b=x.nonZeroColumns,v=x.zeroEncounters;b>0&&(o=this.seriesLen*o/b),e=a+o*this.visibleI,e-=o*v}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][u],n);var m=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:u,i:g,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:m.pathTo,pathFrom:m.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,n,g,u),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.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=-1;a.groupCtx=a,s.globals.seriesGroups.forEach((function(t,e){t.indexOf(s.config.series[r].name)>-1&&(p=e)})),-1!==p&&(a.groupCtx=a[s.globals.seriesGroups[p]]);var f=[],b=[],v=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=v),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var m=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:r+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v);var y=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":v}),w=a.graphics.group({class:"apexcharts-bar-goals-markers"}),k=0,A=0,S=a.initialPositions(n,l,c,d,g,u);l=S.y,k=S.barHeight,d=S.yDivision,u=S.zeroW,n=S.x,A=S.barWidth,c=S.xDivision,g=S.zeroH,s.globals.barHeight=k,s.globals.barWidth=A,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(t){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(t){return 0})));for(var C=0;C1?(i=c.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:h*parseInt(c.config.plotOptions.bar.columnWidth,10)/100,-1===String(c.config.plotOptions.bar.columnWidth).indexOf("%")&&(h=parseInt(c.config.plotOptions.bar.columnWidth,10)),s=c.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?c.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=c.globals.padHorizontal+(i-h)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:null!==(o=c.globals.seriesGroups)&&void 0!==o&&o.length?l/c.globals.seriesGroups.length:l,barWidth:null!==(n=c.globals.seriesGroups)&&void 0!==n&&n.length?h/c.globals.seriesGroups.length:h,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.groupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+(-1!==l?l*a:0),p=i.i,f=i.j,x=0,b=0;b0){var m=r;this.groupCtx.prevXVal[v-1][f]<0?m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]+x-2*(this.isReversed?x:0):this.groupCtx.prevX[v-1][f]:this.groupCtx.prevXVal[v-1][f]>=0&&(m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]:this.groupCtx.prevX[v-1][f]-x+2*(this.isReversed?x:0)),e=m}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 y=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:y.pathTo,pathFrom:y.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f),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.groupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc;if(c.globals.isXNumeric){var p=c.globals.seriesX[d][g];p||(p=0),i=(p-c.globals.minX)/this.xRatio-r/2,c.globals.seriesGroups.length&&(i=(p-c.globals.minX)/this.xRatio-r/2*c.globals.seriesGroups.length)}for(var f,x=i+(-1!==n?n*r:0),b=0,v=0;v0&&!c.globals.isXNumeric||m>0&&c.globals.isXNumeric&&c.globals.seriesX[d-1][g]===c.globals.seriesX[d][g]){var y,w,k,A=Math.min(this.yRatio.length+1,d+1);if(void 0!==this.groupCtx.prevY[m-1]&&this.groupCtx.prevY[m-1].length)for(var S=1;S=0?k-b+2*(this.isReversed?b:0):k;break}if((null===(I=this.groupCtx.prevYVal[m-L])||void 0===I?void 0:I[g])>=0){w=this.series[d][g]>=0?k:k+b-2*(this.isReversed?b:0);break}}void 0===w&&(w=c.globals.gridHeight),f=null!==(y=this.groupCtx.prevYF[0])&&void 0!==y&&y.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,m).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:w}else f=o;a=this.series[d][g]?f-this.series[d][g]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[d][g]/this.yRatio[this.yaxisIndex]:0):f;var T=this.barHelpers.getColumnPaths({barXPosition:x,barWidth:r,y1:f,y2:a,yRatio:this.yRatio[this.yaxisIndex],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:x,x2:r,elSeries:h}),i+=s,{pathTo:T.pathTo,pathFrom:T.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:x,x:c.globals.isXNumeric?i-s:i,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 R(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=o.group({class:"apexcharts-series",seriesName:x.escapeString(r.globals.seriesNames[v]),rel:i+1,"data:realIndex":v});s.ctx.series.addCollapsedClassToSeries(m,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var y,w;s.yRatio.length>1&&(s.yaxisIndex=v);var k=s.barHelpers.initialPositions();p=k.y,y=k.barHeight,h=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,n=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=o.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,x={indexes:{i:i,j:a,realIndex:v},x:u,y:p,strokeWidth:o,elSeries:m};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:h,barHeight:y,zeroW:g})):s.drawVerticalBoxPaths(e(e({},x),{},{xDivision:n,barWidth:w,zeroH:d})),p=c.y,u=c.x,a>0&&b.push(u+w/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:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:s.visibleI,type:r.config.chart.type})}))},C=0;Cb.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 O(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),e.config.yaxis[0].tickAmount,0,!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;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.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.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(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 R(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;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(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 f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,I=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(I.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var T=e.config.chart.dropShadow;s.dropShadow(I,T,f)}if(s.setSelectionFilter(I,0,f),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:f}),this.barLabels.enabled){var M=x.polarToCartesian(t.centerX,t.centerY,t.size,w),z=this.barLabels.formatter(e.globals.seriesNames[f],{seriesIndex:f,w:e}),X=["apexcharts-radialbar-label"];this.barLabels.onClick||X.push("apexcharts-no-click");var E=this.barLabels.useSeriesColors?e.globals.colors[f]:e.config.chart.foreColor;E||(E=e.config.chart.foreColor);var Y=M.x-this.barLabels.margin,F=M.y,H=i.drawText({x:Y,y:F,text:z,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:E,cssClass:X.join(" ")});H.on("click",this.onBarLabelClick),H.attr({rel:f+1}),0!==w&&H.attr({"transform-origin":"".concat(Y," ").concat(F),transform:"rotate(".concat(w," 0 0)")}),b.add(H)}var D=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(D=e.config.chart.animations.speed),e.globals.dataChanged&&(D=e.config.chart.animations.dynamicAnimation.speed),this.animDur=D/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:D,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 R(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),Tt=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"}),n=0;n0&&(this.visibleI=this.visibleI+1);var b=0,v=0;this.yRatio.length>1&&(this.yaxisIndex=p);var y=this.barHelpers.initialPositions();u=y.y,d=y.zeroW,g=y.x,v=y.barWidth,b=y.barHeight,l=y.xDivision,h=y.yDivision,c=y.zeroH;for(var w=s.group({class:"apexcharts-datalabels","data:realIndex":p}),k=s.group({class:"apexcharts-rangebar-goals-markers"}),A=0;A0}));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&&(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=this.yRatio[this.yaxisIndex],d=e.realIndex,g=this.getRangeValue(d,h),u=Math.min(g.start,g.end),p=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?u=o:(u=o-u/c,p=o-p/c);var f=Math.abs(p-u),x=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:u,y2:p,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:d,j:h,w:n});if(n.globals.isXNumeric){var b=this.getBarXForNumericXAxis({x:i,j:h,realIndex:d,barWidth:s});i=b.x,r=b.barXPosition}else i+=a;return{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:p,goalY:this.barHelpers.getGoalValues("y",null,o,l,h),barXPosition:r}}},{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=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),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),Mt=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=t.i,s=t.series,r=t.prevY,o=t.lineYPosition,n=this.w,l=n.config.chart.stacked&&!n.globals.comboCharts||n.config.chart.stacked&&n.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[a])||void 0===e?void 0:e.type));if(void 0!==(null===(i=s[a])||void 0===i?void 0:i[0]))r=(o=l&&a>0?this.lineCtx.prevSeriesY[a-1][0]:this.lineCtx.zeroY)-s[a][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?s[a][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(l&&a>0&&void 0===s[a][0])for(var h=a-1;h>=0;h--)if(null!==s[h][0]&&void 0!==s[h][0]){r=o=this.lineCtx.prevSeriesY[h][0];break}return{prevY:r,lineYPosition:o}}}]),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,e){for(var i="",a=0;a1&&Math.abs(s[o-2]-r[n-2])4?(i+="C".concat(s[0],", ").concat(s[1]),i+=", ".concat(s[2],", ").concat(s[3]),i+=", ".concat(s[4],", ").concat(s[5])):o>2&&(i+="S".concat(s[0],", ").concat(s[1]),i+=", ".concat(s[2],", ").concat(s[3]))}return i},Et=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;n0&&(b=(o.globals.seriesX[u][0]-o.globals.minX)/this.xRatio),x.push(b);var v=b,w=this.zeroY,k=this.zeroY;w=this.lineHelpers.determineFirstPrevY({i:g,series:t,prevY:w,lineYPosition:0}).prevY,"smooth"===o.config.stroke.curve&&null===t[g][0]?p.push(null):p.push(w);"rangeArea"===l&&(k=this.lineHelpers.determineFirstPrevY({i:g,series:s,prevY:k,lineYPosition:0}).prevY,f.push(k));var A={type:l,series:t,realIndex:u,i:g,x:b,y:1,pathsFrom:this._calculatePathsFrom({type:l,series:t,i:g,realIndex:u,prevX:v,prevY:w,prevY2:k}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:x,yArrj:p,y2Arrj:f,seriesRangeEnd:s},S=this._iterateOverDataPoints(e(e({},A),{},{iterations:"rangeArea"===l?t[g].length-1:void 0,isRangeStart:!0}));if("rangeArea"===l){var C=this._calculatePathsFrom({series:s,i:g,realIndex:u,prevX:v,prevY:k}),L=this._iterateOverDataPoints(e(e({},A),{},{series:s,pathsFrom:C,iterations:s[g].length-1,isRangeStart:!1}));S.linePaths[0]=L.linePath+S.linePath,S.pathFromLine=L.pathFromLine+S.pathFromLine}this._handlePaths({type:l,realIndex:u,i:g,paths:S}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),d.push(this.elSeries)}if(void 0!==(null===(r=o.config.series[0])||void 0===r?void 0:r.zIndex)&&d.sort((function(t,e){return Number(t.node.getAttribute("zIndex"))-Number(e.node.getAttribute("zIndex"))})),o.config.chart.stacked)for(var P=d.length;P>0;P--)h.add(d[P-1]);else for(var I=0;I1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]: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 r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,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.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new m(this.ctx);if(null===o[n][0]){for(var p=0;p0){var f=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=f.pathFromLine,s=f.pathFromArea}return{prevX:h,prevY:c,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 R(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=this,a=t.type,s=t.series,r=t.iterations,o=t.realIndex,n=t.i,l=t.x,h=t.y,c=t.pathsFrom,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=t.lineYPosition,f=t.xArrj,b=t.yArrj,v=t.y2Arrj,y=t.isRangeStart,w=t.seriesRangeEnd,k=this.w,A=new m(this.ctx),S=this.yRatio,C=c.prevY,L=c.linePath,P=c.areaPath,I=c.pathFromLine,T=c.pathFromArea,M=x.isNumber(k.globals.minYArr[o])?k.globals.minYArr[o]:k.globals.minY;r||(r=k.globals.dataPoints>1?k.globals.dataPoints-1:k.globals.dataPoints);for(var z=function(t,e){return e-t/S[i.yaxisIndex]+2*(i.isReversed?t/S[i.yaxisIndex]:0)},X=h,E=k.config.chart.stacked&&!k.globals.comboCharts||k.config.chart.stacked&&k.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)),Y=0;Y0&&k.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(n-1)][Y+1]}else p=this.zeroY;else p=this.zeroY;F?h=z(M,p):(h=z(s[n][Y+1],p),"rangeArea"===a&&(X=z(w[n][Y+1],p))),f.push(l),F&&"smooth"===k.config.stroke.curve?b.push(null):b.push(h),v.push(X);var H=this.lineHelpers.calculatePoints({series:s,x:l,y:h,realIndex:o,i:n,j:Y,prevY:C}),D=this._createPaths({type:a,series:s,i:n,realIndex:o,j:Y,x:l,y:h,y2:X,xArrj:f,yArrj:b,y2Arrj:v,linePath:L,areaPath:P,linePaths:d,areaPaths:g,seriesIndex:u,isRangeStart:y});g=D.areaPaths,d=D.linePaths,P=D.areaPath,L=D.linePath,!this.appendPathFrom||"smooth"===k.config.stroke.curve&&"rangeArea"===a||(I+=A.line(l,this.zeroY),T+=A.line(l,this.zeroY)),this.handleNullDataPoints(s,H,n,Y,o),this._handleMarkersAndLabels({type:a,pointsPos:H,i:n,j:Y,realIndex:o,isRangeStart:y})}return{yArrj:b,xArrj:f,pathFromArea:T,areaPaths:g,pathFromLine:I,linePaths:d,linePath:L,areaPath:P}}},{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 O(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,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,g=t.linePath,u=t.areaPath,p=t.linePaths,f=t.areaPaths,x=t.seriesIndex,b=t.isRangeStart,v=this.w,y=new m(this.ctx),w=v.config.stroke.curve,k=this.areaBottomY;if(Array.isArray(v.config.stroke.curve)&&(w=Array.isArray(x)?v.config.stroke.curve[x[a]]:v.config.stroke.curve[a]),"rangeArea"===e&&(v.globals.hasNullValues||v.config.forecastDataPoints.count>0)&&"smooth"===w&&(w="straight"),"smooth"===w){var A="rangeArea"===e?l.length===v.globals.dataPoints:r===i[a].length-2,S=l.map((function(t,e){return[l[e],h[e]]})).filter((function(t){return null!==t[1]}));if(A&&S.length>1){var C=Et(S);if(g+=Xt(C,v.globals.gridWidth),null===i[a][0]?u=g:u+=Xt(C,v.globals.gridWidth),"rangeArea"===e&&b){g+=y.line(l[l.length-1],d[d.length-1]);var L=l.slice().reverse(),P=d.slice().reverse(),I=L.map((function(t,e){return[L[e],P[e]]})),T=Et(I);u=g+=Xt(T,v.globals.gridWidth)}else u+=y.line(S[S.length-1][0],k)+y.line(S[0][0],k)+y.move(S[0][0],S[0][1])+"z";p.push(g),f.push(u)}}else{if(null===i[a][r+1]){g+=y.move(o,n);var M=v.globals.isXNumeric?(v.globals.seriesX[s][r]-v.globals.minX)/this.xRatio:o-this.xDivision;u=u+y.line(M,k)+y.move(o,n)+"z"}null===i[a][r]&&(g+=y.move(o,n),u+=y.move(o,k)),"stepline"===w?(g=g+y.line(o,null,"H")+y.line(null,n,"V"),u=u+y.line(o,null,"H")+y.line(null,n,"V")):"straight"===w&&(g+=y.line(o,n),u+=y.line(o,n)),r===i[a].length-2&&(u=u+y.line(o,k)+y.move(o,n)+"z","rangeArea"===e&&b?g=g+y.line(o,c)+y.move(o,c)+"z":(p.push(g),f.push(u)))}return{linePaths:p,areaPaths:f,linePath:g,areaPath:u}}},{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.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!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,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=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 I(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(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 I(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)+1);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 I(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}(),Wt=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?e.chart.background:"rgba(0, 0, 0, 0.8)",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:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,p){var f=0;void 0!==t[p].type?("column"===t[p].type||"bar"===t[p].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(p),f++,i.globals.columnSeries=h.series):"area"===t[p].type?(o.series.push(e),o.i.push(p),f++):"line"===t[p].type?(r.series.push(e),r.i.push(p),f++):"scatter"===t[p].type?(n.series.push(e),n.i.push(p)):"bubble"===t[p].type?(l.series.push(e),l.i.push(p),f++):"candlestick"===t[p].type?(c.series.push(e),c.i.push(p),f++):"boxPlot"===t[p].type?(d.series.push(e),d.i.push(p),f++):"rangeBar"===t[p].type?(g.series.push(e),g.i.push(p),f++):"rangeArea"===t[p].type?(u.series.push(s.seriesRangeStart[p]),u.seriesRangeEnd.push(s.seriesRangeEnd[p]),u.i.push(p),f++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"),f>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(p))}));var p=new Ft(this.ctx,e),f=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var x=new It(this.ctx);this.ctx.rangeBar=new Tt(this.ctx,e);var b=new Pt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(p.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new wt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(p.draw(u.series,"rangeArea",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(p.draw(r.series,"line",r.i)),c.series.length>0&&v.push(f.draw(c.series,"candlestick",c.i)),d.series.length>0&&v.push(f.draw(d.series,"boxPlot",d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new Ft(this.ctx,e,!0);v.push(y.draw(n.series,"scatter",n.i))}if(l.series.length>0){var w=new Ft(this.ctx,e,!0);v.push(w.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":v=p.draw(s.series,"line");break;case"area":v=p.draw(s.series,"area");break;case"bar":if(a.chart.stacked)v=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case"candlestick":v=new kt(this.ctx,e).draw(s.series,"candlestick");break;case"boxPlot":v=new kt(this.ctx,e).draw(s.series,a.chart.type);break;case"rangeBar":v=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":v=p.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":v=new St(this.ctx,e).draw(s.series);break;case"treemap":v=new Dt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":v=this.ctx.pie.draw(s.series);break;case"radialBar":v=x.draw(s.series);break;case"radar":v=b.draw(s.series);break;default:v=p.draw(s.series)}return v}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;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=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.getLegendBBox().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 Y,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 Nt(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,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=Array.isArray(i.config.chart.brush.targets)||[i.config.chart.brush.target];a.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)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new _(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Bt=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 E(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 X(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.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("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), +/*! svg.filter.js - v2.0.2 - 2016-02-24 + * https://github.com/wout/svg.filter.js + * Copyright (c) 2016 Wout Fierens; Licensed MIT */ +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(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&&(I*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(M).scale(1/I,1/T).rotate(-M),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 Gt=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 Wt(this.ctx.el,this.ctx),this.ctx.config=new E({}),this.ctx.data=new W(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 L,this.ctx.responsive=new K(this.ctx),this.ctx.series=new N(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new T(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 Bt(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Vt=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}(),jt=new WeakMap;var _t=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new F(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 Gt(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;if("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),jt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");if(r||!n){var l;t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,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\n.legend-mouseover-inactive {\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,.apexcharts-tooltip-text-y-value,.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,.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 {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.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,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.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,.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,.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,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.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,.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,.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,.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,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.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,.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,.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,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.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,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.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,.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,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.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,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.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,.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 {\n fill: #f3f4f5\n}\n\n.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 {\n fill: #008ffb\n}\n\n.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 {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.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,.apexcharts-datalabel.apexcharts-element-hidden,.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.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.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,.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,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.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,.resize-triggers,.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&&t.css.setAttribute("nonce",h),r?s.prepend(t.css):o.head.appendChild(t.css)}}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 Gt(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new X(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);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)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new H(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 O(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 P(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=jt.get(t))&&(e.disconnect(),jt.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 Vt(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),o=2;o + + + + +
+ + +
+ + +
+ + +
+
+

+ + Portfolio +

+

+ Portfolio Analytics Dashboard +

+
+ Comprehensive portfolio insights and performance metrics +
+
+ +
+
+ + + Projects + + + + Total Budget + + + + Team Members + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+ + +
+ +
+
+

Financial Overview

+ + +
+
+
+ +
+
+
+ +
+
+ + + + + On Track +
+
+
+
+ +
+
Budget Status
+
+ + + variance + + No variance +
+
+
+ + +
+
+
+ +
+
+ Profit + Loss +
+
+
+
+ +
+
Net Profit/Loss
+
+ Profit achieved + Loss incurred +
+
+
+ + +
+
+
+ +
+
+ Total +
+
+
+
+ +
+
Total Client Budget
+
+ actual spend +
+
+
+ + +
+
+
+ +
+
+ + % + + 0% +
+
+
+
+ + % + + 0% +
+
Budget Utilization
+
+ of + +
+
+
+
+
+
+ + +
+
+

Performance Metrics

+ + +
+
+
+ +
+
+
+ +
+
+ Excellent + Good + Needs improvement +
+
+
+
+ % +
+
Overall Efficiency
+
+ Excellent performance + Good performance + Needs improvement +
+
+
+ + +
+
+
+ +
+
+ % +
+
+
+
+ % +
+
On-Time Completion
+
+ Excellent timing + Good timing + Needs attention +
+
+
+ + +
+
+
+ +
+
+ + + % +
+
+
+
+ + + % +
+
Time Variance
+
+ Ahead of schedule + Minor delay + Significant delay +
+
+
+ + +
+
+
+ +
+
+ +
+
+
+
+ +
+
Active Projects
+
+ of total +
+
+
+
+
+
+
+ + +
+ +
+
+
Budget Comparison
+ + Total: + +
+
+
+ +
+
+
ROI Comparison
+
+ + Planned vs Actual + +
+
+
+
+ + +
+
+
Cost Breakdown
+
+ + Distribution across categories + +
+
+
+
+ +
+
+
Performance Gauge
+
+ + Overall efficiency + +
+
+
+
+ +
+
+
Project Health
+
+ + Health scores + +
+
+
+
+ + +
+
+
Resource Utilization
+
+ + Top performers + +
+
+
+
+ + +
+
+
Budget Variance
+
+ + Project-wise variance + +
+
+
+
+ +
+
+
Projects Budget
+
+ + projects + +
+
+
+
+
+ + +
+
+
Employee Performance Details
+
Based on timesheet data and task estimates
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
EmployeeDepartmentEstimated HoursActual HoursTime VarianceOn-Time RateEfficiencyStatus
+ + + + + + + + + h + + + + h + + + + + + % + + +
+
+ + % + +
+
+
+ + % + + + + + +
+
+
+ + +
+
+
+
+
+
+
+
Loading Portfolio Dashboard...
+
+
+ + +
+
+ +

No Portfolio Data Available

+

This dashboard widget only works when viewing a Portfolio record.

+
+
+ + +
+ +
+
+ + \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/static/src/xml/project_dashboard.xml b/addons_extensions/project_dashboards_management/static/src/xml/project_dashboard.xml new file mode 100644 index 000000000..15cf5d792 --- /dev/null +++ b/addons_extensions/project_dashboards_management/static/src/xml/project_dashboard.xml @@ -0,0 +1,345 @@ + + + + + +
+ + +
+ + +
+ +
+
+

+ + +

+

+ Analytics Dashboard +

+
+ Real-time project insights and performance metrics +
+
+ +
+ +
+ + + + + + +
+
+
+ + +
+ +
+
+
+ +
+
+ + % + + 0% +
+
+
+
+ h +
+
Actual Hours
+
+ of h estimated +
+
+
+ + +
+
+
+ +
+
+ + % + + 0% +
+
+
+
+ ₹ +
+
Budget Used
+
+ + of ₹ total + + No budget set +
+
+
+ + +
+
+
+ +
+
+ +
+
+
+
+ % +
+
Tasks Completed
+
+ of +
+
+
+ + +
+
+
+ +
+
+ +
+
+
+
+ +
+
Overdue Tasks
+
+ Needs attention + All tasks on track +
+
+
+
+ + +
+ +
+
+
Budget Overview
+ + Total: ₹ + +
+ + +
+
+
+
+
+ + +
+
+ + +
+
+
Employee Performance
+
+ + employees + +
+
+
+
+ + +
+
+
Overall Progress
+
+ + / tasks + +
+
+
+
+ +
+
+
Time Variance
+
+ + Estimated vs Actual + +
+
+
+
+ + +
+
+
Stage Distribution
+
+ + Across all stages + +
+
+
+
+
+ + +
+
+
Employee Performance Details
+
Based on timesheet data and task estimates
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
EmployeeEstimated HoursActual HoursTime VarianceOn-Time RateEfficiencyTasks
+ + + + + h + + + + h + + + + + + % + + +
+
+ + % + +
+
+
+ + % + + + + + +
+
+
+ + +
+
+
+
+
+
+
+
Loading Dashboard Data...
+
+
+ + +
+
+ +

No Project Data Available

+

This dashboard widget only works when viewing a Project record.

+
+
+ + +
+ +
+
+
+
\ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/views/project_dashboard_actions.xml b/addons_extensions/project_dashboards_management/views/project_dashboard_actions.xml new file mode 100644 index 000000000..b045561f4 --- /dev/null +++ b/addons_extensions/project_dashboards_management/views/project_dashboard_actions.xml @@ -0,0 +1,19 @@ + + + + + + Project Dashboard + project_dashboard + fullscreen + + + + + + + \ No newline at end of file diff --git a/addons_extensions/project_dashboards_management/views/project_project_views.xml b/addons_extensions/project_dashboards_management/views/project_project_views.xml new file mode 100644 index 000000000..18967d0c5 --- /dev/null +++ b/addons_extensions/project_dashboards_management/views/project_project_views.xml @@ -0,0 +1,34 @@ + + + + project.project.form.dashboard + project.project + + + + + + + + + + + + + + + project.portfolio.form.dashboard + project.portfolio + + + + + + + + + + + + + diff --git a/addons_extensions/project_task_timesheet_extended/__manifest__.py b/addons_extensions/project_task_timesheet_extended/__manifest__.py index dbefd4e29..2b88f05a3 100644 --- a/addons_extensions/project_task_timesheet_extended/__manifest__.py +++ b/addons_extensions/project_task_timesheet_extended/__manifest__.py @@ -38,14 +38,18 @@ Key Features: 'wizards/internal_team_members_wizard.xml', 'wizards/project_stage_update_wizard.xml', 'wizards/task_reject_reason_wizard.xml', + 'wizards/project_cancel_hold_wizard.xml', 'view/teams.xml', + 'view/project_attachments.xml', 'view/project_roles_master.xml', 'view/project_stages.xml', 'view/task_stages.xml', 'view/deployment_log.xml', 'view/maintenance_support.xml', 'view/project_closer.xml', + 'view/project_actual_costings.xml', 'view/project.xml', + 'view/project_portfolio.xml', 'view/project_task.xml', 'view/timesheets.xml', 'view/pro_task_gantt.xml', diff --git a/addons_extensions/project_task_timesheet_extended/data/data.xml b/addons_extensions/project_task_timesheet_extended/data/data.xml index 8a8e9815e..251b3131b 100644 --- a/addons_extensions/project_task_timesheet_extended/data/data.xml +++ b/addons_extensions/project_task_timesheet_extended/data/data.xml @@ -24,6 +24,18 @@ + + Show/Hide Budget Summary + + + action + code + + if records: + action = records.action_show_budget_summary() + + + Show/Hide Chatter @@ -48,6 +60,32 @@ + + Cancel Project + + + action + code + + if records: + action = records.action_cancel_project() + + + + + Hold/Un Hold + + + action + code + + if records: + action = records.action_hold_unhold() + + + + + diff --git a/addons_extensions/project_task_timesheet_extended/models/__init__.py b/addons_extensions/project_task_timesheet_extended/models/__init__.py index 5aa20df30..c830dd9e5 100644 --- a/addons_extensions/project_task_timesheet_extended/models/__init__.py +++ b/addons_extensions/project_task_timesheet_extended/models/__init__.py @@ -1,5 +1,6 @@ from . import teams from . import project_roles_master +from . import project_attachments from . import project_sprint from . import task_documents from . import project_architecture_design @@ -13,6 +14,9 @@ from . import deployment_log from . import maintenance_support from . import project_closer from . import project +from . import project_actual_costing +from . import project_portfolio +from . import project_portfolio_dashboard from . import project_task from . import timesheets # from . import project_task_gantt diff --git a/addons_extensions/project_task_timesheet_extended/models/deployment_log.py b/addons_extensions/project_task_timesheet_extended/models/deployment_log.py index e666fbe65..835370a3e 100644 --- a/addons_extensions/project_task_timesheet_extended/models/deployment_log.py +++ b/addons_extensions/project_task_timesheet_extended/models/deployment_log.py @@ -25,6 +25,8 @@ class DeploymentLog(models.Model): deployment_notes = fields.Text(string="Notes") deployment_files_ids = fields.Many2many( - 'ir.attachment', - string="Deployment Files" + 'project.attachments', + string="Deployment Files", + domain=[], + attachment=True ) diff --git a/addons_extensions/project_task_timesheet_extended/models/maintenance_support.py b/addons_extensions/project_task_timesheet_extended/models/maintenance_support.py index 12d7d8846..d8e04c7dd 100644 --- a/addons_extensions/project_task_timesheet_extended/models/maintenance_support.py +++ b/addons_extensions/project_task_timesheet_extended/models/maintenance_support.py @@ -35,9 +35,10 @@ class MaintenanceSupport(models.Model): # Attachments maintenance_file_ids = fields.Many2many( - 'ir.attachment', - 'maintenance_support_attachment_rel', + 'project.attachments', + 'maintenance_support_project_attachment_rel', 'support_id', - 'attachment_id', - string="Files" + 'project_attachment_id', + string="Files", + attachment=True ) diff --git a/addons_extensions/project_task_timesheet_extended/models/project.py b/addons_extensions/project_task_timesheet_extended/models/project.py index 992318f9b..f9661eb5d 100644 --- a/addons_extensions/project_task_timesheet_extended/models/project.py +++ b/addons_extensions/project_task_timesheet_extended/models/project.py @@ -56,6 +56,58 @@ class ProjectProject(models.Model): show_approval_button = fields.Boolean(compute="_compute_access_check") show_refuse_button = fields.Boolean(compute="_compute_access_check") show_back_button = fields.Boolean(compute="_compute_access_check") + + show_approval_button_filter = fields.Boolean( + string="Needs Approval", + compute="_compute_show_approval_button_filter", + search="_search_show_approval_button_filter" + ) + + show_submission_button_filter = fields.Boolean( + string="Needs To Submit", + compute="_compute_show_submission_button_filter", + search="_search_show_submission_button_filter" + ) + + def _compute_show_submission_button_filter(self): + for record in self: + record.show_submission_button_filter = record.show_submission_button + + def _search_show_submission_button_filter(self, operator, value): + if operator not in ('=', '!=') or not isinstance(value, bool): + return [] + + all_records = self.sudo().search([]) + matching_ids = [] + + for record in all_records: + record._compute_access_check() + if (record.show_submission_button == value and record.assign_approval_flow and record.begin_approval_processing) if operator == '=' else (record.show_submission_button != value): + matching_ids.append(record.id) + + return [('id', 'in', matching_ids)] + + def _compute_show_approval_button_filter(self): + """Simply copy the value for display purposes""" + for record in self: + record.show_approval_button_filter = record.show_approval_button + + def _search_show_approval_button_filter(self, operator, value): + """Search implementation""" + # Same logic as above + if operator not in ('=', '!=') or not isinstance(value, bool): + return [] + + all_records = self.sudo().search([]) + matching_ids = [] + + for record in all_records: + record._compute_access_check() + if (record.show_approval_button == value and record.assign_approval_flow and record.begin_approval_processing) if operator == '=' else (record.show_approval_button != value): + matching_ids.append(record.id) + + return [('id', 'in', matching_ids)] + project_activity_log = fields.Html(string="Project Activity Log") project_scope = fields.Html(string="Scope", default=lambda self: """

Scope Description



@@ -72,8 +124,8 @@ class ProjectProject(models.Model): showable_stage_ids = fields.Many2many('project.project.stage',compute='_compute_project_project_stages') # fields: - estimated_amount = fields.Float(string="Estimated Amount") - total_budget_amount = fields.Float(string="Total Budget Amount", compute="_compute_total_budget", store=True) + estimated_amount = fields.Float(string="Estimated planned Amount") + total_planned_budget_amount = fields.Float(string="Total Estimated planned Budget Amount", compute="_compute_total_budget", store=True) # Manpower resource_cost_ids = fields.One2many( @@ -96,6 +148,24 @@ class ProjectProject(models.Model): string="Equipment Costs" ) + can_edit_stage_in_approval = fields.Boolean(default=False) + initial_estimated_resource_cost = fields.Float(string="Estimated Resource Cost", compute='_estimated_cost_planned') + initial_estimated_material_cost = fields.Float(string="Estimated Material Cost",compute='_estimated_cost_planned') + initial_estimated_equiipment_cost = fields.Float(string="Estimated Asset Cost",compute='_estimated_cost_planned') + + @api.depends('resource_cost_ids.total_cost','material_cost_ids.total_cost','equipment_cost_ids.total_cost') + def _estimated_cost_planned(self): + for project in self: + project.initial_estimated_resource_cost = sum( + project.resource_cost_ids.mapped('total_cost') + ) + project.initial_estimated_material_cost = sum( + project.material_cost_ids.mapped('total_cost') + ) + project.initial_estimated_equiipment_cost = sum( + project.equipment_cost_ids.mapped('total_cost') + ) + architecture_design_ids = fields.One2many( "project.architecture.design", "project_id", @@ -165,6 +235,49 @@ class ProjectProject(models.Model): lessons_learned = fields.Text(string="Lessons Learned") challenges_faced = fields.Text(string="Challenges Faced") future_recommendations = fields.Text(string="Future Recommendations") + + project_state = fields.Selection([ + ('active', 'Active'), + ('hold', 'On Hold'), + ('cancel', 'Cancelled'), + ], default='active', tracking=True) + + cancel_reason = fields.Text(string="Cancel Reason", tracking=True) + hold_reason = fields.Text(string="Hold Reason", tracking=True) + privacy_visibility = fields.Selection(default="followers") + + def action_hold_unhold(self): + for project in self: + if project.project_state == 'hold': + project.write({'project_state': 'active'}) + else: + return { + 'type': 'ir.actions.act_window', + 'name': 'Hold Project', + 'res_model': 'project.cancel.hold.wizard', + 'view_mode': 'form', + 'target': 'new', + 'context': { + 'default_project_id': project.id, + 'default_action_type': 'hold', + } + } + + def action_cancel_project(self): + for project in self: + if project.project_state == 'active': + return { + 'type': 'ir.actions.act_window', + 'name': 'Cancel Project', + 'res_model': 'project.cancel.hold.wizard', + 'view_mode': 'form', + 'target': 'new', + 'context': { + 'default_project_id': project.id, + 'default_action_type': 'cancel', + } + } + @api.depends('require_sprint','project_stages','assign_approval_flow') def _compute_project_project_stages(self): for rec in self: @@ -186,7 +299,7 @@ class ProjectProject(models.Model): @api.depends("resource_cost_ids.total_cost", "material_cost_ids.total_cost", "equipment_cost_ids.total_cost") def _compute_total_budget(self): for project in self: - project.total_budget_amount = ( + project.total_planned_budget_amount = ( sum(project.resource_cost_ids.mapped("total_cost")) + sum(project.material_cost_ids.mapped("total_cost")) + sum(project.equipment_cost_ids.mapped("total_cost")) @@ -415,6 +528,7 @@ class ProjectProject(models.Model): def submit_project_for_approval(self): """Submit project for current stage approval""" for project in self: + project.sudo().can_edit_stage_in_approval = True project.sudo().approval_status = "submitted" current_stage = project.sudo().stage_id current_approval_timeline = project.sudo().project_stages.filtered( @@ -450,6 +564,8 @@ class ProjectProject(models.Model): project.sudo()._post_to_project_channel(channel_message) # Send notification + + project.sudo().can_edit_stage_in_approval = False if responsible_user: project.sudo().message_post( body=activity_log, @@ -460,7 +576,9 @@ class ProjectProject(models.Model): def project_proceed_further(self): """Advance project to next stage after approval""" - for project in self: + for project in self.sudo(): + + project.can_edit_stage_in_approval = True current_stage = project.stage_id next_stage = self.env["project.project.stage"].search([ ('sequence', '>', project.stage_id.sequence), @@ -529,10 +647,12 @@ class ProjectProject(models.Model): _("Project %s completed and fully approved") % project.name ) project.message_post(body=activity_log) + project.can_edit_stage_in_approval = False def reject_and_return(self, reason=None): """Reject project at current stage with optional reason""" - for project in self: + for project in self.sudo(): + project.can_edit_stage_in_approval = True reason = reason or "" current_stage = project.stage_id project.approval_status = "reject" @@ -577,9 +697,13 @@ class ProjectProject(models.Model): subtype_xmlid='mail.mt_comment' ) + project.can_edit_stage_in_approval = False + def project_back_button(self): """Revert project to previous stage""" - for project in self: + for project in self.sudo(): + + project.can_edit_stage_in_approval = True prev_stage = self.env["project.project.stage"].search([ ('sequence', '<', project.stage_id.sequence), ('id', 'in', project.showable_stage_ids.ids) @@ -608,6 +732,8 @@ class ProjectProject(models.Model): project.stage_id = prev_stage project.message_post(body=activity_log) + project.can_edit_stage_in_approval = False + def action_open_reject_wizard(self): """Open rejection wizard for projects""" self.ensure_one() @@ -761,6 +887,18 @@ class ProjectProject(models.Model): if project.discuss_channel_id: project._add_project_members_to_channel() + if any(field in vals for field in ['stage_id']): + for project in self: + if project.assign_approval_flow: + if not project.can_edit_stage_in_approval: + raise UserError(_( + "This project uses Approval Flow.\n" + "Stage cannot be changed from Kanban view.\n" + "Please use the action buttons to move through stages." + )) + + + return result @@ -812,7 +950,7 @@ class ProjectProject(models.Model): members are users who can have an access to the tasks related to this project.""" ) - user_id = fields.Many2one('res.users', string='Project Manager', default=lambda self: self.env.user, tracking=True, + user_id = fields.Many2one('res.users', string='Project Manager', default=False, tracking=True, domain=lambda self: [('id','in',self.env.ref('project_task_timesheet_extended.role_project_manager').user_ids.ids),('groups_id', 'in', [self.env.ref('project.group_project_manager').id,self.env.ref('project_task_timesheet_extended.group_project_supervisor').id]),('share','=',False)],) type_ids = fields.Many2many(default=lambda self: self._default_type_ids()) @@ -822,6 +960,8 @@ class ProjectProject(models.Model): task_estimated_hours = fields.Float(string="Task Estimated Hours", compute="_compute_task_estimated_hours", store=True) actual_hours = fields.Float(string="Actual Hours", compute="_compute_actual_hours", store=True) + + @api.depends('task_ids.estimated_hours') def _compute_task_estimated_hours(self): for project in self: diff --git a/addons_extensions/project_task_timesheet_extended/models/project_actual_costing.py b/addons_extensions/project_task_timesheet_extended/models/project_actual_costing.py new file mode 100644 index 000000000..f7d922747 --- /dev/null +++ b/addons_extensions/project_task_timesheet_extended/models/project_actual_costing.py @@ -0,0 +1,702 @@ +from odoo import api, fields, models, _ +from odoo.addons.test_convert.tests.test_env import record +from odoo.exceptions import UserError, ValidationError +from markupsafe import Markup +from datetime import datetime, timedelta +import pytz + + +class ProjectProject(models.Model): + _inherit = 'project.project' + + # Financial tracking fields + enable_budget_summary = fields.Boolean(default=False) + project_cost = fields.Float( + string="Project Cost (Client)", + help="Total cost quoted to the client for this project" + ) + actual_cost = fields.Float( + string="Actual Cost", + compute="_compute_actual_cost", + store=True, + help="Total actual cost incurred for the project" + ) + profit = fields.Float( + string="Profit", + compute="_compute_profit_loss", + store=True, + help="Project profit (Project Cost - Actual Cost)" + ) + loss = fields.Float( + string="Loss", + compute="_compute_profit_loss", + store=True, + help="Project loss (Actual Cost - Project Cost)" + ) + difference = fields.Float( + string="Difference", + compute="_compute_profit_loss", + store=True, + help="Difference between project cost and actual cost" + ) + resource_actual_cost_ids = fields.One2many( + 'project.resource.actual.cost', + 'project_id', + string="Resource Actual Costs" + ) + + # External costs field + external_cost_ids = fields.One2many( + 'project.external.cost', + 'project_id', + string="External Costs" + ) + total_external_costs = fields.Float( + string="Actual External Costs", + compute="_compute_total_external_costs", + store=True + ) + + total_resource_actual_costs = fields.Float( + string="Manpower Cost", + compute="_compute_total_manpower_costs", + store=True + ) + estimated_external_cost = fields.Monetary( + string="Estimated External Cost", + compute="_compute_estimated_external_cost", + currency_field="currency_id", + store=True + ) + profit_percentage = fields.Float( + string="Profit %", + compute="_compute_profit_percentage", + help="Profit as a percentage of the project cost" + ) + + # Loss Percentage + loss_percentage = fields.Float( + string="Loss %", + compute="_compute_loss_percentage", + help="Loss as a percentage of the project cost" + ) + + def action_show_budget_summary(self): + for project in self: + project.enable_budget_summary = not project.enable_budget_summary + + @api.depends('profit', 'project_cost') + def _compute_profit_percentage(self): + for project in self: + if project.project_cost: + project.profit_percentage = (project.profit / project.project_cost) * 100 + else: + project.profit_percentage = 0.0 + + @api.depends('loss', 'project_cost') + def _compute_loss_percentage(self): + for project in self: + if project.project_cost: + project.loss_percentage = (project.loss / project.project_cost) * 100 + else: + project.loss_percentage = 0.0 + + @api.depends( + 'initial_estimated_material_cost', + 'initial_estimated_equiipment_cost' + ) + def _compute_estimated_external_cost(self): + for project in self: + project.estimated_external_cost = ( + project.initial_estimated_material_cost + + project.initial_estimated_equiipment_cost + ) + + @api.depends('resource_actual_cost_ids.total_cost') + def _compute_total_manpower_costs(self): + for project in self: + project.total_resource_actual_costs = sum(project.resource_actual_cost_ids.mapped('total_cost')) + + @api.depends('project_cost', 'actual_cost') + def _compute_profit_loss(self): + for project in self: + project.difference = project.project_cost - project.actual_cost + if project.difference >= 0: + project.profit = project.difference + project.loss = 0.0 + else: + project.profit = 0.0 + project.loss = -project.difference + + @api.depends('external_cost_ids.total_cost') + def _compute_total_external_costs(self): + for project in self: + project.total_external_costs = sum(project.external_cost_ids.mapped('total_cost')) + + @api.depends('total_external_costs', 'total_resource_actual_costs') + def _compute_actual_cost(self): + for project in self: + project.actual_cost = project.total_external_costs + project.total_resource_actual_costs + + def action_update_resource_actual_costs(self): + """Update actual costs based on timesheets and contract information""" + for project in self: + # Get all users from project members + project_members = project.members_ids + + # Get all users who have timesheets in the project but are not in members_ids + timesheet_users = self.env['res.users'] + timesheets = self.env['account.analytic.line'].search([ + ('project_id', '=', project.id), + ('task_id', 'in', project.task_ids.ids) + ]) + + for ts in timesheets: + if ts.user_id and ts.user_id not in project_members: + timesheet_users |= ts.user_id + + # Combine both sets of users + all_users = project_members | timesheet_users + + # For each user, compute the total cost + for user in all_users: + employee = user.employee_id + if not employee: + continue + + # Get timesheets for this user in the project + user_timesheets = timesheets.filtered(lambda ts: ts.user_id == user) + total_hours = 0 + total_cost = 0.0 + + # Get all contracts for the employee that overlap with project dates + project_start = project.date_start or fields.Date.today() + project_end = project.date or fields.Date.today() + + contracts = self.env['hr.contract'].search([ + ('employee_id', '=', employee.id), + ('state', 'in', ['open','close']), + ], order='date_start asc') + + # For each timesheet entry, find the applicable contract + for ts in user_timesheets: + ts_date = ts.date + applicable_contract = None + + # Find the contract that was active on the timesheet date + for contract in contracts: + if (contract.date_start <= ts_date and + (not contract.date_end or contract.date_end >= ts_date)): + applicable_contract = contract + break + + if applicable_contract and applicable_contract.wage: + # Convert monthly wage to hourly rate + # We assume 8 hours per day and 30 days per month -> 240 hours per month + hourly_rate = applicable_contract.wage / 240 + cost = ts.unit_amount * hourly_rate + total_cost += cost + total_hours += ts.unit_amount + else: + # If no contract found, just track hours + total_hours += ts.unit_amount + + # Determine if this is a planned resource + is_planned = user in project_members + + # Check if a record already exists for this employee + existing_record = project.resource_actual_cost_ids.filtered(lambda r: r.employee_id == employee) + + if existing_record: + # Update the existing record + record = existing_record[0] + record.write({ + 'planned_resource': is_planned, + 'total_hours': total_hours, + 'total_cost': total_cost, + }) + + # Update contract periods + record.contract_period_ids.unlink() + if total_hours > 0: + record._create_contract_periods() + else: + # Create a new resource actual cost record + self.env['project.resource.actual.cost'].create({ + 'project_id': project.id, + 'employee_id': employee.id, + 'planned_resource': is_planned, + 'cost_based_on': 'timesheets', # Always set to timesheets initially + 'total_hours': total_hours, + 'total_cost': total_cost, + }) + + # Add methods for external costs + def action_create_external_cost(self): + """Create a new external cost for the project""" + self.ensure_one() + return { + 'name': _('Create External Cost'), + 'type': 'ir.actions.act_window', + 'res_model': 'project.external.cost.wizard', + 'view_mode': 'form', + 'context': {'default_project_id': self.id}, + 'target': 'new', + } + + def action_view_external_costs(self): + """View all external costs for the project""" + self.ensure_one() + return { + 'name': _('External Costs'), + 'type': 'ir.actions.act_window', + 'res_model': 'project.external.cost', + 'view_mode': 'list,form', + 'domain': [('project_id', '=', self.id)], + 'context': {'default_project_id': self.id}, + } + + +class ProjectResourceActualCost(models.Model): + _name = 'project.resource.actual.cost' + _description = 'Project Resource Actual Cost' + + project_id = fields.Many2one( + 'project.project', + string='Project', + required=True, + ondelete='cascade' + ) + employee_id = fields.Many2one( + 'hr.employee', + string='Employee', + required=True + ) + planned_resource = fields.Boolean( + string="Planned Resource", + default=False, + help="True if the resource was part of the planned project team" + ) + cost_based_on = fields.Selection([ + ("timesheets", "Timesheets"), + ("manual", "Manual") + ], default='manual', string="Cost Based On", required=True) + estimated_hours = fields.Float(string="Assigned Estimated Hours", compute="_compute_employee_estimated_hours") + total_hours = fields.Float( + string='Total Hours', + help="Total hours worked by the employee on this project" + ) + total_cost = fields.Float( + string='Total Cost', + help="Total cost for the employee based on timesheets and contracts" + ) + + # Contract period information + contract_period_ids = fields.One2many( + 'project.resource.contract.period', + 'resource_cost_id', + string='Contract Periods' + ) + + @api.depends( + 'project_id', + 'employee_id', + 'project_id.task_ids.show_approval_flow', + 'project_id.task_ids.assignees_timelines.assigned_to', + 'project_id.task_ids.assignees_timelines.estimated_time_readonly', + ) + def _compute_employee_estimated_hours(self): + for rec in self: + rec.estimated_hours = 0.0 + + if not rec.project_id or not rec.employee_id: + continue + + # 1️⃣ Filter tasks with approval flow + tasks = rec.project_id.task_ids.filtered( + lambda t: t.show_approval_flow and t.state not in ['1_canceled','04_waiting_normal'] + ) + # 2️⃣ Collect matching assignee timelines + timelines = tasks.mapped('assignees_timelines').filtered( + lambda tl: tl.assigned_to + and tl.assigned_to == rec.employee_id.user_id + ) + + # 3️⃣ Sum estimated hours + rec.estimated_hours = sum( + timelines.mapped('estimated_time') + ) + + @api.depends('cost_based_on') + def _compute_readonly_total_cost(self): + for record in self: + record.readonly_total_cost = record.cost_based_on == 'timesheets' + + readonly_total_cost = fields.Boolean( + compute='_compute_readonly_total_cost', + invisible=True + ) + + @api.depends('project_id','employee_id','total_cost') + def _compute_display_name(self): + for resource in self: + resource.display_name = (f"{resource.project_id.name} ({resource.employee_id.name} ₹{resource.total_cost:.2f})") if resource.total_cost else (f"{resource.project_id.name} ({resource.employee_id.name})") + + + # Override the create method to create contract periods + @api.model_create_multi + def create(self, vals_list): + records = super().create(vals_list) + for record in records: + if record.cost_based_on == 'timesheets' and record.total_hours > 0: + record._create_contract_periods() + return records + + def _create_contract_periods(self): + """Create contract period records for this resource cost""" + self.ensure_one() + + # Get all timesheet entries for the employee in the project + timesheets = self.env['account.analytic.line'].search([ + ('project_id', '=', self.project_id.id), + ('task_id', 'in', self.project_id.task_ids.ids), + ('employee_id', '=', self.employee_id.id) + ]) + + # Group timesheets by contract + contract_timesheets = {} + for ts in timesheets: + ts_date = ts.date + + # Find the contract that was active on the timesheet date + project_start = self.project_id.date_start or fields.Date.today() + project_end = self.project_id.date or fields.Date.today() + + contracts = self.env['hr.contract'].search([ + ('employee_id', '=', self.employee_id.id), + ('state', 'in', ['open','close']), + ], order='date_start asc') + + applicable_contract = None + for contract in contracts: + if (contract.date_start <= ts_date and + (not contract.date_end or contract.date_end >= ts_date)): + applicable_contract = contract + break + + if applicable_contract: + if applicable_contract not in contract_timesheets: + contract_timesheets[applicable_contract] = [] + contract_timesheets[applicable_contract].append(ts) + + # Create contract period records + for contract, ts_list in contract_timesheets.items(): + total_hours = sum(ts.unit_amount for ts in ts_list) + + # Calculate cost based on contract wage + hourly_rate = contract.wage / 240 # 8 hours/day * 30 days/month + total_cost = total_hours * hourly_rate + + # Get the earliest and latest timesheet dates for this contract + dates = [ts.date for ts in ts_list] + start_date = min(dates) + end_date = max(dates) + + self.env['project.resource.contract.period'].create({ + 'resource_cost_id': self.id, + 'contract_id': contract.id, + 'start_date': start_date, + 'end_date': end_date, + 'hours_worked': total_hours, + 'cost_incurred': total_cost, + }) + + def update_from_timesheets(self): + """Update this resource cost record from timesheets""" + self.ensure_one() + + # Get all timesheet entries for the employee in the project + timesheets = self.env['account.analytic.line'].search([ + ('project_id', '=', self.project_id.id), + ('task_id', 'in', self.project_id.task_ids.ids), + ('employee_id', '=', self.employee_id.id) + ]) + + total_hours = 0 + total_cost = 0.0 + + # Get all contracts for the employee that overlap with project dates + project_start = self.project_id.date_start or fields.Date.today() + project_end = self.project_id.date or fields.Date.today() + + contracts = self.env['hr.contract'].search([ + ('employee_id', '=', self.employee_id.id), + ('state', 'in', ['open','close']), + ], order='date_start asc') + + # For each timesheet entry, find the applicable contract + for ts in timesheets: + ts_date = ts.date + applicable_contract = None + + # Find the contract that was active on the timesheet date + for contract in contracts: + if (contract.date_start <= ts_date and + (not contract.date_end or contract.date_end >= ts_date)): + applicable_contract = contract + break + + if applicable_contract and applicable_contract.wage: + # Convert monthly wage to hourly rate + # We assume 8 hours per day and 30 days per month -> 240 hours per month + hourly_rate = applicable_contract.wage / 240 + cost = ts.unit_amount * hourly_rate + total_cost += cost + total_hours += ts.unit_amount + else: + # If no contract found, just track hours + total_hours += ts.unit_amount + + # Update the record + self.write({ + 'cost_based_on': 'timesheets', + 'total_hours': total_hours, + 'total_cost': total_cost, + }) + + # Update contract periods + self.contract_period_ids.unlink() + if total_hours > 0: + self._create_contract_periods() + + +class ProjectResourceContractPeriod(models.Model): + _name = 'project.resource.contract.period' + _description = 'Project Resource Contract Period' + + resource_cost_id = fields.Many2one( + 'project.resource.actual.cost', + string='Resource Cost', + required=True, + ondelete='cascade' + ) + contract_id = fields.Many2one( + 'hr.contract', + string='Contract', + required=True + ) + start_date = fields.Date( + string='Start Date', + required=True + ) + end_date = fields.Date( + string='End Date' + ) + hours_worked = fields.Float( + string='Hours Worked' + ) + cost_incurred = fields.Float( + string='Cost Incurred' + ) + + @api.depends('contract_id', 'hours_worked', 'cost_incurred') + def _compute_display_name(self): + for contract in self: + if contract.hours_worked and contract.cost_incurred: + hours = int(contract.hours_worked) + minutes = int(round((contract.hours_worked - hours) * 60)) + time_str = f"{hours:02d}:{minutes:02d}" + + contract.display_name = ( + f"{time_str} (Hours) ₹{contract.cost_incurred:.2f}" + ) + else: + contract.display_name = contract.contract_id.display_name + + +class ProjectExternalCost(models.Model): + _name = 'project.external.cost' + _description = 'Project External Costs' + _order = 'date_start desc, id desc' + + project_id = fields.Many2one( + 'project.project', + string='Project', + required=True, + ondelete='cascade' + ) + name = fields.Char( + string='Description', + required=True + ) + cost_type = fields.Selection([ + ('hourly', 'Hourly Rate'), + ('daily', 'Daily Rate'), + ('fixed', 'Fixed Cost'), + ('material', 'Material Purchase'), + ('rental', 'Equipment Rental'), + ('service', 'External Service'), + ], string='Cost Type', required=True, default='fixed') + + # Vendor information + vendor_id = fields.Many2one( + 'res.partner', + string='Vendor', + domain="[('supplier_rank', '>', 0)]" + ) + vendor_reference = fields.Char( + string='Vendor Reference' + ) + + # Cost calculation fields + unit_price = fields.Float( + string='Unit Price', + required=True + ) + quantity = fields.Float( + string='Quantity', + default=1.0, + help="Number of hours, days, or units" + ) + total_cost = fields.Float( + string='Total Cost', + compute='_compute_total_cost', + store=True + ) + + # Date fields for time-based costs + date_start = fields.Date( + string='Start Date', + default=fields.Date.today + ) + date_end = fields.Date( + string='End Date' + ) + + # Material specific fields + product_id = fields.Many2one( + 'product.product', + string='Product/Material' + ) + uom_id = fields.Many2one( + 'uom.uom', + string='Unit of Measure' + ) + + # Document attachment + invoice_id = fields.Many2one( + 'account.move', + string='Vendor Bill' + ) + attachment_ids = fields.Many2many( + 'ir.attachment', + 'project_external_cost_attachment_rel', + 'cost_id', + 'attachment_id', + string='Attachments' + ) + + # Status tracking + state = fields.Selection([ + ('draft', 'Draft'), + ('confirmed', 'Confirmed'), + ('billed', 'Billed'), + ('paid', 'Paid'), + ('cancelled', 'Cancelled'), + ], string='Status', default='draft', tracking=True) + + notes = fields.Text( + string='Notes' + ) + + @api.depends('unit_price', 'quantity') + def _compute_total_cost(self): + for cost in self: + cost.total_cost = cost.unit_price * cost.quantity + + def action_confirm(self): + """Confirm the external cost""" + self.write({'state': 'confirmed'}) + + def action_cancel(self): + """Cancel the external cost""" + self.write({'state': 'cancelled'}) + + def action_mark_as_billed(self): + """Mark the cost as billed""" + self.write({'state': 'billed'}) + + def action_mark_as_paid(self): + """Mark the cost as paid""" + self.write({'state': 'paid'}) + + +class ProjectExternalCostWizard(models.TransientModel): + _name = 'project.external.cost.wizard' + _description = 'Project External Cost Wizard' + + project_id = fields.Many2one( + 'project.project', + string='Project', + required=True + ) + name = fields.Char( + string='Description', + required=True + ) + cost_type = fields.Selection([ + ('hourly', 'Hourly Rate'), + ('daily', 'Daily Rate'), + ('fixed', 'Fixed Cost'), + ('material', 'Material Purchase'), + ('rental', 'Equipment Rental'), + ('service', 'External Service'), + ], string='Cost Type', required=True, default='fixed') + unit_price = fields.Float( + string='Unit Price', + required=True + ) + quantity = fields.Float( + string='Quantity', + default=1.0 + ) + vendor_id = fields.Many2one( + 'res.partner', + string='Vendor', + domain="[('supplier_rank', '>', 0)]" + ) + date_start = fields.Date( + string='Start Date', + default=fields.Date.today + ) + date_end = fields.Date( + string='End Date' + ) + notes = fields.Text( + string='Notes' + ) + + def action_create_cost(self): + """Create the external cost""" + self.ensure_one() + cost_vals = { + 'project_id': self.project_id.id, + 'name': self.name, + 'cost_type': self.cost_type, + 'unit_price': self.unit_price, + 'quantity': self.quantity, + 'vendor_id': self.vendor_id.id, + 'date_start': self.date_start, + 'date_end': self.date_end, + 'notes': self.notes, + } + + # Set UOM based on cost type + if self.cost_type == 'hourly': + cost_vals['uom_id'] = self.env.ref('uom.product_uom_hour').id + elif self.cost_type == 'daily': + cost_vals['uom_id'] = self.env.ref('uom.product_uom_day').id + + self.env['project.external.cost'].create(cost_vals) + + return {'type': 'ir.actions.act_window_close'} \ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/models/project_attachments.py b/addons_extensions/project_task_timesheet_extended/models/project_attachments.py new file mode 100644 index 000000000..4be797ef9 --- /dev/null +++ b/addons_extensions/project_task_timesheet_extended/models/project_attachments.py @@ -0,0 +1,10 @@ +from odoo import fields, models, api, _ + +class projectAttachments(models.Model): + _name = 'project.attachments' + + project_id = fields.Many2one("project.project", string="Project", ondelete="cascade") + + file = fields.Binary(string="Attachment File", required=True) + file_name = fields.Char(string="Filename") + notes = fields.Text(string="Notes") \ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/models/project_portfolio.py b/addons_extensions/project_task_timesheet_extended/models/project_portfolio.py new file mode 100644 index 000000000..e12a73b50 --- /dev/null +++ b/addons_extensions/project_task_timesheet_extended/models/project_portfolio.py @@ -0,0 +1,636 @@ +from odoo import models, fields, api, _ +from datetime import date, timedelta +import json + + +class ProjectPortfolio(models.Model): + _name = 'project.portfolio' + _description = 'Project Portfolio' + _order = 'name' + + name = fields.Char(string='Portfolio Name', required=True) + code = fields.Char(string='Code') + + industry_id = fields.Many2one( + 'res.partner.industry', + string='Industry' + ) + + owner_id = fields.Many2one( + 'res.users', + string='Portfolio Owner' + ) + + description = fields.Text(string='Description') + + project_ids = fields.One2many( + 'project.project', + 'portfolio_id', + string='Projects' + ) + + company_id = fields.Many2one( + 'res.company', + default=lambda self: self.env.company, + required=True + ) + + active = fields.Boolean(default=True) + project_count = fields.Integer( + compute='_compute_project_count', + string='Projects' + ) + + # Budget Summary Fields + total_estimated_budget = fields.Float( + string="Total Planned Budget", + compute="_compute_budget_totals", + store=True, + help="Sum of all estimated project budgets (internal estimates)" + ) + + total_client_budget = fields.Float( + string="Total Client Budget", + compute="_compute_budget_totals", + store=True, + help="Sum of all client-approved budgets" + ) + + total_actual_budget = fields.Float( + string="Total Actual Budget", + compute="_compute_budget_totals", + store=True, + help="Sum of all actual project costs incurred to date" + ) + + # Variance calculations based on internal estimates + budget_variance = fields.Float( + string="Budget Variance (Est. vs Actual)", + compute="_compute_budget_totals", + store=True, + help="Difference between estimated and actual budget" + ) + budget_variance_percent = fields.Float( + string="Budget Variance % (Est. vs Actual)", + compute="_compute_budget_totals", + store=True, + help="Percentage difference between estimated and actual budget" + ) + + # Variance calculations based on client budgets + client_budget_variance = fields.Float( + string="Client Budget Variance", + compute="_compute_budget_totals", + store=True, + help="Difference between client budget and actual costs" + ) + client_budget_variance_percent = fields.Float( + string="Client Budget Variance %", + compute="_compute_budget_totals", + store=True, + help="Percentage difference between client budget and actual costs" + ) + + #variance calculations based on Client budgets vs Estimated Budgets + planned_client_budget_variance = fields.Float( + string="Planned Budget Variance", + compute="_compute_budget_totals", + store=True, + help="Difference between client budget and actual costs" + ) + planned_client_budget_variance_percent = fields.Float( + string="Planned Budget Variance %", + compute="_compute_budget_totals", + store=True, + help="Percentage difference between client budget and actual costs" + ) + + budget_status = fields.Selection([ + ('under', 'Under Budget'), + ('on_track', 'On Track'), + ('over', 'Over Budget') + ], compute="_compute_budget_totals", store=True) + + # Financial KPIs + total_resource_cost = fields.Float( + compute="_compute_budget_totals", + store=True + ) + total_material_cost = fields.Float( + compute="_compute_budget_totals", + store=True + ) + total_equipment_cost = fields.Float( + compute="_compute_budget_totals", + store=True + ) + + # Profit/Loss Fields + total_profit = fields.Float( + string="Total Profit", + compute="_compute_budget_totals", + store=True + ) + total_loss = fields.Float( + string="Total Loss", + compute="_compute_budget_totals", + store=True + ) + net_profit = fields.Float( + string="Net Profit/Loss", + compute="_compute_budget_totals", + store=True + ) + + roi_estimate = fields.Float( + string="Estimation ROI (%)", + compute="_compute_roi", + store=True, + help="Accuracy of internal estimates vs actual costs" + ) + + planned_roi_estimate = fields.Float( + string="Planned ROI (%)", + compute="_compute_roi", + store=True, + help="Expected ROI based on client budget vs estimated costs" + ) + + actual_roi_estimate = fields.Float( + string="Actual ROI (%)", + compute="_compute_roi", + store=True, + help="Actual ROI achieved based on client budget vs actual costs" + ) + + # Dashboard Data + dashboard_graph_data = fields.Text( + string="Graph Data", + compute="_compute_dashboard_data" + ) + + # Employee Performance Summary + employee_performance_ids = fields.One2many( + 'project.portfolio.employee.performance', + 'portfolio_id', + string='Employee Performance' + ) + + # Performance Metrics + avg_time_variance = fields.Float( + string="Average Time Variance", + compute="_compute_performance_metrics", + help="Average variance between estimated and actual hours" + ) + on_time_completion_rate = fields.Float( + string="On-Time Completion%", + compute="_compute_performance_metrics", + help="Percentage of tasks count that are completed on or before estimated time" + ) + overall_efficiency = fields.Float( + string="Overall Efficiency %", + compute="_compute_performance_metrics", + help="Overall project efficiency (Estimated/Actual hours)" + ) + + @api.depends( + 'project_ids.estimated_amount', # Internal estimate + 'project_ids.project_cost', # Client-approved budget + 'project_ids.actual_cost', # Actual costs to date + 'project_ids.total_resource_actual_costs', + 'project_ids.total_external_costs', + 'project_ids.profit', + 'project_ids.loss', + 'project_ids.difference' + ) + def _compute_budget_totals(self): + for portfolio in self: + projects = portfolio.project_ids.filtered(lambda p: p.active) + + # Budget Summary + portfolio.total_estimated_budget = sum(projects.mapped('estimated_amount')) + portfolio.total_client_budget = sum(projects.mapped('project_cost')) + portfolio.total_actual_budget = sum(projects.mapped('actual_cost')) + portfolio.total_profit = sum(projects.mapped('profit')) + portfolio.total_loss = sum(projects.mapped('loss')) + portfolio.net_profit = portfolio.total_profit - portfolio.total_loss + + # Internal Estimate Variance (Est. vs Actual) + portfolio.budget_variance = portfolio.total_estimated_budget - portfolio.total_actual_budget + if portfolio.total_estimated_budget: + portfolio.budget_variance_percent = ( + (portfolio.budget_variance / portfolio.total_estimated_budget) * 100 + ) + else: + portfolio.budget_variance_percent = 0.0 + + # Client Budget Variance (Client vs Actual) + portfolio.client_budget_variance = portfolio.total_client_budget - portfolio.total_actual_budget + if portfolio.total_client_budget: + portfolio.client_budget_variance_percent = ( + (portfolio.client_budget_variance / portfolio.total_client_budget) * 100 + ) + else: + portfolio.client_budget_variance_percent = 0.0 + + #planned Client Budget Variance (Client vs Est.) + portfolio.planned_client_budget_variance = portfolio.total_client_budget - portfolio.total_estimated_budget + if portfolio.total_actual_budget: + portfolio.planned_client_budget_variance_percent = ( + (portfolio.planned_client_budget_variance / portfolio.total_client_budget) * 100 + ) + else: + portfolio.planned_client_budget_variance_percent = 0.0 + + # Status based on internal estimates + if portfolio.budget_variance_percent > 5: + portfolio.budget_status = 'under' # under cost → good + elif -5 <= portfolio.budget_variance_percent <= 5: + portfolio.budget_status = 'on_track' + else: + portfolio.budget_status = 'over' # over cost → bad + + # Cost split + portfolio.total_resource_cost = sum( + projects.mapped('total_resource_actual_costs') + ) + portfolio.total_material_cost = 0.0 # deprecated + portfolio.total_equipment_cost = 0.0 + + @api.depends('total_estimated_budget', 'total_actual_budget', 'total_client_budget') + def _compute_roi(self): + for portfolio in self: + # Estimation Accuracy: How accurate were our internal estimates? + if portfolio.total_actual_budget: + portfolio.roi_estimate = ( + ((portfolio.total_estimated_budget - portfolio.total_actual_budget) + / portfolio.total_actual_budget) * 100 + ) + else: + portfolio.roi_estimate = 0.0 + + # Planned ROI: What ROI did we expect to achieve? + if portfolio.total_estimated_budget: + portfolio.planned_roi_estimate = ( + ((portfolio.total_client_budget - portfolio.total_estimated_budget) + / portfolio.total_estimated_budget) * 100 + ) + else: + portfolio.planned_roi_estimate = 0.0 + + # Actual ROI: What ROI did we actually achieve? + if portfolio.total_actual_budget: + portfolio.actual_roi_estimate = ( + ((portfolio.total_client_budget - portfolio.total_actual_budget) + / portfolio.total_actual_budget) * 100 + ) + else: + portfolio.actual_roi_estimate = 0.0 + + def _compute_project_count(self): + for rec in self: + rec.project_count = len(rec.project_ids) + + @api.depends( + 'project_ids', + 'project_ids.task_ids', + 'project_ids.task_ids.assignees_timelines' + ) + def _compute_performance_metrics(self): + for portfolio in self: + # Get all tasks in portfolio projects + tasks = self.env['project.task'].search([ + ('project_id', 'in', portfolio.project_ids.ids), + ('show_approval_flow', '=', True) + ]) + + total_estimated = 0 + total_actual = 0 + completed_on_time = 0 + total_tasks = len(tasks) + + for task in tasks: + # Get estimated hours from assignee timelines + estimated_hours = sum(task.assignees_timelines.mapped('estimated_time')) + + # Get actual hours from timesheets + actual_hours = sum(self.env['account.analytic.line'].search([ + ('task_id', '=', task.id) + ]).mapped('unit_amount')) + + total_estimated += estimated_hours + total_actual += actual_hours + + # Check if task was completed on time + if actual_hours <= estimated_hours or estimated_hours == 0: + completed_on_time += 1 + + # Calculate metrics + if total_estimated > 0: + portfolio.avg_time_variance = ((total_actual - total_estimated) / total_estimated) * 100 + else: + portfolio.avg_time_variance = 0.0 + + if total_tasks > 0: + portfolio.on_time_completion_rate = (completed_on_time / total_tasks) * 100 + else: + portfolio.on_time_completion_rate = 0.0 + + if total_actual > 0: + portfolio.overall_efficiency = (total_estimated / total_actual) * 100 + else: + portfolio.overall_efficiency = 0.0 + + def _compute_dashboard_data(self): + """Compute JSON data for dashboard graphs""" + for portfolio in self: + projects = portfolio.project_ids.filtered(lambda p: p.active) + + # Budget vs Actual Data + budget_data = [] + for project in projects: + budget_data.append({ + 'name': project.name, + 'estimated': project.estimated_amount, + 'client_budget': project.project_cost, + 'actual': project.actual_cost, + 'profit': project.profit, + 'loss': project.loss + }) + + # Cost Breakdown Data + cost_data = { + 'manpower': portfolio.total_resource_cost, + 'external': sum(projects.mapped('total_external_costs')), + 'other': 0 + } + + # Performance Data + performance_data = { + 'avg_time_variance': portfolio.avg_time_variance, + 'on_time_rate': portfolio.on_time_completion_rate, + 'efficiency': portfolio.overall_efficiency + } + + # Combine all data + dashboard_data = { + 'budget_data': budget_data, + 'cost_data': cost_data, + 'performance_data': performance_data, + 'summary': { + 'total_estimated': portfolio.total_estimated_budget, + 'total_client_budget': portfolio.total_client_budget, + 'total_actual': portfolio.total_actual_budget, + 'net_profit': portfolio.net_profit, + 'roi': portfolio.roi_estimate, + 'budget_variance': portfolio.budget_variance, + 'client_budget_variance': portfolio.client_budget_variance + } + } + + portfolio.dashboard_graph_data = json.dumps(dashboard_data) + + def action_update_employee_performance(self): + """Update employee performance data based on timesheets and estimates + (only for projects with privacy_visibility = 'followers') + """ + AAL = self.env['account.analytic.line'] + Performance = self.env['project.portfolio.employee.performance'] + + for portfolio in self: + # Clear existing performance records + portfolio.employee_performance_ids.unlink() + + # 🔹 Only consider follower-visible projects + projects = portfolio.project_ids.filtered( + lambda p: p.privacy_visibility == 'followers' + ) + + if not projects: + continue + + # Fetch relevant timesheets + timesheet_lines = AAL.sudo().search([ + ('project_id', 'in', projects.ids), + ('task_id', '!=', False), + ('employee_id', '!=', False), + ]) + employees_data = {} + task_ids_list = [] + for line in timesheet_lines: + employee = line.employee_id + task = line.task_id + + emp_vals = employees_data.setdefault(employee.id, { + 'employee_id': employee.id, + 'total_estimated_hours': 0.0, + 'total_actual_hours': 0.0, + 'tasks_completed': 0, + 'tasks_on_time': 0, + 'total_tasks': 0, + }) + + # 🔹 Actual hours + emp_vals['total_actual_hours'] += line.unit_amount + + if not task: + continue + + estimated_hours = 0.0 + + # 🔹 Estimate from assignee timelines + if not task.is_generic and task.show_approval_flow and task.id not in task_ids_list: + timelines = task.assignees_timelines.filtered( + lambda t: t.assigned_to == employee.user_id + ) + if task.assignees_timelines and timelines and task.id not in task_ids_list: + estimated_hours = sum(timelines.mapped('estimated_time')) + elif task.id not in task_ids_list: + estimated_hours = task.estimated_hours or line.unit_amount + # 🔹 Fallback to task estimate + if not estimated_hours and task.id not in task_ids_list: + estimated_hours = task.estimated_hours or line.unit_amount + + emp_vals['total_estimated_hours'] += estimated_hours + emp_vals['total_tasks'] += 1 + emp_vals['tasks_completed'] += 1 + + # 🔹 On-time check + if estimated_hours == 0 or line.unit_amount <= estimated_hours: + emp_vals['tasks_on_time'] += 1 + task_ids_list.append(task.id) + + # 🔹 Create performance records + for emp_vals in employees_data.values(): + total_est = emp_vals['total_estimated_hours'] + total_act = emp_vals['total_actual_hours'] + + time_variance = ( + ((total_act - total_est) / total_act) * 100 + if total_est > 0 and total_act > total_est + else 0.0 + ) + + on_time_rate = ( + (emp_vals['tasks_on_time'] / emp_vals['total_tasks']) * 100 + if emp_vals['total_tasks'] > 0 + else 0.0 + ) + + efficiency = ( + (total_est / total_act) * 100 + if total_act else 0.0 + ) + + Performance.create({ + 'portfolio_id': portfolio.id, + 'employee_id': emp_vals['employee_id'], + 'total_estimated_hours': total_est, + 'total_actual_hours': total_act, + 'time_variance_percent': time_variance, + 'on_time_completion_rate': on_time_rate, + 'tasks_completed': emp_vals['tasks_completed'], + 'efficiency_rate': efficiency, + }) + + def action_view_budget_analysis(self): + self.ensure_one() + return { + 'name': _('Budget Analysis'), + 'type': 'ir.actions.act_window', + 'res_model': 'project.portfolio.dashboard', + 'view_mode': 'graph,pivot', + 'domain': [('portfolio_id', '=', self.id)], + 'context': {'search_default_group_by_project': 1} + } + + def action_view_employee_performance(self): + self.ensure_one() + return { + 'name': _('Employee Performance'), + 'type': 'ir.actions.act_window', + 'res_model': 'project.portfolio.employee.performance', + 'view_mode': 'list,graph,pivot', + 'domain': [('portfolio_id', '=', self.id)], + 'context': { + 'default_portfolio_id': self.id, + 'search_default_group_by_employee': 1 + } + } + + def action_view_projects(self): + self.ensure_one() + return { + 'name': 'Projects', + 'type': 'ir.actions.act_window', + 'res_model': 'project.project', + 'view_mode': 'kanban,list,form', + 'domain': [('portfolio_id', '=', self.id)], + 'context': { + 'default_portfolio_id': self.id, + 'search_default_groupby_stage_id': 1, + }, + } + + +class Project(models.Model): + _inherit = 'project.project' + + portfolio_id = fields.Many2one( + 'project.portfolio', + string='Portfolio' + ) + + + +class ProjectPortfolioEmployeePerformance(models.Model): + _name = 'project.portfolio.employee.performance' + _description = 'Project Portfolio Employee Performance' + _order = 'time_variance_percent desc' + + portfolio_id = fields.Many2one( + 'project.portfolio', + string='Portfolio', + required=True, + ondelete='cascade' + ) + employee_id = fields.Many2one( + 'hr.employee', + string='Employee', + required=True + ) + department_id = fields.Many2one( + 'hr.department', + string='Department', + related='employee_id.department_id', + store=True + ) + job_id = fields.Many2one( + 'hr.job', + string='Job Position', + related='employee_id.job_id', + store=True + ) + + # Performance Metrics + total_estimated_hours = fields.Float( + string='Total Estimated Hours' + ) + total_actual_hours = fields.Float( + string='Total Actual Hours' + ) + time_variance = fields.Float( + string='Time Variance (Hours)', + compute='_compute_time_variance', + store=True + ) + time_variance_percent = fields.Float( + string='Time Variance %' + ) + on_time_completion_rate = fields.Float( + string='On-Time Completion %' + ) + tasks_completed = fields.Integer( + string='Tasks Completed' + ) + efficiency_rate = fields.Float( + string='Efficiency Rate %', + help='Estimated hours / Actual hours * 100' + ) + + performance_status = fields.Selection([ + ('excellent', 'Excellent (On Time)'), + ('good', 'Good (Slight Delay)'), + ('average', 'Average (Moderate Delay)'), + ('poor', 'Poor (Significant Delay)'), + ('critical', 'Critical (Major Delay)') + ], string='Performance Status', + compute='_compute_performance_status', + store=True, + help="Performance classification based on time variance percentage:\n" + "- Excellent: 0% or less (Completed on or before estimated time)\n" + "- Good: Up to 10% delay\n" + "- Average: 11% to 25% delay\n" + "- Poor: 26% to 50% delay\n" + "- Critical: More than 50% delay" + ) + + @api.depends('time_variance_percent') + def _compute_performance_status(self): + for record in self: + variance = record.time_variance_percent + if variance <= 0: + record.performance_status = 'excellent' + elif variance <= 10: + record.performance_status = 'good' + elif variance <= 25: + record.performance_status = 'average' + elif variance <= 50: + record.performance_status = 'poor' + else: + record.performance_status = 'critical' + + @api.depends('total_estimated_hours', 'total_actual_hours') + def _compute_time_variance(self): + for record in self: + record.time_variance = record.total_actual_hours - record.total_estimated_hours \ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/models/project_portfolio_dashboard.py b/addons_extensions/project_task_timesheet_extended/models/project_portfolio_dashboard.py new file mode 100644 index 000000000..71b98c2f8 --- /dev/null +++ b/addons_extensions/project_task_timesheet_extended/models/project_portfolio_dashboard.py @@ -0,0 +1,157 @@ +from odoo import models, fields, api, _ + +class ProjectPortfolioBudgetOverview(models.Model): + _name = 'project.portfolio.budget.overview' + _description = 'Project Portfolio Budget Overview' + _auto = False + + portfolio_id = fields.Many2one('project.portfolio') + project_id = fields.Many2one('project.project') + + estimated_budget = fields.Float(string='Estimated Budget') + client_budget = fields.Float(string='Client Budget') + actual_cost = fields.Float(string='Actual Cost') + estimated_variance = fields.Float(string='Est. vs Actual Diff') + estimated_variance_percent = fields.Float(string='Est. vs Actual %') + client_variance = fields.Float(string='Client vs Actual Diff') + client_variance_percent = fields.Float(string='Client vs Actual %') + + @property + def _table_query(self): + return """ + SELECT + row_number() OVER () AS id, + pp.id AS portfolio_id, + prj.id AS project_id, + prj.estimated_amount, + prj.project_cost, + prj.actual_cost, + (prj.estimated_amount - prj.actual_cost) AS estimated_variance, + CASE + WHEN prj.estimated_amount > 0 + THEN ((prj.estimated_amount - prj.actual_cost) + / prj.estimated_amount) * 100 + ELSE 0 + END AS estimated_variance_percent, + (prj.project_cost - prj.actual_cost) AS client_variance, + CASE + WHEN prj.project_cost > 0 + THEN ((prj.project_cost - prj.actual_cost) + / prj.project_cost) * 100 + ELSE 0 + END AS client_variance_percent + FROM project_portfolio pp + JOIN project_project prj + ON prj.portfolio_id = pp.id + """ + + +class ProjectPortfolioDashboard(models.Model): + _name = 'project.portfolio.dashboard' + _description = 'Project Portfolio Dashboard' + _auto = False + + portfolio_id = fields.Many2one('project.portfolio') + project_id = fields.Many2one('project.project') + + estimated_budget = fields.Float(string='Estimated Budget') + client_budget = fields.Float(string='Client Budget') + actual_cost = fields.Float(string='Actual Cost') + + resource_cost = fields.Float(string='Manpower Cost') + external_cost = fields.Float(string='External Cost') + + profit = fields.Float(string='Profit') + loss = fields.Float(string='Loss') + + estimated_variance = fields.Float(string='Est. vs Actual Diff') + estimated_variance_percent = fields.Float(string='Est. vs Actual %') + client_variance = fields.Float(string='Client vs Actual Diff') + client_variance_percent = fields.Float(string='Client vs Actual %') + + # Performance Fields + estimated_hours = fields.Float(string='Estimated Hours') + actual_hours = fields.Float(string='Actual Hours') + time_variance_percent = fields.Float(string='Time Variance %') + + @property + def _table_query(self): + return """ + SELECT + row_number() OVER () AS id, + pp.id AS portfolio_id, + prj.id AS project_id, + + prj.estimated_amount, + prj.project_cost, + prj.actual_cost, + + prj.total_resource_actual_costs AS resource_cost, + prj.total_external_costs AS external_cost, + + prj.profit, + prj.loss, + (prj.estimated_amount - prj.actual_cost) AS estimated_variance, + (prj.project_cost - prj.actual_cost) AS client_variance, + + CASE + WHEN prj.estimated_amount > 0 + THEN ((prj.estimated_amount - prj.actual_cost) / prj.estimated_amount) * 100 + ELSE 0 + END AS estimated_variance_percent, + + CASE + WHEN prj.project_cost > 0 + THEN ((prj.project_cost - prj.actual_cost) / prj.project_cost) * 100 + ELSE 0 + END AS client_variance_percent, + + -- Performance metrics + COALESCE(( + SELECT SUM(tl.estimated_time) + FROM project_task pt + JOIN project_task_time_lines tl ON tl.task_id = pt.id + WHERE pt.project_id = prj.id + AND pt.show_approval_flow = true + ), 0) AS estimated_hours, + + COALESCE(( + SELECT SUM(aal.unit_amount) + FROM project_task pt + JOIN account_analytic_line aal ON aal.task_id = pt.id + WHERE pt.project_id = prj.id + ), 0) AS actual_hours, + + CASE + WHEN COALESCE(( + SELECT SUM(tl.estimated_time) + FROM project_task pt + JOIN project_task_time_lines tl ON tl.task_id = pt.id + WHERE pt.project_id = prj.id + AND pt.show_approval_flow = true + ), 0) > 0 + THEN ((COALESCE(( + SELECT SUM(aal.unit_amount) + FROM project_task pt + JOIN account_analytic_line aal ON aal.task_id = pt.id + WHERE pt.project_id = prj.id + ), 0) - COALESCE(( + SELECT SUM(tl.estimated_time) + FROM project_task pt + JOIN project_task_time_lines tl ON tl.task_id = pt.id + WHERE pt.project_id = prj.id + AND pt.show_approval_flow = true + ), 0)) / COALESCE(( + SELECT SUM(tl.estimated_time) + FROM project_task pt + JOIN project_task_time_lines tl ON tl.task_id = pt.id + WHERE pt.project_id = prj.id + AND pt.show_approval_flow = true + ), 0)) * 100 + ELSE 0 + END AS time_variance_percent + + FROM project_portfolio pp + JOIN project_project prj ON prj.portfolio_id = pp.id + WHERE prj.active = true + """ \ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/models/project_roles_master.py b/addons_extensions/project_task_timesheet_extended/models/project_roles_master.py index 00f6ae093..cdfe76e1c 100644 --- a/addons_extensions/project_task_timesheet_extended/models/project_roles_master.py +++ b/addons_extensions/project_task_timesheet_extended/models/project_roles_master.py @@ -43,6 +43,7 @@ class ProjectRole(models.Model): ROLE_LEVELS, string='Authority Level', required=True, + default='administrative', help="Structured authority level of the role" ) diff --git a/addons_extensions/project_task_timesheet_extended/models/project_task.py b/addons_extensions/project_task_timesheet_extended/models/project_task.py index 586820f73..ea7cc9098 100644 --- a/addons_extensions/project_task_timesheet_extended/models/project_task.py +++ b/addons_extensions/project_task_timesheet_extended/models/project_task.py @@ -44,8 +44,8 @@ class projectTask(models.Model): estimated_hours = fields.Float( string="Estimated Hours", compute="_compute_estimated_hours", - inverse="_inverse_estimated_hours", - store=True + store=True, + readonly=False ) has_supervisor_access = fields.Boolean(compute="_compute_has_supervisor_access") actual_hours = fields.Float( @@ -60,6 +60,90 @@ class projectTask(models.Model): compute="_compute_deadline_warning", string="Deadline Warning" ) + allowed_employee_ids = fields.Many2many( + 'hr.employee', + compute='_compute_allowed_employee_ids', + store=False, + ) + assignee_domain_ids = fields.Many2many( + 'res.users', + compute='_compute_assignee_domain', + store=False, + ) + + @api.depends( + 'project_id', + 'project_id.privacy_visibility', + 'project_id.message_partner_ids', + ) + def _compute_assignee_domain(self): + Users = self.env['res.users'] + all_internal_users = Users.search([('share', '=', False)]) + + for task in self: + # no project → all internal + if not task.project_id: + task.assignee_domain_ids = all_internal_users + continue + + # # GENERIC → all internal + # if getattr(task, 'is_generic', False): + # task.assignee_domain_ids = all_internal_users + # continue + + # PRIVATE → invited users only + if task.project_id.privacy_visibility == 'followers': + task.assignee_domain_ids = ( + task.project_id.message_partner_ids + .mapped('user_ids') + .filtered(lambda u: not u.share) + ) + else: + # INTERNAL / PUBLIC + task.assignee_domain_ids = all_internal_users + + @api.depends( + 'is_generic', + 'user_ids', + 'project_id', + 'project_id.privacy_visibility', + 'project_id.message_partner_ids', + ) + def _compute_allowed_employee_ids(self): + Employee = self.env['hr.employee'] + + for task in self: + employees = Employee.browse() + + # 1️⃣ GENERIC TASK + if task.is_generic and task.project_id: + project = task.project_id + + # 🔐 Private → followers only + if project.privacy_visibility == 'followers': + users = ( + project.message_partner_ids + .mapped('user_ids') + .filtered(lambda u: u and not u.share) + ) + # 🌍 Internal / Public → all internal users + else: + users = self.env['res.users'].search([ + ('share', '=', False), + ('active', '=', True), + ]) + + employees = users.mapped('employee_id').filtered(lambda e: e) + + # 2️⃣ NORMAL TASK → task assignees only + else: + employees = ( + task.user_ids + .mapped('employee_id') + .filtered(lambda e: e) + ) + + task.allowed_employee_ids = employees @api.depends('suggested_deadline', 'date_deadline','timelines_requested','show_approval_flow') def _compute_deadline_warning(self): @@ -297,15 +381,6 @@ class projectTask(models.Model): if task.show_approval_flow: task.estimated_hours = sum(task.assignees_timelines.mapped('estimated_time')) - def _inverse_estimated_hours(self): - """Allow editing only if approval flow is disabled.""" - for task in self: - # Only check after record is created - if not task.id: - continue - - if not task.show_approval_flow: - task.write({'estimated_hours': task.estimated_hours}) @api.depends('timesheet_ids.unit_amount') def _compute_actual_hours(self): for task in self: diff --git a/addons_extensions/project_task_timesheet_extended/models/stage_visibility.py b/addons_extensions/project_task_timesheet_extended/models/stage_visibility.py index dc3e06b72..1ecbfd50b 100644 --- a/addons_extensions/project_task_timesheet_extended/models/stage_visibility.py +++ b/addons_extensions/project_task_timesheet_extended/models/stage_visibility.py @@ -4,6 +4,7 @@ from odoo import api, fields, models class ProjectProject(models.Model): _inherit = 'project.project' + begin_approval_processing = fields.Boolean(default=False) is_initiation_user = fields.Boolean(compute='_compute_stage_access') is_planning_user = fields.Boolean(compute='_compute_stage_access') is_development_user = fields.Boolean(compute='_compute_stage_access') @@ -14,32 +15,48 @@ class ProjectProject(models.Model): is_architecture_user = fields.Boolean(compute='_compute_stage_access') is_project_editor = fields.Boolean(compute='_compute_stage_access') + + def action_begin_approval_processing(self): + for project in self: + project.begin_approval_processing = True + def _compute_stage_access(self): user = self.env.user for project in self: - flows = self.env['project.stages.approval.flow'].search([ - ('project_id', '=', project.id) - ]) - - stages = flows.filtered( - lambda f: - f.assigned_to == user - or f.approval_by == user - or user in f.involved_users - or user.has_group('project.group_project_manager') - ).mapped('stage_id.name') project_editor = False - if (project.user_id and user == project.user_id) or (project.project_sponsor and user == project.project_sponsor): + if (project.user_id and user == project.user_id) or user.has_group('project.group_project_manager'): project_editor = True - - - project.is_initiation_user = 'Initiation' in stages - project.is_planning_user = 'Planning' in stages - project.is_development_user = 'Development' in stages - project.is_testing_user = 'Testing' in stages - project.is_deployment_user = 'Deployment' in stages - project.is_maintenance_user = 'Maintenance & Support' in stages - project.is_closure_user = 'Closer' in stages - project.is_architecture_user = 'Architecture & Design' in stages project.is_project_editor = project_editor + + if project.assign_approval_flow: + flows = self.env['project.stages.approval.flow'].search([ + ('project_id', '=', project.id) + ]) + + stages = flows.filtered( + lambda f: + f.assigned_to == user + or f.approval_by == user + or user in f.involved_users + or user.has_group('project.group_project_manager') + ).mapped('stage_id.name') + + project.is_initiation_user = 'Initial' in stages and project.begin_approval_processing + project.is_planning_user = 'Planning' in stages and project.begin_approval_processing + project.is_development_user = 'Development' in stages and project.begin_approval_processing + project.is_testing_user = 'Testing & QA' in stages and project.begin_approval_processing + project.is_deployment_user = 'Deployment' in stages and project.begin_approval_processing + project.is_maintenance_user = 'Maintenance & Support' in stages and project.begin_approval_processing + project.is_closure_user = 'Closer' in stages and project.begin_approval_processing + project.is_architecture_user = 'Architecture & Design' in stages and project.begin_approval_processing + else: + project.is_initiation_user = True + project.is_planning_user = True + project.is_development_user = True + project.is_testing_user = True + project.is_deployment_user = True + project.is_maintenance_user = True + project.is_closure_user = True + project.is_architecture_user = True + diff --git a/addons_extensions/project_task_timesheet_extended/models/task_stages.py b/addons_extensions/project_task_timesheet_extended/models/task_stages.py index c95f2f6f5..f80f91c28 100644 --- a/addons_extensions/project_task_timesheet_extended/models/task_stages.py +++ b/addons_extensions/project_task_timesheet_extended/models/task_stages.py @@ -34,5 +34,6 @@ class TaskStages(models.Model): 'default_team_id': self.team_id.id if self.team_id else False, 'default_approval_by': self.approval_by if self.approval_by else False, 'default_fold': self.fold, + 'default_involved_user_ids': [(6,0,self.involved_user_ids.ids)] }, } \ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/security/ir.model.access.csv b/addons_extensions/project_task_timesheet_extended/security/ir.model.access.csv index 119de08e1..e8228f7f4 100644 --- a/addons_extensions/project_task_timesheet_extended/security/ir.model.access.csv +++ b/addons_extensions/project_task_timesheet_extended/security/ir.model.access.csv @@ -3,7 +3,24 @@ internal_teams_admin,internal.teams.admin,model_internal_teams,project.group_pro internal_teams_manager,internal.teams.manager,model_internal_teams,project.group_project_user,1,1,1,0 internal_teams_user,internal.teams.user,model_internal_teams,base.group_user,1,0,0,0 +access_project_portfolio_employee_performance_user,project.portfolio.employee.performance.user,model_project_portfolio_employee_performance,base.group_user,1,1,1,1 + +access_project_portfolio_dashboard,project.portfolio.dashboard,model_project_portfolio_dashboard,base.group_user,1,0,0,0 +access_project_portfolio_dashboard_manager,project.portfolio.dashboard,model_project_portfolio_dashboard,project.group_project_manager,1,0,0,0 + +access_project_portfolio_budget_overview,project.portfolio.budget.overview,model_project_portfolio_budget_overview,base.group_user,1,0,0,0 +access_project_portfolio_budget_overview_manager,project.portfolio.budget.overview,model_project_portfolio_budget_overview,project.group_project_manager,1,0,0,0 + +access_project_attachments_users,project.attachments.users,model_project_attachments,base.group_user,1,1,1,1 + +access_project_cancel_hold_wizard_supervisor,access.project.cancel.hold.wizard.supervisor,model_project_cancel_hold_wizard,project_task_timesheet_extended.group_project_supervisor,1,1,1,1 +access_project_cancel_hold_wizard_manager,access.project.cancel.hold.wizard.manager,model_project_cancel_hold_wizard,project.group_project_manager,1,1,1,1 + access_project_role_user,project.role.user,model_project_role,base.group_user,1,0,0,0 + +access_project_portfolio_user,project.portfolio.user,model_project_portfolio,base.group_user,1,1,1,0 +access_project_portfolio_manager,project.portfolio.manager,model_project_portfolio,project.group_project_manager,1,1,1,1 + access_project_role_manager,project.role.manager,model_project_role,project.group_project_manager,1,1,1,1 access_project_sprint_user,access.project.sprint.user,model_project_sprint,project.group_project_user,1,1,1,1 @@ -62,4 +79,14 @@ access_project_deployment_log_user,access.project.deployment.log.user,model_proj access_project_maintenance_support_user,access.project.maintenance.support.user,model_project_maintenance_support,base.group_user,1,1,1,1 -access_project_closure_document_user,access.project.closure.document.user,model_project_closure_document,base.group_user,1,1,1,1 \ No newline at end of file +access_project_closure_document_user,access.project.closure.document.user,model_project_closure_document,base.group_user,1,1,1,1 + + +access_project_external_cost_user,project.external.cost.user,model_project_external_cost,base.group_user,1,1,1,0 +access_project_external_cost_manager,project.external.cost.manager,model_project_external_cost,project.group_project_manager,1,1,1,1 +access_project_external_cost_wizard_user,project.external.cost.wizard.user,model_project_external_cost_wizard,base.group_user,1,1,1,0 +access_project_external_cost_wizard_manager,project.external.cost.wizard.manager,model_project_external_cost_wizard,project.group_project_manager,1,1,1,1 +access_project_resource_actual_cost_user,project.resource.actual.cost.user,model_project_resource_actual_cost,base.group_user,1,0,0,0 +access_project_resource_actual_cost_manager,project.resource.actual.cost.manager,model_project_resource_actual_cost,project.group_project_manager,1,1,1,1 +access_project_resource_contract_period_user,project.resource.contract.period.user,model_project_resource_contract_period,base.group_user,1,0,0,0 +access_project_resource_contract_period_manager,project.resource.contract.period.manager,model_project_resource_contract_period,project.group_project_manager,1,1,1,1 diff --git a/addons_extensions/project_task_timesheet_extended/view/maintenance_support.xml b/addons_extensions/project_task_timesheet_extended/view/maintenance_support.xml index ec22f7d2a..57874ee7e 100644 --- a/addons_extensions/project_task_timesheet_extended/view/maintenance_support.xml +++ b/addons_extensions/project_task_timesheet_extended/view/maintenance_support.xml @@ -31,14 +31,15 @@ create="true" mode="list,form"> - - - + + + -
+ - - + + +
diff --git a/addons_extensions/project_task_timesheet_extended/view/project.xml b/addons_extensions/project_task_timesheet_extended/view/project.xml index 78a9c0155..9c54f868d 100644 --- a/addons_extensions/project_task_timesheet_extended/view/project.xml +++ b/addons_extensions/project_task_timesheet_extended/view/project.xml @@ -13,6 +13,10 @@ + + 0 + + @@ -39,29 +43,37 @@ + + + + + + + + +
+

+ +

+ +
+ + + + + + + + + + + + + +
+

Budget Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Performance Metrics

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + project.portfolio.kanban + project.portfolio + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+
+ +
+
+ + +
+ +
+ + +
+ +
+ + + + Projects + +
+ +
+ + + Est: ₹ + + +
+ +
+ + + Client: ₹ + + +
+ +
+ + + ROI:% + +
+
+
+
+
+
+
+
+ + + + project.portfolio.employee.performance.list + project.portfolio.employee.performance + + + + + + + + + + + + + + + + + + + project.portfolio.employee.performance.search + project.portfolio.employee.performance + + + + + + + + + + + + + + + + + + + project.portfolio.dashboard.graph.budget + project.portfolio.dashboard + + + + + + + + + + + + project.portfolio.dashboard.graph.variance + project.portfolio.dashboard + + + + + + + + + + + project.portfolio.dashboard.graph.cost + project.portfolio.dashboard + + + + + + + + + + + project.portfolio.dashboard.graph.performance + project.portfolio.dashboard + + + + + + + + + + project.portfolio.employee.performance.graph + project.portfolio.employee.performance + + + + + + + + + + + + + Project Portfolios + project.portfolio + list,kanban,form + +

+ Create your first portfolio +

+
+
+ + + Employee Performance + project.portfolio.employee.performance + list,graph,pivot + + {'search_default_group_by_employee': 1} + + + + + + + + + + + + project.project.form.inherit.portfolio + project.project + + + + + + + + + + + + + + + + + + + + + + project.portfolio.budget.overview.list + project.portfolio.budget.overview + + + + + + + + + + + + + + + + project.portfolio.budget.overview.graph + project.portfolio.budget.overview + + + + + + + + + + + + + Budget Overview + project.portfolio.budget.overview + list,graph,pivot + {'search_default_group_by_project': 1} + + + Project Dashboard + project.portfolio.dashboard + graph,pivot + {'search_default_group_by_project': 1} + + + + + + + + + + \ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/view/project_roles_master.xml b/addons_extensions/project_task_timesheet_extended/view/project_roles_master.xml index fba7ed26a..cf23c23ab 100644 --- a/addons_extensions/project_task_timesheet_extended/view/project_roles_master.xml +++ b/addons_extensions/project_task_timesheet_extended/view/project_roles_master.xml @@ -37,7 +37,7 @@

- +

@@ -139,15 +139,12 @@ - + parent="project.menu_project_config" + sequence="100"/> + diff --git a/addons_extensions/project_task_timesheet_extended/view/project_task.xml b/addons_extensions/project_task_timesheet_extended/view/project_task.xml index 01f454d1e..284290dbc 100644 --- a/addons_extensions/project_task_timesheet_extended/view/project_task.xml +++ b/addons_extensions/project_task_timesheet_extended/view/project_task.xml @@ -1,7 +1,17 @@ - + + project.task.kanban.inherit + project.task + + + + + + + + project.task.form.inherit project.task @@ -14,6 +24,29 @@ THIS TASK IS CURRENTLY PAUSED + + [('id', 'in', assignee_domain_ids)] + + + + { + 'default_task_id': id, + 'default_employee_id': False + } + + + + + [('id', 'in', parent.allowed_employee_ids)] + + + + + + + +

diff --git a/addons_extensions/project_task_timesheet_extended/view/teams.xml b/addons_extensions/project_task_timesheet_extended/view/teams.xml index 1a0bd6635..2c5d02170 100644 --- a/addons_extensions/project_task_timesheet_extended/view/teams.xml +++ b/addons_extensions/project_task_timesheet_extended/view/teams.xml @@ -123,6 +123,7 @@ Internal Teams internal.teams form + [('parent_id', '=', False)] list,form
diff --git a/addons_extensions/project_task_timesheet_extended/wizards/__init__.py b/addons_extensions/project_task_timesheet_extended/wizards/__init__.py index 3019c3d49..bdeb29660 100644 --- a/addons_extensions/project_task_timesheet_extended/wizards/__init__.py +++ b/addons_extensions/project_task_timesheet_extended/wizards/__init__.py @@ -2,4 +2,5 @@ from . import project_user_assign_wizard from . import roles_user_assign_wizard from . import internal_team_members_wizard from . import project_stage_update_wizard -from . import task_reject_reason_wizard \ No newline at end of file +from . import task_reject_reason_wizard +from . import project_cancel_hold_wizard diff --git a/addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.py b/addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.py new file mode 100644 index 000000000..f4a86cef0 --- /dev/null +++ b/addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.py @@ -0,0 +1,30 @@ +from odoo import models, fields + + +class ProjectCancelHoldWizard(models.TransientModel): + _name = 'project.cancel.hold.wizard' + _description = 'Project Cancel / Hold Wizard' + + + project_id = fields.Many2one('project.project', required=True) + action_type = fields.Selection([ + ('cancel', 'Cancel'), + ('hold', 'Hold'), + ], required=True) + + + reason = fields.Text(string="Reason", required=True) + + + def action_confirm(self): + for wizard in self: + if wizard.action_type == 'cancel': + wizard.project_id.sudo().write({ + 'project_state': 'cancel', + 'cancel_reason': f"{wizard.reason}", + }) + else: + wizard.project_id.sudo().write({ + 'project_state': 'hold', + 'hold_reason': f"{wizard.reason}", + }) \ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.xml b/addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.xml new file mode 100644 index 000000000..98f1d43ec --- /dev/null +++ b/addons_extensions/project_task_timesheet_extended/wizards/project_cancel_hold_wizard.xml @@ -0,0 +1,35 @@ + + + + project.cancel.hold.wizard.form + project.cancel.hold.wizard + +
+ + + + + +
+
+ +
+
+
+ + Cancel Project + project.cancel.hold.wizard + form + new + + + + + Hold Project + project.cancel.hold.wizard + form + new + +
\ No newline at end of file diff --git a/addons_extensions/project_task_timesheet_extended/wizards/project_stage_update_wizard.py b/addons_extensions/project_task_timesheet_extended/wizards/project_stage_update_wizard.py index 69347adb0..abed6768e 100644 --- a/addons_extensions/project_task_timesheet_extended/wizards/project_stage_update_wizard.py +++ b/addons_extensions/project_task_timesheet_extended/wizards/project_stage_update_wizard.py @@ -15,7 +15,7 @@ class ProjectStageUpdateWizard(models.TransientModel): ('project_lead', 'Project Lead / Manager') ], readonly=False) fold = fields.Boolean(string='Folded in Kanban', readonly=False) - involved_user_ids = fields.Many2many('res.users', domain="[('id','in',related_user_ids)]") + involved_user_ids = fields.Many2many('res.users') related_user_ids = fields.Many2many(related="team_id.all_members_ids") @@ -24,7 +24,8 @@ class ProjectStageUpdateWizard(models.TransientModel): def onchange_team_id(self): for rec in self: if rec.team_id and rec.team_id.all_members_ids: - rec.involved_user_ids = [(6,0,rec.team_id.all_members_ids.ids)] + if rec.team_id != rec.stage_id.team_id: + rec.involved_user_ids = [(6,0,rec.team_id.all_members_ids.ids)] else: rec.involved_user_ids = [(5, 0)] @@ -35,7 +36,7 @@ class ProjectStageUpdateWizard(models.TransientModel): old_stage = self.stage_id # Check if stage with same properties exists - existing_stage = self.env['project.task.type'].search([ + stages = self.env['project.task.type'].search([ ('name', '=', self.name), ('team_id', '=', self.team_id.id), ('approval_by', '=', self.approval_by), @@ -43,8 +44,16 @@ class ProjectStageUpdateWizard(models.TransientModel): ('involved_user_ids','=',self.involved_user_ids.ids) ], limit=1) + existing_stage = stages.filtered( + lambda s: set(s.involved_user_ids.ids) == set(self.involved_user_ids.ids) + )[:1] + if existing_stage: + existing_stage.sudo().write({ + 'project_ids': [(4, self.project_id.id)] + }) new_stage = existing_stage + else: # Instead of copy(), create a clean new record without '(copy)' new_stage = self.env['project.task.type'].create({ @@ -53,7 +62,8 @@ class ProjectStageUpdateWizard(models.TransientModel): 'approval_by': self.approval_by , 'fold': self.fold, 'sequence': old_stage.sequence, # optional: keep same order - 'involved_user_ids': [(6,0,self.involved_user_ids.ids)] + 'involved_user_ids': [(6,0,self.involved_user_ids.ids)], + 'project_ids':[(6,0,self.project_id.ids)] }) # If new_stage is different from old_stage → update references @@ -61,6 +71,9 @@ class ProjectStageUpdateWizard(models.TransientModel): # Update project type_ids type_ids = project.type_ids.ids if old_stage.id in type_ids: + old_stage.sudo().write({ + 'project_ids':[(3,self.project_id.id)] + }) type_ids.remove(old_stage.id) if new_stage.id not in type_ids: type_ids.append(new_stage.id)

;$-ia-?f?6q5c{J;D^Ep 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